diff options
Diffstat (limited to 'src/Gtk/Widgets/Sheet')
-rw-r--r-- | src/Gtk/Widgets/Sheet/Internal.dcl | 3 | ||||
-rw-r--r-- | src/Gtk/Widgets/Sheet/Internal.icl | 13 |
2 files changed, 16 insertions, 0 deletions
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" |