summaryrefslogtreecommitdiff
path: root/src/Gtk
diff options
context:
space:
mode:
Diffstat (limited to 'src/Gtk')
-rw-r--r--src/Gtk/Signal.dcl2
-rw-r--r--src/Gtk/Signal.icl9
-rw-r--r--src/Gtk/Widgets.dcl4
-rw-r--r--src/Gtk/Widgets.icl14
4 files changed, 16 insertions, 13 deletions
diff --git a/src/Gtk/Signal.dcl b/src/Gtk/Signal.dcl
index 10e6ef7..2260ebe 100644
--- a/src/Gtk/Signal.dcl
+++ b/src/Gtk/Signal.dcl
@@ -11,4 +11,4 @@ from Gtk.Widgets import class gtkWidget
:: GSignalHandlerInternal
= GSHI_Void !GSignalHandlerFunction
-installSignalHandler :: !w !GSignalHandler -> State GtkState () | gtkWidget w
+installSignalHandler :: !GSignalHandler !w -> State GtkState w | gtkWidget w
diff --git a/src/Gtk/Signal.icl b/src/Gtk/Signal.icl
index 699ee98..2fb8df5 100644
--- a/src/Gtk/Signal.icl
+++ b/src/Gtk/Signal.icl
@@ -11,16 +11,17 @@ import qualified Gtk.Internal as I
import Gtk.State
import Gtk.Widgets
-installSignalHandler :: !w !GSignalHandler -> State GtkState () | gtkWidget w
-installSignalHandler widget handler =
+installSignalHandler :: !GSignalHandler !w -> State GtkState w | gtkWidget w
+installSignalHandler handler widget =
modify (\st ->
{ st
& signal_handlers = 'M'.put (st.signal_counter+1) handler_internal st.signal_handlers
, signal_counter = st.signal_counter+1
}) >>|
gets (\st -> st.signal_counter) >>= \id ->
- toState case handler_internal of
- GSHI_Void _ -> 'I'.g_signal_connect_void (toPtr (gtkWidget widget)) signal_name id
+ (toState case handler_internal of
+ GSHI_Void _ -> 'I'.g_signal_connect_void (toPtr (gtkWidget widget)) signal_name id) >>|
+ pure widget
where
(signal_name,handler_internal) = case handler of
DestroyHandler f -> ("destroy",GSHI_Void f)
diff --git a/src/Gtk/Widgets.dcl b/src/Gtk/Widgets.dcl
index ab5d5c8..d217730 100644
--- a/src/Gtk/Widgets.dcl
+++ b/src/Gtk/Widgets.dcl
@@ -80,8 +80,8 @@ instance gtkWidget GtkPaned
instance gtkContainer GtkPaned
newPaned :: !GtkOrientation !GtkPanedHandleWidth -> GtkM GtkPaned
-packPane1 :: !w !GtkPaned !GtkResize !GtkShrink -> GtkM () | gtkWidget w
-packPane2 :: !w !GtkPaned !GtkResize !GtkShrink -> GtkM () | gtkWidget w
+packPane1 :: !GtkPaned !GtkResize !GtkShrink !w -> GtkM w | gtkWidget w
+packPane2 :: !GtkPaned !GtkResize !GtkShrink !w -> GtkM w | gtkWidget w
:: GtkScrolledWindow
instance gtkWidget GtkScrolledWindow
diff --git a/src/Gtk/Widgets.icl b/src/Gtk/Widgets.icl
index 1ea63df..2e7c1de 100644
--- a/src/Gtk/Widgets.icl
+++ b/src/Gtk/Widgets.icl
@@ -149,13 +149,15 @@ newPaned orientation handle_width =
toState ('I'.gtk_paned_set_wide_handle paned handle_width=:WideHandle) >>|
show paned
-packPane1 :: !w !GtkPaned !GtkResize !GtkShrink -> GtkM () | gtkWidget w
-packPane1 widget paned resize shrink =
- toState ('I'.gtk_paned_pack1 paned (gtkWidget widget) resize=:Resize shrink=:Shrink)
+packPane1 :: !GtkPaned !GtkResize !GtkShrink !w -> GtkM w | gtkWidget w
+packPane1 paned resize shrink widget =
+ toState ('I'.gtk_paned_pack1 paned (gtkWidget widget) resize=:Resize shrink=:Shrink) >>|
+ pure widget
-packPane2 :: !w !GtkPaned !GtkResize !GtkShrink -> GtkM () | gtkWidget w
-packPane2 widget paned resize shrink =
- toState ('I'.gtk_paned_pack2 paned (gtkWidget widget) resize=:Resize shrink=:Shrink)
+packPane2 :: !GtkPaned !GtkResize !GtkShrink !w -> GtkM w | gtkWidget w
+packPane2 paned resize shrink widget =
+ toState ('I'.gtk_paned_pack2 paned (gtkWidget widget) resize=:Resize shrink=:Shrink) >>|
+ pure widget
:: GtkScrolledWindow :== Pointer