diff options
Diffstat (limited to 'src/Gtk/Widgets.icl')
-rw-r--r-- | src/Gtk/Widgets.icl | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/src/Gtk/Widgets.icl b/src/Gtk/Widgets.icl index adb655e..b7e4798 100644 --- a/src/Gtk/Widgets.icl +++ b/src/Gtk/Widgets.icl @@ -200,11 +200,24 @@ stopSpinner spinner = toState (gtk_spinner_stop spinner) >>| pure spinner :: GtkTextBuffer :== Pointer -insertAtCursor :: !String !GtkTextBuffer -> GtkM () -insertAtCursor s buffer = toState (gtk_text_buffer_insert_at_cursor buffer s (size s)) - -setText :: !String !GtkTextBuffer -> GtkM () -setText s buffer = toState (gtk_text_buffer_set_text buffer s (size s)) +setText :: !String !GtkTextBuffer -> GtkM GtkTextBuffer +setText s buffer = + toState (gtk_text_buffer_set_text buffer s (size s)) >>| + pure buffer + +setMarkup :: !String !GtkTextBuffer -> GtkM GtkTextBuffer +setMarkup s buffer = + toStateR (gtk_text_buffer_get_start_iter buffer) >>= \start -> + toStateR (gtk_text_buffer_get_end_iter buffer) >>= \end -> + toState (gtk_text_buffer_delete buffer start end) >>| + toStateR (gtk_text_buffer_get_start_iter buffer) >>= \start -> + toState (gtk_text_buffer_insert_markup buffer start s) >>| + pure buffer + +insertAtCursor :: !String !GtkTextBuffer -> GtkM GtkTextBuffer +insertAtCursor s buffer = + toState (gtk_text_buffer_insert_at_cursor buffer s (size s)) >>| + pure buffer :: GtkTextView :== Pointer |