From ac446c2e41d7eceda5dea6596a8b08a2a50a9a85 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Sun, 27 Oct 2019 10:09:43 +0100 Subject: Add getCellText for GtkSheet --- src/Gtk/Widgets/Sheet/Internal.dcl | 3 +++ src/Gtk/Widgets/Sheet/Internal.icl | 13 +++++++++++++ 2 files changed, 16 insertions(+) (limited to 'src/Gtk/Widgets/Sheet') diff --git a/src/Gtk/Widgets/Sheet/Internal.dcl b/src/Gtk/Widgets/Sheet/Internal.dcl index aabe093..e4db124 100644 --- a/src/Gtk/Widgets/Sheet/Internal.dcl +++ b/src/Gtk/Widgets/Sheet/Internal.dcl @@ -1,5 +1,7 @@ definition module Gtk.Widgets.Sheet.Internal +from StdMaybe import :: Maybe + from System._Pointer import :: Pointer gtk_sheet_new :: !Int !Int !String !.a -> (!Pointer, !.a) @@ -26,6 +28,7 @@ gtk_sheet_columns_set_sensitivity :: !Pointer !Bool !.a -> .a gtk_sheet_cell_clear :: !Pointer !Int !Int !.a -> .a gtk_sheet_cell_delete :: !Pointer !Int !Int !.a -> .a +gtk_sheet_cell_get_text :: !Pointer !Int !Int !.a -> (!Maybe String, !.a) gtk_sheet_get_active_cell :: !Pointer !.a -> (!(!Int, !Int), !.a) gtk_sheet_set_active_cell :: !Pointer !Int !Int !.a -> .a gtk_sheet_set_cell_text :: !Pointer !Int !Int !String !.a -> .a 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" -- cgit v1.2.3