summaryrefslogtreecommitdiff
path: root/src/Gtk/Widgets/Sheet.dcl
blob: a3bc2adef4c7a091d28aa841f006433c2858665a (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
57
58
59
60
61
62
63
64
65
66
67
68
69
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 StdMaybe import :: Maybe

from System._Pointer import :: Pointer

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

import Gtk.Widgets.Sheet.Signal

:: GtkSheet =: GtkSheet Pointer

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
setColumnTitles :: ![String] !GtkSheet -> GtkM GtkSheet
setRowTitle :: !Int !String !GtkSheet -> GtkM GtkSheet
setRowTitles :: ![String] !GtkSheet -> GtkM GtkSheet

setCellText :: !Int !Int !String !GtkSheet -> GtkM GtkSheet
getCellText :: !Int !Int !GtkSheet -> GtkM (Maybe String)

setColumnJustification :: !GtkJustification !Int !GtkSheet -> GtkM GtkSheet
setCSSClassForRange :: !GtkCSSClass !(!Int,!Int) !(!Int,!Int) !GtkSheet -> GtkM GtkSheet
setRangeEditable :: !Bool !(!Int,!Int) !(!Int,!Int) !GtkSheet -> GtkM GtkSheet
setRowVisibility :: !Bool !Int !GtkSheet -> GtkM GtkSheet
isRowVisible :: !Int !GtkSheet -> GtkM Bool

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