From 63a7f69566f25d5033fc9556da637408e92f1f92 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Wed, 23 Oct 2019 16:23:10 +0200 Subject: Add get/setActiveCell for GtkSheet --- src/Gtk/Widgets/Sheet.icl | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/Gtk/Widgets/Sheet.icl') diff --git a/src/Gtk/Widgets/Sheet.icl b/src/Gtk/Widgets/Sheet.icl index e34a304..07789df 100644 --- a/src/Gtk/Widgets/Sheet.icl +++ b/src/Gtk/Widgets/Sheet.icl @@ -1,6 +1,7 @@ implementation module Gtk.Widgets.Sheet import StdEnv +import StdMaybe import Control.Monad import System._Pointer @@ -52,6 +53,18 @@ setCellText row col text sheet = toState (gtk_sheet_set_cell_text sheet row col text) >>| pure sheet +getActiveCell :: !GtkSheet -> GtkM (Maybe (Int,Int)) +getActiveCell sheet = + toStateR (gtk_sheet_get_active_cell sheet) >>= \cell=:(row,col) + | row < 0 || col < 0 + -> pure Nothing + -> pure (Just cell) + +setActiveCell :: !Int !Int !GtkSheet -> GtkM GtkSheet +setActiveCell row col sheet = + toState (gtk_sheet_set_active_cell sheet row col) >>| + pure sheet + instance tune GtkSheet GtkSheetColumnResizability where tune setting sheet = -- cgit v1.2.3