summaryrefslogtreecommitdiff
path: root/src/Gtk/Widgets.icl
diff options
context:
space:
mode:
Diffstat (limited to 'src/Gtk/Widgets.icl')
-rw-r--r--src/Gtk/Widgets.icl23
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