Hello everyone, I'm still playing around with Vala and GTK+, and trying to port my little application to this language.
Today I experimented with key bindings, but I encountered a problem I'm not able to solve. The following code using GLib; class BindingTest : Gtk.Window { public signal void do_something (); public BindingTest () {} construct { title = "Binding Test"; set_default_size (200, 150); Gtk.Label label = new Gtk.Label ("Control-d does something."); add (label); delete_event += Gtk.main_quit; do_something += () => { stdout.printf ("Done something.\n"); }; } public static int main (string[] args) { Gtk.init (ref args); Gtk.rc_parse_string ("binding \"Test\" {" + " bind \"<control>d\" {" + " \"do_something\" ()" + " }" + "}" + "class \"BindingTest\" binding \"Test\""); BindingTest window = new BindingTest (); window.show_all (); Gtk.main (); return 0; } } compiles and runs perfectly, but when I press Control-d I get the following warning message, (bindingtest:9485): Gtk-WARNING **: gtk_binding_entry_activate(): binding "TestBinding::<Control>d": signal "do_something" in the `BindingTest' class ancestry cannot be used for action emissions which is caused by the fact that the do_something signal is not declared as an action signal (G_SIGNAL_ACTION) in the generated C file, and as such GTK+ refuses to emit it directly. Is there any way to declare a signal as an action signal? I grep'd a bit around the valac source code but I couldn't find anything. -- KiyuKo <eof AT kiyuko DOT org> Resistance is futile, you will be garbage collected.
pgpqHwSAtCttV.pgp
Description: PGP signature
_______________________________________________ Vala-list mailing list Vala-list@gnome.org http://mail.gnome.org/mailman/listinfo/vala-list