summaryrefslogtreecommitdiff
path: root/src/Gtk/Widgets/Sheet.dcl
blob: 781cdd930d0187178d3618b0c1581d84c3734561 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
definition module Gtk.Widgets.Sheet

/**
 * This module provides support for GtkSheet; a spreadsheet widget. See
 * https://fpaquet.github.io/gtksheet/ for more details and installation
 * instructions. Use the 'Gtk with GtkSheet' environment.
 */

from Gtk.State import :: GtkM
from Gtk.Tune import class tune
from Gtk.Types import :: GtkCSSClass
from Gtk.Widgets import
	class gtkWidget, :: GtkWidget,
	class gtkContainer, :: GtkContainer

import Gtk.Widgets.Sheet.Signal

:: GtkSheet

instance gtkWidget GtkSheet
instance gtkContainer GtkSheet

newSheet :: !Int !Int !String -> GtkM GtkSheet
whileFrozen :: !(GtkM a) !GtkSheet -> GtkM a

ensureDimensions :: !Int !Int !GtkSheet -> GtkM GtkSheet

setColumnTitle :: !Int !String !GtkSheet -> GtkM GtkSheet
setRowTitle :: !Int !String !GtkSheet -> GtkM GtkSheet
setCellText :: !Int !Int !String !GtkSheet -> GtkM GtkSheet
setCSSClassForRange :: !GtkCSSClass !(!Int,!Int) !(!Int,!Int) !GtkSheet -> GtkM GtkSheet

getActiveCell :: !GtkSheet -> GtkM (Maybe (Int,Int))
setActiveCell :: !Int !Int !GtkSheet -> GtkM GtkSheet

:: GtkSheetColumnResizability
	= ColumnsResizable
	| ColumnsFixedSize

:: GtkSheetColumnSensitity
	= ColumnsSensitive
	| ColumnsInsensitive

:: GtkSheetRowResizability
	= RowsResizable
	| RowsFixedSize

:: GtkSheetRowSensitity
	= RowsSensitive
	| RowsInsensitive

instance tune
	GtkSheet GtkSheetColumnResizability,
	GtkSheet GtkSheetColumnSensitity,
	GtkSheet GtkSheetRowResizability,
	GtkSheet GtkSheetRowSensitity