diff options
Diffstat (limited to 'src/Gtk/Signal.dcl')
-rw-r--r-- | src/Gtk/Signal.dcl | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/src/Gtk/Signal.dcl b/src/Gtk/Signal.dcl index 32ebc08..e4ce83b 100644 --- a/src/Gtk/Signal.dcl +++ b/src/Gtk/Signal.dcl @@ -1,15 +1,27 @@ definition module Gtk.Signal -from Gtk.State import :: GtkM +from System._Pointer import :: Pointer + +from Gtk.State import :: GtkM, :: GtkState from Gtk.Widgets import class gtkWidget -:: GSignalHandlerFunction :== GtkM () +class signalHandler h +where + signalName :: !h -> String + signalHandler :: !h -> SignalHandlerInternal :: GSignalHandler - = DestroyHandler !GSignalHandlerFunction - | ActivateHandler !GSignalHandlerFunction + = DestroyHandler !(GtkM ()) + | ActivateHandler !(GtkM ()) + +instance signalHandler GSignalHandler + +:: SignalHandlerInternal + = SHI_Void !(GtkM ()) + | SHI_Int_Int_Pointer_Pointer_Bool !(Int Int Pointer Pointer -> GtkM Bool) -:: GSignalHandlerInternal - = GSHI_Void !GSignalHandlerFunction +installSignalHandler :: !h !w -> GtkM w | signalHandler h & gtkWidget w -installSignalHandler :: !GSignalHandler !w -> GtkM w | gtkWidget w +saveState :: GtkM () +retrieveState :: GtkM GtkState +handleSignal :: !Int !{#Int} -> Int |