Re: Using a gtknotebook in a main window to display a child window



I got someting working : reparenting the first child (vbox1)of the
"subform" window I want to have in the GtkNotebook, and destroying the
"subform" window next, did the trick. sfcoll is a GtkAlignment in a
GtkFrame in a notebook page.

Someting like  

my  $subform= $gladeObject->get_widget('subform');
   my $vbox = $gladeObject->get_widget('vbox1');
   my $sfctrl = $mainForm->get_widget('sfcoll');
   Gtk2::Widget::reparent($vbox, $sfctrl);
    $subform->destroy();

FranÃois

Le samedi 02 avril 2011 Ã 01:06 +0200, Kevin Ryde a Ãcrit :
FranÃois Rappaz <francois rappaz unifr ch> writes:

Is it possible to include the child window on the fly ?

Probably not easily.  A given widget can only appear in one place at the
one time, though you can reparent to shift it about.

Is this possible without having to copy all the fields and code from the
child window in the page ? 

If you made the child display stuff into a widget then you could create
two of them and re-use the code.  I've tinkered with broadcasting
notifications of database updates to let display widgets update
themselves, but an explicit update/refresh/etc from whatever master
"on_change" might be enough to start.

As a bit of gratuitous self promotion, I made a
Glib::Ex::ConnectProperties (on cpan) for keeping given properties of
two widgets in sync -- any change on one is propagated to the other.  If
your child stuff has control checkboxes or whatever then that might be
one way to keep them showing the same thing.





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]