summaryrefslogtreecommitdiff
path: root/src/Gtk/Widgets/Sheet/Signal.icl
diff options
context:
space:
mode:
Diffstat (limited to 'src/Gtk/Widgets/Sheet/Signal.icl')
-rw-r--r--src/Gtk/Widgets/Sheet/Signal.icl8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/Gtk/Widgets/Sheet/Signal.icl b/src/Gtk/Widgets/Sheet/Signal.icl
index 8cfa10f..6de4209 100644
--- a/src/Gtk/Widgets/Sheet/Signal.icl
+++ b/src/Gtk/Widgets/Sheet/Signal.icl
@@ -12,12 +12,14 @@ import Gtk
instance signalHandler GtkSheetSignalHandler
where
signalName handler = case handler of
- DeactivateHandler _ -> "deactivate"
- EnterPressedHandler _ -> "enter-pressed"
- TraverseHandler _ -> "traverse"
+ DeactivateHandler _ -> "deactivate"
+ EnterPressedHandler _ -> "enter-pressed"
+ SheetActivateHandler _ -> "activate"
+ TraverseHandler _ -> "traverse"
signalHandler handler = case handler of
DeactivateHandler f -> SHI_Int_Int_Bool f
EnterPressedHandler f -> SHI_Pointer_Bool \_ -> not <$> f
+ SheetActivateHandler f -> SHI_Int_Int_Bool \r c -> f r c >>| pure True
TraverseHandler f -> SHI_Int_Int_Pointer_Pointer_Bool \oldrow oldcol newrowp newcolp ->
let newrow = readInt4S newrowp 0; newcol = readInt4S newcolp 0 in
// NB, possible bug in GtkSheet: when a cell is selected and the