digitalmars.D.learn - [GtkD] How to connect to notify::active signal?
- Alexandr Druzhinin (4/4) May 03 2013 I need to connect to "notify::active" signal for Switch widget to
- Mike Wey (4/8) May 03 2013 Are you referring to gtk.Switch ?
- Alexandr Druzhinin (6/12) May 03 2013 yes, gtk.Switch
I need to connect to "notify::active" signal for Switch widget to process changing of its state. The guides say I shouldn't use onActivate signal, but "notify:active". But I didn't find a way to do it. Can somebody help with it?
May 03 2013
On 05/03/2013 06:30 PM, Alexandr Druzhinin wrote:I need to connect to "notify::active" signal for Switch widget to process changing of its state. The guides say I shouldn't use onActivate signal, but "notify:active". But I didn't find a way to do it. Can somebody help with it?Are you referring to gtk.Switch ? -- Mike Wey
May 03 2013
04.05.2013 1:18, Mike Wey пишет:On 05/03/2013 06:30 PM, Alexandr Druzhinin wrote:yes, gtk.Switch if I connect to activate signal by means addOnActivate nothing works. Documentation says I should use "notify::active" event (it belongs to ObjectG, as I understand?), but I cannot find a way to connect to this signal by means of GtkD.I need to connect to "notify::active" signal for Switch widget to process changing of its state. The guides say I shouldn't use onActivate signal, but "notify:active". But I didn't find a way to do it. Can somebody help with it?Are you referring to gtk.Switch ?
May 03 2013
On 05/04/2013 05:20 AM, Alexandr Druzhinin wrote:04.05.2013 1:18, Mike Wey пишет:You can use addOnNotify it currently doesn't allow you to specify the property for witch you want to receive the signal (it probably should). For now you could do: Switch sw = new Switch(); sw.addOnNotify(¬ify); void notify(ParamSpec param, ObjectG obj) { if(param.getName() == "active") { //Do stuff } } -- Mike WeyOn 05/03/2013 06:30 PM, Alexandr Druzhinin wrote:yes, gtk.Switch if I connect to activate signal by means addOnActivate nothing works. Documentation says I should use "notify::active" event (it belongs to ObjectG, as I understand?), but I cannot find a way to connect to this signal by means of GtkD.I need to connect to "notify::active" signal for Switch widget to process changing of its state. The guides say I shouldn't use onActivate signal, but "notify:active". But I didn't find a way to do it. Can somebody help with it?Are you referring to gtk.Switch ?
May 04 2013
On Saturday, 4 May 2013 at 09:59:12 UTC, Mike Wey wrote:On 05/04/2013 05:20 AM, Alexandr Druzhinin wrote:Hi! I would like to share a small example of this: module gtkd_switch; // Compile: ldc -w main.d `pkg-config --cflags --libs gtkd-3` import std.stdio; import gtk.Builder; import gtk.Main, gtk.Window, gtk.Switch, gtk.Widget; import gobject.ObjectG ,gobject.ParamSpec; void on_swt_change(ParamSpec param, ObjectG obj, Switch *obj_switch){ bool state = obj_switch.getActive(); writefln("Changed! %b", state); } void main(string[] args) { Main.init(args); Builder g = new Builder(); g.addFromFile("vista.glade"); // Widgets from glade file "vista.glade": Window w = cast(Window)g.getObject("window1"); w.setDefaultSize(320, 80); w.setTitle("Gtkd Switch addOnNotify"); Switch swt = cast(Switch)g.getObject("swt_test"); // Actions: w.addOnHide( delegate void(Widget aux){ Main.quit(); } ); swt.addOnNotify(delegate void (ParamSpec, ObjectG){on_swt_change(ParamSpec, ObjectG, &swt);}, "active"); w.showAll(); Main.run(); }04.05.2013 1:18, Mike Wey пишет:You can use addOnNotify it currently doesn't allow you to specify the property for witch you want to receive the signal (it probably should). For now you could do: Switch sw = new Switch(); sw.addOnNotify(¬ify); void notify(ParamSpec param, ObjectG obj) { if(param.getName() == "active") { //Do stuff } }On 05/03/2013 06:30 PM, Alexandr Druzhinin wrote:yes, gtk.Switch if I connect to activate signal by means addOnActivate nothing works. Documentation says I should use "notify::active" event (it belongs to ObjectG, as I understand?), but I cannot find a way to connect to this signal by means of GtkD.I need to connect to "notify::active" signal for Switch widget to process changing of its state. The guides say I shouldn't use onActivate signal, but "notify:active". But I didn't find a way to do it. Can somebody help with it?Are you referring to gtk.Switch ?
Sep 08 2016