summaryrefslogtreecommitdiff
path: root/src/Gtk/Widgets
diff options
context:
space:
mode:
Diffstat (limited to 'src/Gtk/Widgets')
-rw-r--r--src/Gtk/Widgets/Sheet.dcl23
-rw-r--r--src/Gtk/Widgets/Sheet.icl24
-rw-r--r--src/Gtk/Widgets/Sheet/Internal.dcl4
-rw-r--r--src/Gtk/Widgets/Sheet/Internal.icl20
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"
+}