[Gtk-sharp-list] Interface concept

Matthew Walton matthew@alledora.co.uk
Wed, 22 Oct 2003 13:33:54 +0100

An alternative to the previously-suggested way to do it would be to use 
a Notebook widget on the right-hand side. You construct all the possible 
views on seperate pages of this widget, and switch pages via the clicked 
handlers of the buttons. The Notebook in GTK does allow you to turn tabs 
off, so the users won't ever notice it (assuming it's properly wrapped 
in GTK#, I've only tried this trick in gtkmm, where it works very well).

A disadvantage is that you have the memory use of all the controls all 
the time, even the ones that aren't visible, but unless you're 
deliberately deconstructing and reconstructing each time you switch 
pages, you're going to have that even with reparenting I would have thought.

The major advantage is that this is ridiculously easy to implement.

Hope that helps


Joe Scaduto wrote:
> Hey,
> I am designing an application and I would like to have a interface where
> the main window is split into 2 separate parts.  I would have the left
> most part be a column of buttons and the right most part be a scrollable
> window.  Where each button represents a service of the application.  The
> problem I am seeing is once a button is pressed the scrollable window is
> "populated" with the correct data. 
> i.e) (web log) "Post" button is pressed and the scrollable window
> "populates" with an interface for adding a title and a body with a save
> and cancel button     
> I only wish to have one "service" available at a time.  But if the user
> wishes to use another "service" the scrollable window updates itself
> with the proper data.  
> Essentially I want the main area of my application to change dynamically
> based on what service the user wants.  (If you have Evolution....exactly
> how the Shortcut Bar works with the main window)  
> I am sorry if I did not explain this very well....if any knows of a
> common way to do this I would appreciate any help.