summaryrefslogtreecommitdiff
path: root/src/Gtk/Widgets.icl
diff options
context:
space:
mode:
authorCamil Staps2019-11-01 18:41:10 +0100
committerCamil Staps2019-11-01 18:41:10 +0100
commit0497dfb79211aa1e64304fa446d230c41ca73daa (patch)
treecc29910a32b81db4430aff1a74172174039e9c25 /src/Gtk/Widgets.icl
parentRemove dependency on supporting C code (diff)
Cleanup and add documentation
Diffstat (limited to 'src/Gtk/Widgets.icl')
-rw-r--r--src/Gtk/Widgets.icl64
1 files changed, 34 insertions, 30 deletions
diff --git a/src/Gtk/Widgets.icl b/src/Gtk/Widgets.icl
index 2c522d0..702ea0e 100644
--- a/src/Gtk/Widgets.icl
+++ b/src/Gtk/Widgets.icl
@@ -42,9 +42,9 @@ instance gtkWidget GtkBox where gtkWidget (GtkBox b) = GtkWidget b
instance gtkContainer GtkBox where gtkContainer (GtkBox b) = GtkContainer b
instance gtkOrientable GtkBox where gtkOrientable (GtkBox b) = GtkOrientable b
-newBox :: !GtkOrientation !Int -> GtkM GtkBox
-newBox orientation spacing =
- toStateR (gtk_box_new orientation=:Vertical spacing) >>= \b ->
+newBox :: !GtkOrientation -> GtkM GtkBox
+newBox orientation =
+ toStateR (gtk_box_new orientation=:Vertical 0) >>= \b ->
show (GtkBox b)
packBox :: !GtkBox !GtkDirection !GtkExpand !w -> GtkM w | gtkWidget w
@@ -425,19 +425,21 @@ stopSpinner spinner=:(GtkSpinner s) =
toState (gtk_spinner_stop s) >>|
pure spinner
-setText :: !String !GtkTextBuffer -> GtkM GtkTextBuffer
-setText s buffer=:(GtkTextBuffer b) =
- toState (gtk_text_buffer_set_text b s (size s)) >>|
- pure buffer
+instance tune GtkTextBuffer GtkText
+where
+ tune (Text s) buffer=:(GtkTextBuffer b) =
+ toState (gtk_text_buffer_set_text b s (size s)) >>|
+ pure buffer
-setMarkup :: !String !GtkTextBuffer -> GtkM GtkTextBuffer
-setMarkup s buffer=:(GtkTextBuffer b) =
- toStateR (gtk_text_buffer_get_start_iter b) >>= \start ->
- toStateR (gtk_text_buffer_get_end_iter b) >>= \end ->
- toState (gtk_text_buffer_delete b start end) >>|
- toStateR (gtk_text_buffer_get_start_iter b) >>= \start ->
- toState (gtk_text_buffer_insert_markup b start s) >>|
- pure buffer
+instance tune GtkTextBuffer GtkMarkup
+where
+ tune (Markup s) buffer=:(GtkTextBuffer b) =
+ toStateR (gtk_text_buffer_get_start_iter b) >>= \start ->
+ toStateR (gtk_text_buffer_get_end_iter b) >>= \end ->
+ toState (gtk_text_buffer_delete b start end) >>|
+ toStateR (gtk_text_buffer_get_start_iter b) >>= \start ->
+ toState (gtk_text_buffer_insert_markup b start s) >>|
+ pure buffer
insertAtCursor :: !String !GtkTextBuffer -> GtkM GtkTextBuffer
insertAtCursor s buffer=:(GtkTextBuffer b) =
@@ -540,27 +542,29 @@ grabFocus widget =
toState (gtk_widget_grab_focus w) >>|
pure widget
-addCSSClass :: !GtkCSSClass !w -> GtkM w | gtkWidget w
-addCSSClass (Class cls) widget =
- let (GtkWidget w) = gtkWidget widget in
- toStateR (gtk_widget_get_style_context w) >>= \context ->
- toState (gtk_style_context_add_class context cls) >>|
- pure widget
-
removeCSSClass :: !GtkCSSClass !w -> GtkM () | gtkWidget w
removeCSSClass (Class cls) widget =
let (GtkWidget w) = gtkWidget widget in
toStateR (gtk_widget_get_style_context w) >>= \context ->
toState (gtk_style_context_remove_class context cls)
-setMargins :: !GtkMargins !w -> GtkM w | gtkWidget w
-setMargins {left,top,right,bottom} widget =
- let (GtkWidget w) = gtkWidget widget in
- toState (gtk_widget_set_margin_left w left) >>|
- toState (gtk_widget_set_margin_top w top) >>|
- toState (gtk_widget_set_margin_right w right) >>|
- toState (gtk_widget_set_margin_bottom w bottom) >>|
- pure widget
+instance tune w GtkCSSClass | gtkWidget w
+where
+ tune (Class cls) widget =
+ let (GtkWidget w) = gtkWidget widget in
+ toStateR (gtk_widget_get_style_context w) >>= \context ->
+ toState (gtk_style_context_add_class context cls) >>|
+ pure widget
+
+instance tune w GtkMargins | gtkWidget w
+where
+ tune {left,top,right,bottom} widget =
+ let (GtkWidget w) = gtkWidget widget in
+ toState (gtk_widget_set_margin_left w left) >>|
+ toState (gtk_widget_set_margin_top w top) >>|
+ toState (gtk_widget_set_margin_right w right) >>|
+ toState (gtk_widget_set_margin_bottom w bottom) >>|
+ pure widget
instance tune w GtkSensitivity | gtkWidget w
where