Abstract

This TIP proposes adding a paneconfigure option to
panedwindows that will control pane visibility.

Rationale

Adding control over individual pane visibility to the panedwindow
widget would simplify the construction and control of complex user
interfaces. For example, look at applications such as Komodo, or MS
Visual Studio, where the U/I contains 4-7 panes in 2 or more nested
panedwindows. Both of these applications as well as many others allow
user controlled visibility of individual panes. Trying to manage the
visibility and placement of these panes requires much additional code
and adds complexity to the U/I implementation. Alternatively, if the
panedwindow allowed control of visibility while maintaining pane
position and configure options (as does the grid remove method),
the U/I code is essentially reduced to a simple one line [$wconfigure -hide].

Proposed Change

This TIP will add a -hide option to the paneconfigure for
individual panes. The option will control the visibility of the pane.
When set to true (as interpreted by Tcl_GetBooleanFromObj()), the
pane will be unmapped and will not be considered when arranging the
remaining panes for display. Hidden panes will still be reported by
the [$wpanes] method and can be referenced when adding panes with
the -after or -before options.

The advantage of a paneconfigure option over the remove
method of the grid command is that the pane is still query-able
and configurable.

Draft Implementation

An implementation of this enhancement is available
[ftp://ftp.model.com/pub/tcl/pwhideTIP.tgz].