diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Gtk/Internal.dcl | 4 | ||||
-rw-r--r-- | src/Gtk/Internal.icl | 20 | ||||
-rw-r--r-- | src/Gtk/Types.dcl | 9 | ||||
-rw-r--r-- | src/Gtk/Types.icl | 8 | ||||
-rw-r--r-- | src/Gtk/Widgets.dcl | 5 | ||||
-rw-r--r-- | src/Gtk/Widgets.icl | 8 |
6 files changed, 53 insertions, 1 deletions
diff --git a/src/Gtk/Internal.dcl b/src/Gtk/Internal.dcl index ba30123..c07b71a 100644 --- a/src/Gtk/Internal.dcl +++ b/src/Gtk/Internal.dcl @@ -38,6 +38,10 @@ gtk_text_view_new :: !.a -> (!Pointer, !.a) gtk_text_view_get_buffer :: !Pointer -> Pointer gtk_text_view_set_editable :: !Pointer !Bool !.a -> .a +gtk_widget_set_margin_bottom :: !Pointer !Int !.a -> .a +gtk_widget_set_margin_left :: !Pointer !Int !.a -> .a +gtk_widget_set_margin_right :: !Pointer !Int !.a -> .a +gtk_widget_set_margin_top :: !Pointer !Int !.a -> .a gtk_widget_set_size_request :: !Pointer !Int !Int !.a -> .a gtk_widget_show :: !Pointer !.a -> .a diff --git a/src/Gtk/Internal.icl b/src/Gtk/Internal.icl index 5b49160..24e22cb 100644 --- a/src/Gtk/Internal.icl +++ b/src/Gtk/Internal.icl @@ -143,6 +143,26 @@ gtk_text_view_set_editable text_view setting env = code { ccall gtk_text_view_set_editable "pI:V:A" } +gtk_widget_set_margin_bottom :: !Pointer !Int !.a -> .a +gtk_widget_set_margin_bottom widget padding env = code { + ccall gtk_widget_set_margin_bottom "pI:V:A" +} + +gtk_widget_set_margin_left :: !Pointer !Int !.a -> .a +gtk_widget_set_margin_left widget padding env = code { + ccall gtk_widget_set_margin_left "pI:V:A" +} + +gtk_widget_set_margin_right :: !Pointer !Int !.a -> .a +gtk_widget_set_margin_right widget padding env = code { + ccall gtk_widget_set_margin_right "pI:V:A" +} + +gtk_widget_set_margin_top :: !Pointer !Int !.a -> .a +gtk_widget_set_margin_top widget padding env = code { + ccall gtk_widget_set_margin_top "pI:V:A" +} + gtk_widget_set_size_request :: !Pointer !Int !Int !.a -> .a gtk_widget_set_size_request widget hsize vsize env = code { ccall gtk_widget_set_size_request "pII:V:A" diff --git a/src/Gtk/Types.dcl b/src/Gtk/Types.dcl index 5339bc3..b51f80e 100644 --- a/src/Gtk/Types.dcl +++ b/src/Gtk/Types.dcl @@ -12,6 +12,15 @@ definition module Gtk.Types = Label !String | NoLabel +:: GtkMargins = + { left :: !Int + , top :: !Int + , right :: !Int + , bottom :: !Int + } + +margin :: !Int -> GtkMargins + :: GtkOrientation = Horizontal | Vertical diff --git a/src/Gtk/Types.icl b/src/Gtk/Types.icl index 55b6e28..aa03391 100644 --- a/src/Gtk/Types.icl +++ b/src/Gtk/Types.icl @@ -1 +1,9 @@ implementation module Gtk.Types + +margin :: !Int -> GtkMargins +margin n = + { left = n + , top = n + , right = n + , bottom = n + } diff --git a/src/Gtk/Widgets.dcl b/src/Gtk/Widgets.dcl index 03b56b7..791796e 100644 --- a/src/Gtk/Widgets.dcl +++ b/src/Gtk/Widgets.dcl @@ -6,7 +6,8 @@ from System._Pointer import :: Pointer from Gtk.State import :: State, :: StateT, :: Identity, :: GtkState from Gtk.Types import :: GtkDirection, :: GtkExpand, :: GtkLabel, - :: GtkOrientation, :: GtkPanedHandleWidth, :: GtkResize, :: GtkShrink + :: GtkMargins, :: GtkOrientation, :: GtkPanedHandleWidth, :: GtkResize, + :: GtkShrink class ptr a :: !a -> Pointer @@ -17,6 +18,8 @@ class gtkWidget a :: !a -> GtkWidget instance gtkWidget GtkWidget instance ptr GtkWidget +setMargins :: !GtkMargins !w -> State GtkState () | gtkWidget w + :: GtkContainer class gtkContainer a :: !a -> GtkContainer diff --git a/src/Gtk/Widgets.icl b/src/Gtk/Widgets.icl index d9f7a59..1a56764 100644 --- a/src/Gtk/Widgets.icl +++ b/src/Gtk/Widgets.icl @@ -19,6 +19,14 @@ import Gtk.Types instance gtkWidget GtkWidget where gtkWidget w = w instance ptr GtkWidget where ptr w = w +setMargins :: !GtkMargins !w -> State GtkState () | gtkWidget w +setMargins {left,top,right,bottom} widget` = + let widget = gtkWidget widget` in + toState ('I'.gtk_widget_set_margin_left widget left) >>| + toState ('I'.gtk_widget_set_margin_top widget top) >>| + toState ('I'.gtk_widget_set_margin_right widget right) >>| + toState ('I'.gtk_widget_set_margin_bottom widget bottom) + show :: !w -> State GtkState w | gtkWidget w show widget = toState ('I'.gtk_widget_show (gtkWidget widget)) >>| pure widget |