diff options
author | Camil Staps | 2019-11-01 18:41:10 +0100 |
---|---|---|
committer | Camil Staps | 2019-11-01 18:41:10 +0100 |
commit | 0497dfb79211aa1e64304fa446d230c41ca73daa (patch) | |
tree | cc29910a32b81db4430aff1a74172174039e9c25 /src/Gtk/Widgets.icl | |
parent | Remove dependency on supporting C code (diff) |
Cleanup and add documentation
Diffstat (limited to 'src/Gtk/Widgets.icl')
-rw-r--r-- | src/Gtk/Widgets.icl | 64 |
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 |