summaryrefslogtreecommitdiff
path: root/src/Gtk/Widgets/Sheet/Internal.icl
diff options
context:
space:
mode:
authorCamil Staps2019-10-23 16:46:10 +0200
committerCamil Staps2019-10-23 16:46:10 +0200
commit2eae627be1d6d5c622fe41422b301800a3190778 (patch)
tree3c7de3f2e819f539bb895a7213c91b6008e015a0 /src/Gtk/Widgets/Sheet/Internal.icl
parentAdd get/setActiveCell for GtkSheet (diff)
Add setCSSClassForRange for GtkSheet
Diffstat (limited to 'src/Gtk/Widgets/Sheet/Internal.icl')
-rw-r--r--src/Gtk/Widgets/Sheet/Internal.icl18
1 files changed, 18 insertions, 0 deletions
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
+ }