summaryrefslogtreecommitdiff
path: root/src/Gtk/Widgets/Sheet/Internal.icl
diff options
context:
space:
mode:
authorCamil Staps2019-10-27 10:09:43 +0100
committerCamil Staps2019-10-27 10:09:43 +0100
commitac446c2e41d7eceda5dea6596a8b08a2a50a9a85 (patch)
tree1ba8a99d2364f49a172d3a1e0ff43d0045940e97 /src/Gtk/Widgets/Sheet/Internal.icl
parentAdd DeactivateHandler for GtkSheet (diff)
Add getCellText for GtkSheet
Diffstat (limited to 'src/Gtk/Widgets/Sheet/Internal.icl')
-rw-r--r--src/Gtk/Widgets/Sheet/Internal.icl13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/Gtk/Widgets/Sheet/Internal.icl b/src/Gtk/Widgets/Sheet/Internal.icl
index e7746a1..b3f9110 100644
--- a/src/Gtk/Widgets/Sheet/Internal.icl
+++ b/src/Gtk/Widgets/Sheet/Internal.icl
@@ -1,6 +1,7 @@
implementation module Gtk.Widgets.Sheet.Internal
import StdEnv
+import StdMaybe
import System._Pointer
@@ -113,6 +114,18 @@ gtk_sheet_cell_delete sheet row col env = code {
ccall gtk_sheet_cell_delete "GpII:V:A"
}
+gtk_sheet_cell_get_text :: !Pointer !Int !Int !.a -> (!Maybe String, !.a)
+gtk_sheet_cell_get_text sheet row col env
+ # (content,env) = get sheet row col env
+ | content == 0 = (Nothing, env)
+ # (content_string,content) = readP derefString content
+ = (Just content_string, env)
+where
+ get :: !Pointer !Int !Int !.a -> (!Pointer, !.a)
+ get _ _ _ _ = code {
+ ccall gtk_sheet_cell_get_text "pII:p:A"
+ }
+
gtk_sheet_get_active_cell :: !Pointer !.a -> (!(!Int, !Int), !.a)
gtk_sheet_get_active_cell sheet env = code {
ccall gtk_sheet_get_active_cell "p:VII:A"