Jeffrey Barish wrote:
 > Gorshkov wrote:
 >
 >> I do this exact thing in an application I'm developing now. But I only
 >> do it in one place - a callback routine that is called for both the
 >> delete and destroy events.
 >
 > Thank you for your suggestions.
 >
 > I don't get a delete, destroy, or even a hide signal when the treeview
 > disappears because I switched to a different page of a notebook.  I 
could,
 > of course, detect when I change pages of the notebook, but then I am off
 > plugging holes in the dike.  The problem is that there are ways to get to
 > portions of my code that read the column-width file in which the treeview
 > has not been destroyed, so the column-width file has not been updated.  I
 > suppose that this code will have to extract column widths from the 
treeview
 > rather than read them from the file, but then remote portions of the code
 > will need to be coupled to this treeview.  The file was a neat way to
 > decouple the code because I need to store the widths anyway.  There is
 > always a way to get around a limitation of a library, but I still wonder
 > why the GTK developers are comfortable with this limitation when 
other GUI
 > toolkits provide the appropriate signal.

You don't have to set the widths again every time you show them. When 
the TreeView becomes hidden/not hidden or visible/not visible, it will 
have the same properties and values it had the last time it was visible. 
The ONLY time you have set those values is when you display/realize the 
TreeView for the first time - I do it in my initialization code when I 
first create the widget.

It's not a limitation in the library, because it's not a requirement - 
you're just thinking that you have to do something when you don't, 
because you had to do it that way in the other toolkits you've used.

2 of the 7 TreeViews in my application are also in tabs. And I can 
assure you that using a callback for those two signals, as I have, will 
handle every case you could possibly run into.

Please note the call to SWSaveWindowGeometry() in SWSaveWindowPos() - 
because I also use these routines, and variants of them, to save the 
windows size and location on the screen so that they can be restored on 
startup as well.

_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to