summaryrefslogtreecommitdiff
path: root/src/Gtk/Widgets
diff options
context:
space:
mode:
authorCamil Staps2019-10-29 19:39:01 +0100
committerCamil Staps2019-10-29 19:39:01 +0100
commitbdcf8597b53f3157e351f4270c8bd60eccd8eac9 (patch)
tree95229254c0013e05b2de37e42e117cdab4aa70ed /src/Gtk/Widgets
parentAdd grabFocus (diff)
Add functions to set/check row visibility of GtkSheets
Diffstat (limited to 'src/Gtk/Widgets')
-rw-r--r--src/Gtk/Widgets/Sheet.dcl2
-rw-r--r--src/Gtk/Widgets/Sheet.icl8
-rw-r--r--src/Gtk/Widgets/Sheet/Internal.dcl2
-rw-r--r--src/Gtk/Widgets/Sheet/Internal.icl10
4 files changed, 22 insertions, 0 deletions
diff --git a/src/Gtk/Widgets/Sheet.dcl b/src/Gtk/Widgets/Sheet.dcl
index f2ec4d1..a3bc2ad 100644
--- a/src/Gtk/Widgets/Sheet.dcl
+++ b/src/Gtk/Widgets/Sheet.dcl
@@ -40,6 +40,8 @@ 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
diff --git a/src/Gtk/Widgets/Sheet.icl b/src/Gtk/Widgets/Sheet.icl
index f8ecabe..521e3ee 100644
--- a/src/Gtk/Widgets/Sheet.icl
+++ b/src/Gtk/Widgets/Sheet.icl
@@ -82,6 +82,14 @@ setRangeEditable setting top_left bottom_right sheet=:(GtkSheet s) =
toState (gtk_sheet_range_set_editable s top_left bottom_right setting) >>|
pure sheet
+setRowVisibility :: !Bool !Int !GtkSheet -> GtkM GtkSheet
+setRowVisibility setting row sheet=:(GtkSheet s) =
+ toState (gtk_sheet_row_set_visibility s row setting) >>|
+ pure sheet
+
+isRowVisible :: !Int !GtkSheet -> GtkM Bool
+isRowVisible row (GtkSheet s) = toStateR (gtk_sheet_row_visible s row)
+
getActiveCell :: !GtkSheet -> GtkM (Maybe (Int,Int))
getActiveCell (GtkSheet s) =
toStateR (gtk_sheet_get_active_cell s) >>= \cell=:(row,col)
diff --git a/src/Gtk/Widgets/Sheet/Internal.dcl b/src/Gtk/Widgets/Sheet/Internal.dcl
index e4db124..f765427 100644
--- a/src/Gtk/Widgets/Sheet/Internal.dcl
+++ b/src/Gtk/Widgets/Sheet/Internal.dcl
@@ -14,8 +14,10 @@ gtk_sheet_insert_rows :: !Pointer !Int !Int !.a -> .a
gtk_sheet_delete_rows :: !Pointer !Int !Int !.a -> .a
gtk_sheet_get_rows_count :: !Pointer !.a -> (!Int, !.a)
gtk_sheet_row_button_add_label :: !Pointer !Int !String !.a -> .a
+gtk_sheet_row_set_visibility :: !Pointer !Int !Bool !.a -> .a
gtk_sheet_rows_set_resizable :: !Pointer !Bool !.a -> .a
gtk_sheet_rows_set_sensitivity :: !Pointer !Bool !.a -> .a
+gtk_sheet_row_visible :: !Pointer !Int !.a -> (!Bool, !.a)
gtk_sheet_add_columns :: !Pointer !Int !.a -> .a
gtk_sheet_insert_columns :: !Pointer !Int !Int !.a -> .a
diff --git a/src/Gtk/Widgets/Sheet/Internal.icl b/src/Gtk/Widgets/Sheet/Internal.icl
index b3f9110..c57da52 100644
--- a/src/Gtk/Widgets/Sheet/Internal.icl
+++ b/src/Gtk/Widgets/Sheet/Internal.icl
@@ -51,6 +51,11 @@ where
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 "pII: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"
@@ -61,6 +66,11 @@ 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"