diff options
Diffstat (limited to 'src/Gtk/Internal.icl')
-rw-r--r-- | src/Gtk/Internal.icl | 27 |
1 files changed, 6 insertions, 21 deletions
diff --git a/src/Gtk/Internal.icl b/src/Gtk/Internal.icl index 988ab3a..4be7f70 100644 --- a/src/Gtk/Internal.icl +++ b/src/Gtk/Internal.icl @@ -18,27 +18,12 @@ g_object_unref p env = code { ccall g_object_unref "p:V:A" } -g_signal_connect_void :: !Pointer !String !Int !.a -> .a -g_signal_connect_void widget signal id env = connect widget (packString signal) id env +g_signal_connect :: !Int !Pointer !String !Int !.a -> .a +g_signal_connect type widget signal id env = connect type widget (packString signal) id env where - connect :: !Pointer !String !Int !.a -> .a - connect _ _ _ _ = code { - ccall clean_g_signal_connect_void "psI:V:A" - } - -g_signal_pop :: !.a -> (!Maybe GSignalArgs, !.a) -g_signal_pop env - # (sig,env) = pop env - | sig == 0 - = (Nothing, env) - # (id,sig) = readIntP sig (IF_INT_64_OR_32 8 4) - | sig == 0 // force evaluation - = abort "Internal error in g_signal_pop\n" - = (Just {sig_id=id}, env) -where - pop :: !.a -> (!Pointer, !.a) - pop env = code { - ccall clean_g_signal_pop ":p:A" + connect :: !Int !Pointer !String !Int !.a -> .a + connect _ _ _ _ _ = code { + ccall clean_g_signal_connect "IpsI:V:A" } gtk_box_new :: !Bool !Int !.a -> (!Pointer, !.a) @@ -180,7 +165,7 @@ where gtk_main_iteration :: !.a -> (!Bool, !.a) gtk_main_iteration env = code { - ccall gtk_main_iteration ":I:A" + ccall gtk_main_iteration "G:I:A" } gtk_main_quit :: !.a -> .a |