diff options
author | Camil Staps | 2019-10-21 19:59:33 +0200 |
---|---|---|
committer | Camil Staps | 2019-10-21 19:59:33 +0200 |
commit | d23e852b6f4d29f88a859c3180b9cd7e14b5dad7 (patch) | |
tree | 8cd777c4ff59b89601a56b49b1076627c8ea3a33 /src/Gtk/Widgets | |
parent | Simplify tuning (diff) |
Add tune instances to set row/column resizability/sensitivity on GtkSheet
Diffstat (limited to 'src/Gtk/Widgets')
-rw-r--r-- | src/Gtk/Widgets/Sheet.dcl | 23 | ||||
-rw-r--r-- | src/Gtk/Widgets/Sheet.icl | 24 | ||||
-rw-r--r-- | src/Gtk/Widgets/Sheet/Internal.dcl | 4 | ||||
-rw-r--r-- | src/Gtk/Widgets/Sheet/Internal.icl | 20 |
4 files changed, 71 insertions, 0 deletions
diff --git a/src/Gtk/Widgets/Sheet.dcl b/src/Gtk/Widgets/Sheet.dcl index a567276..88197ef 100644 --- a/src/Gtk/Widgets/Sheet.dcl +++ b/src/Gtk/Widgets/Sheet.dcl @@ -1,6 +1,7 @@ definition module Gtk.Widgets.Sheet from Gtk.State import :: State, :: StateT, :: Identity, :: GtkState, :: GtkM +from Gtk.Tune import class tune from Gtk.Widgets import class gtkWidget, :: GtkWidget, class gtkContainer, :: GtkContainer @@ -11,3 +12,25 @@ instance gtkWidget GtkSheet instance gtkContainer GtkSheet newSheet :: !Int !Int !String -> GtkM GtkSheet + +:: GtkSheetColumnResizability + = ColumnsResizable + | ColumnsFixedSize + +:: GtkSheetColumnSensitity + = ColumnsSensitive + | ColumnsInsensitive + +:: GtkSheetRowResizability + = RowsResizable + | RowsFixedSize + +:: GtkSheetRowSensitity + = RowsSensitive + | RowsInsensitive + +instance tune + GtkSheet GtkSheetColumnResizability, + GtkSheet GtkSheetColumnSensitity, + GtkSheet GtkSheetRowResizability, + GtkSheet GtkSheetRowSensitity diff --git a/src/Gtk/Widgets/Sheet.icl b/src/Gtk/Widgets/Sheet.icl index 9d8a50c..fe3eb93 100644 --- a/src/Gtk/Widgets/Sheet.icl +++ b/src/Gtk/Widgets/Sheet.icl @@ -22,3 +22,27 @@ instance gtkContainer GtkSheet where gtkContainer s = fromPtr s newSheet :: !Int !Int !String -> GtkM GtkSheet newSheet nrows ncols title = toStateR ('I'.gtk_sheet_new nrows ncols title) >>= show + +instance tune GtkSheet GtkSheetColumnResizability +where + tune setting sheet = + toState ('I'.gtk_sheet_columns_set_resizable sheet setting=:ColumnsResizable) >>| + pure sheet + +instance tune GtkSheet GtkSheetColumnSensitity +where + tune setting sheet = + toState ('I'.gtk_sheet_columns_set_sensitivity sheet setting=:ColumnsSensitive) >>| + pure sheet + +instance tune GtkSheet GtkSheetRowResizability +where + tune setting sheet = + toState ('I'.gtk_sheet_rows_set_resizable sheet setting=:RowsResizable) >>| + pure sheet + +instance tune GtkSheet GtkSheetRowSensitity +where + tune setting sheet = + toState ('I'.gtk_sheet_rows_set_sensitivity sheet setting=:RowsSensitive) >>| + pure sheet diff --git a/src/Gtk/Widgets/Sheet/Internal.dcl b/src/Gtk/Widgets/Sheet/Internal.dcl index b356f5b..05f798c 100644 --- a/src/Gtk/Widgets/Sheet/Internal.dcl +++ b/src/Gtk/Widgets/Sheet/Internal.dcl @@ -2,4 +2,8 @@ definition module Gtk.Widgets.Sheet.Internal from System._Pointer import :: Pointer +gtk_sheet_columns_set_resizable :: !Pointer !Bool !.a -> .a +gtk_sheet_columns_set_sensitivity :: !Pointer !Bool !.a -> .a gtk_sheet_new :: !Int !Int !String !.a -> (!Pointer, !.a) +gtk_sheet_rows_set_resizable :: !Pointer !Bool !.a -> .a +gtk_sheet_rows_set_sensitivity :: !Pointer !Bool !.a -> .a diff --git a/src/Gtk/Widgets/Sheet/Internal.icl b/src/Gtk/Widgets/Sheet/Internal.icl index e0df1e5..4fcb3d9 100644 --- a/src/Gtk/Widgets/Sheet/Internal.icl +++ b/src/Gtk/Widgets/Sheet/Internal.icl @@ -2,6 +2,16 @@ implementation module Gtk.Widgets.Sheet.Internal import System._Pointer +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_new :: !Int !Int !String !.a -> (!Pointer, !.a) gtk_sheet_new rows cols title env = new rows cols (packString title) env where @@ -9,3 +19,13 @@ where new _ _ _ _ = code { ccall gtk_sheet_new "IIs:p: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" +} |