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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
|
implementation module Gtk.Widgets.Sheet.Internal
import StdEnv
import StdMaybe
import System._Pointer
gtk_sheet_new :: !Int !Int !String !.a -> (!Pointer, !.a)
gtk_sheet_new rows cols title env = new rows cols (packString title) env
where
new :: !Int !Int !String !.a -> (!Pointer, !.a)
new _ _ _ _ = code {
ccall gtk_sheet_new "IIs:p:A"
}
gtk_sheet_get_entry :: !Pointer !.a -> (!Pointer, !.a)
gtk_sheet_get_entry sheet env = code {
ccall gtk_sheet_get_entry "p:p:A"
}
gtk_sheet_freeze :: !Pointer !.a -> .a
gtk_sheet_freeze sheet env = code {
ccall gtk_sheet_freeze "p:V:A"
}
gtk_sheet_unfreeze :: !Pointer !.a -> .a
gtk_sheet_unfreeze sheet env = code {
ccall gtk_sheet_thaw "Gp:V:A"
}
gtk_sheet_add_rows :: !Pointer !Int !.a -> .a
gtk_sheet_add_rows sheet nrows env = code {
ccall gtk_sheet_add_row "pI:V:A"
}
gtk_sheet_insert_rows :: !Pointer !Int !Int !.a -> .a
gtk_sheet_insert_rows sheet before nrows env = code {
ccall gtk_sheet_insert_row "pII:V:A"
}
gtk_sheet_delete_rows :: !Pointer !Int !Int !.a -> .a
gtk_sheet_delete_rows sheet start nrows env = code {
ccall gtk_sheet_delete_rows "pII:V:A"
}
gtk_sheet_get_rows_count :: !Pointer !.a -> (!Int, !.a)
gtk_sheet_get_rows_count sheet env = code {
ccall gtk_sheet_get_rows_count "p:I:A"
}
gtk_sheet_row_button_add_label :: !Pointer !Int !String !.a -> .a
gtk_sheet_row_button_add_label sheet col title env = set sheet col (packString title) env
where
set :: !Pointer !Int !String !.a -> .a
set _ _ _ _ = code {
ccall gtk_sheet_row_button_add_label "pIs:V:A"
}
gtk_sheet_row_set_visibility :: !Pointer !Int !Bool !.a -> .a
gtk_sheet_row_set_visibility sheet row setting env = code {
ccall gtk_sheet_row_set_visibility "GpII:V:A"
}
gtk_sheet_rows_set_resizable :: !Pointer !Bool !.a -> .a
gtk_sheet_rows_set_resizable sheet setting env = code {
ccall gtk_sheet_rows_set_resizable "pI:V:A"
}
gtk_sheet_rows_set_sensitivity :: !Pointer !Bool !.a -> .a
gtk_sheet_rows_set_sensitivity sheet setting env = code {
ccall gtk_sheet_rows_set_sensitivity "pI:V:A"
}
gtk_sheet_row_visible :: !Pointer !Int !.a -> (!Bool, !.a)
gtk_sheet_row_visible sheet row env = code {
ccall gtk_sheet_row_visible "pI:I:A"
}
gtk_sheet_add_columns :: !Pointer !Int !.a -> .a
gtk_sheet_add_columns sheet ncolumns env = code {
ccall gtk_sheet_add_column "pI:V:A"
}
gtk_sheet_insert_columns :: !Pointer !Int !Int !.a -> .a
gtk_sheet_insert_columns sheet before ncolumns env = code {
ccall gtk_sheet_insert_column "pII:V:A"
}
gtk_sheet_delete_columns :: !Pointer !Int !Int !.a -> .a
gtk_sheet_delete_columns sheet start ncolumns env = code {
ccall gtk_sheet_delete_columns "pII:V:A"
}
gtk_sheet_get_columns_count :: !Pointer !.a -> (!Int, !.a)
gtk_sheet_get_columns_count sheet env = code {
ccall gtk_sheet_get_columns_count "p:I:A"
}
gtk_sheet_set_column_title :: !Pointer !Int !String !.a -> .a
gtk_sheet_set_column_title sheet col title env = set sheet col (packString title) env
where
set :: !Pointer !Int !String !.a -> .a
set _ _ _ _ = code {
ccall gtk_sheet_set_column_title "pIs:V:A"
}
gtk_sheet_column_set_justification :: !Pointer !Int !Int !.a -> .a
gtk_sheet_column_set_justification sheet col setting env = code {
ccall gtk_sheet_column_set_justification "pII:V:A"
}
gtk_sheet_columns_set_resizable :: !Pointer !Bool !.a -> .a
gtk_sheet_columns_set_resizable sheet setting env = code {
ccall gtk_sheet_columns_set_resizable "pI:V:A"
}
gtk_sheet_columns_set_sensitivity :: !Pointer !Bool !.a -> .a
gtk_sheet_columns_set_sensitivity sheet setting env = code {
ccall gtk_sheet_columns_set_sensitivity "pI:V:A"
}
gtk_sheet_cell_clear :: !Pointer !Int !Int !.a -> .a
gtk_sheet_cell_clear sheet row col env = code {
ccall gtk_sheet_cell_clear "GpII:V:A"
}
gtk_sheet_cell_delete :: !Pointer !Int !Int !.a -> .a
gtk_sheet_cell_delete sheet row col env = code {
ccall gtk_sheet_cell_delete "GpII:V:A"
}
gtk_sheet_cell_get_text :: !Pointer !Int !Int !.a -> (!Maybe String, !.a)
gtk_sheet_cell_get_text sheet row col env
# (content,env) = get sheet row col env
| content == 0 = (Nothing, env)
# (content_string,content) = readP derefString content
= (Just content_string, env)
where
get :: !Pointer !Int !Int !.a -> (!Pointer, !.a)
get _ _ _ _ = code {
ccall gtk_sheet_cell_get_text "pII:p:A"
}
gtk_sheet_get_active_cell :: !Pointer !.a -> (!(!Int, !Int), !.a)
gtk_sheet_get_active_cell sheet env = code {
ccall gtk_sheet_get_active_cell "p:VII:A"
}
gtk_sheet_set_active_cell :: !Pointer !Int !Int !.a -> .a
gtk_sheet_set_active_cell sheet row col env = code {
ccall gtk_sheet_set_active_cell "GpII:V:A"
}
gtk_sheet_set_cell_text :: !Pointer !Int !Int !String !.a -> .a
gtk_sheet_set_cell_text sheet row col text env = set sheet row col (packString text) env
where
set :: !Pointer !Int !Int !String !.a -> .a
set _ _ _ _ _ = code {
ccall gtk_sheet_set_cell_text "GpIIs:V:A"
}
gtk_sheet_range_set_css_class :: !Pointer !(!Int,!Int) !(!Int,!Int) !String !.a -> .a
gtk_sheet_range_set_css_class sheet (r1,c1) (r2,c2) cls env
# range = IF_INT_64_OR_32 {#c1<<32+r1,c2<<32+r2} {#r1,c1,r2,c2}
= set sheet (get_array_ptr range + IF_INT_64_OR_32 24 16) (packString cls) env
where
set :: !Pointer !Pointer !String !.a -> .a
set _ _ _ _ = code {
ccall gtk_sheet_range_set_css_class "pps:V:A"
}
gtk_sheet_range_set_editable :: !Pointer !(!Int,!Int) !(!Int,!Int) !Bool !.a -> .a
gtk_sheet_range_set_editable sheet (r1,c1) (r2,c2) setting env
# range = IF_INT_64_OR_32 {#c1<<32+r1,c2<<32+r2} {#r1,c1,r2,c2}
= set sheet (get_array_ptr range + IF_INT_64_OR_32 24 16) setting env
where
set :: !Pointer !Pointer !Bool !.a -> .a
set _ _ _ _ = code {
ccall gtk_sheet_range_set_editable "ppI:V:A"
}
get_array_ptr :: !{#Int} -> Pointer
get_array_ptr _ = code {
push_a_b 0
pop_a 1
}
|