diff options
Diffstat (limited to 'src/Gtk/Widgets/Sheet')
-rw-r--r-- | src/Gtk/Widgets/Sheet/Internal.dcl | 2 | ||||
-rw-r--r-- | src/Gtk/Widgets/Sheet/Internal.icl | 18 |
2 files changed, 20 insertions, 0 deletions
diff --git a/src/Gtk/Widgets/Sheet/Internal.dcl b/src/Gtk/Widgets/Sheet/Internal.dcl index b372c54..27c7945 100644 --- a/src/Gtk/Widgets/Sheet/Internal.dcl +++ b/src/Gtk/Widgets/Sheet/Internal.dcl @@ -28,3 +28,5 @@ gtk_sheet_cell_delete :: !Pointer !Int !Int !.a -> .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 + +gtk_sheet_range_set_css_class :: !Pointer !(!Int,!Int) !(!Int,!Int) !String !.a -> .a diff --git a/src/Gtk/Widgets/Sheet/Internal.icl b/src/Gtk/Widgets/Sheet/Internal.icl index 69459b6..060d6ab 100644 --- a/src/Gtk/Widgets/Sheet/Internal.icl +++ b/src/Gtk/Widgets/Sheet/Internal.icl @@ -1,5 +1,7 @@ implementation module Gtk.Widgets.Sheet.Internal +import StdEnv + import System._Pointer gtk_sheet_new :: !Int !Int !String !.a -> (!Pointer, !.a) @@ -123,3 +125,19 @@ where set _ _ _ _ _ = code { ccall gtk_sheet_set_cell_text "pIIs: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 +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 + } |