[Glade-users] Re: problem with "show" signal and libglade
Joel Wheeler
jwheeler@us.ibm.com
Mon, 9 May 2005 08:08:04 -0400
>From original post:
>>Hello!
>>
>>I wanted to use the "show" signal of the main win of my app to do some
>>initialization and it seems my handler is not being called at all.
>>To test it I have made just a window in glade and then tried
>>glade_xml_signal_autoconnect() and even manual connecting and it
>>doesn't work. Other signals work (like delete_event), so it's not a
>>problem with a window showing or something. I tried other widgets and
>>they also don't emit the show signal. I tried calling
>>gtk_widget_show_all() to see if explicit showing will call the
>>handlers but it didn't. Then I build the source in glade and there it
>>works.
>>But I want to use libglade...
>>Does anyone have any idea what is the problem?
I had this same problem. If the default widget state is set in glade as
Visible=Yes then the callback will not be triggered the first time the
widget is displayed. If you call gtk_widget_hide and then gtk_widget_show
on the widget it should trigger the callback.
Or, as an alternative, set the initial state of the widget's "Visible"
property to "No" inside glade. Then during the GUI initialization in main()
call gtk_widget_show to display the widget and the callback should be
triggered.
Joel Wheeler
jwheeler@us.ibm.com