diff options
author | Camil Staps | 2019-10-25 09:00:24 +0200 |
---|---|---|
committer | Camil Staps | 2019-10-25 09:00:24 +0200 |
commit | 1937e3368754d792ef4f9580b97b910b46d890bc (patch) | |
tree | e4a1d21873e20a5a9c324dd15329ad8b534948d7 /src/Gtk/Widgets/Sheet/Internal.icl | |
parent | Add tune instance for GSignalHandler (convenience) (diff) |
Add G modifier to ccalls that may trigger GTK signals (which may cause re-entrance if there is a handler; add withPossibleCallback to save and retrieve state around such calls)
Diffstat (limited to 'src/Gtk/Widgets/Sheet/Internal.icl')
-rw-r--r-- | src/Gtk/Widgets/Sheet/Internal.icl | 28 |
1 files changed, 11 insertions, 17 deletions
diff --git a/src/Gtk/Widgets/Sheet/Internal.icl b/src/Gtk/Widgets/Sheet/Internal.icl index 9cb4a83..e7746a1 100644 --- a/src/Gtk/Widgets/Sheet/Internal.icl +++ b/src/Gtk/Widgets/Sheet/Internal.icl @@ -105,12 +105,12 @@ gtk_sheet_columns_set_sensitivity sheet setting env = code { gtk_sheet_cell_clear :: !Pointer !Int !Int !.a -> .a gtk_sheet_cell_clear sheet row col env = code { - ccall gtk_sheet_cell_clear "pII:V:A" + ccall gtk_sheet_cell_clear "GpII:V:A" } gtk_sheet_cell_delete :: !Pointer !Int !Int !.a -> .a gtk_sheet_cell_delete sheet row col env = code { - ccall gtk_sheet_cell_delete "pII:V:A" + ccall gtk_sheet_cell_delete "GpII:V:A" } gtk_sheet_get_active_cell :: !Pointer !.a -> (!(!Int, !Int), !.a) @@ -120,7 +120,7 @@ gtk_sheet_get_active_cell sheet env = code { gtk_sheet_set_active_cell :: !Pointer !Int !Int !.a -> .a gtk_sheet_set_active_cell sheet row col env = code { - ccall gtk_sheet_set_active_cell "pII:V:A" + ccall gtk_sheet_set_active_cell "GpII:V:A" } gtk_sheet_set_cell_text :: !Pointer !Int !Int !String !.a -> .a @@ -128,37 +128,31 @@ gtk_sheet_set_cell_text sheet row col text env = set sheet row col (packString t where set :: !Pointer !Int !Int !String !.a -> .a set _ _ _ _ _ = code { - ccall gtk_sheet_set_cell_text "pIIs:V:A" + ccall gtk_sheet_set_cell_text "GpIIs:V:A" } gtk_sheet_range_set_css_class :: !Pointer !(!Int,!Int) !(!Int,!Int) !String !.a -> .a gtk_sheet_range_set_css_class sheet (r1,c1) (r2,c2) cls env # range = IF_INT_64_OR_32 {#c1<<32+r1,c2<<32+r2} {#r1,c1,r2,c2} - = set sheet (get_ptr range + IF_INT_64_OR_32 24 16) (packString cls) env + = set sheet (get_array_ptr range + IF_INT_64_OR_32 24 16) (packString cls) env where set :: !Pointer !Pointer !String !.a -> .a set _ _ _ _ = code { ccall gtk_sheet_range_set_css_class "pps:V:A" } - get_ptr :: !{#Int} -> Pointer - get_ptr _ = code { - push_a_b 0 - pop_a 1 - } - gtk_sheet_range_set_editable :: !Pointer !(!Int,!Int) !(!Int,!Int) !Bool !.a -> .a gtk_sheet_range_set_editable sheet (r1,c1) (r2,c2) setting env # range = IF_INT_64_OR_32 {#c1<<32+r1,c2<<32+r2} {#r1,c1,r2,c2} - = set sheet (get_ptr range + IF_INT_64_OR_32 24 16) setting env + = set sheet (get_array_ptr range + IF_INT_64_OR_32 24 16) setting env where set :: !Pointer !Pointer !Bool !.a -> .a set _ _ _ _ = code { ccall gtk_sheet_range_set_editable "ppI:V:A" } - get_ptr :: !{#Int} -> Pointer - get_ptr _ = code { - push_a_b 0 - pop_a 1 - } +get_array_ptr :: !{#Int} -> Pointer +get_array_ptr _ = code { + push_a_b 0 + pop_a 1 +} |