summaryrefslogtreecommitdiff
path: root/src/Gtk/Widgets.icl
diff options
context:
space:
mode:
authorCamil Staps2019-10-24 10:21:16 +0200
committerCamil Staps2019-10-24 10:21:16 +0200
commit5756df53b06d35707d2af742f71cb81a40c4a032 (patch)
tree98208e4bd37d037641bd2b6515341c12cc12bfbd /src/Gtk/Widgets.icl
parentAdd GtkJustification for columns of GtkSheet (diff)
Add setMarkup for GtkTextBuffer
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