summaryrefslogtreecommitdiff
path: root/src/Gtk/Widgets/Sheet.icl
diff options
context:
space:
mode:
authorCamil Staps2019-11-25 15:00:48 +0100
committerCamil Staps2019-11-25 15:00:48 +0100
commit43cd5030ab55966f71154551406b3edf08d1fb5e (patch)
tree88a3b1737352276983339b70c66121417c8a755d /src/Gtk/Widgets/Sheet.icl
parentAdd PixelsAboveLines, PixelsBelowLines, and PixelsInsideWrap to control line ... (diff)
Add scrollToCell for GtkSheet
Diffstat (limited to 'src/Gtk/Widgets/Sheet.icl')
-rw-r--r--src/Gtk/Widgets/Sheet.icl11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/Gtk/Widgets/Sheet.icl b/src/Gtk/Widgets/Sheet.icl
index c28816f..a1a8c1f 100644
--- a/src/Gtk/Widgets/Sheet.icl
+++ b/src/Gtk/Widgets/Sheet.icl
@@ -102,6 +102,17 @@ setActiveCell row col sheet=:(GtkSheet s) =
toState (gtk_sheet_set_active_cell s row col) >>|
pure sheet
+scrollToCell :: !GtkSheetScrollMode !Int !Int !GtkSheet -> GtkM GtkSheet
+scrollToCell scroll_mode row col sheet=:(GtkSheet s) =
+ toState (gtk_sheet_moveto s row col row_align col_align) >>|
+ pure sheet
+where
+ (row_align,col_align) = case scroll_mode of
+ CellInTopLeft -> (0,0)
+ CellInTopRight -> (0,1)
+ CellInBottomLeft -> (1,0)
+ CellInBottomRight -> (1,1)
+
getEntry :: !GtkSheet -> GtkM GtkEntry
getEntry (GtkSheet s) =
toStateR (gtk_sheet_get_entry s) >>= \e ->