iwidgets::panedwindow - Create and manipulate a paned window
    widget
iwidgets::panedwindow pathName
    ?options?
itk::Widget <- iwidgets::Panedwindow
background	cursor
See the "options" manual entry for details on the
    standard options.
Name:	height
Class:	Height
Command-Line Switch:	-height
  
  - Specifies the overall height of the paned window in any of the forms
      acceptable to Tk_GetPixels. The default is 10 pixels.
Name:	orient
Class:	Orient
Command-Line Switch:	-orient
  
  - Specifies the orientation of the separators: vertical or
      horizontal. The default is horizontal.
Name:	sashBorderWidth
Class:	BorderWidth
Command-Line Switch:	-sashborderwidth
  
  - Specifies a value indicating the width of the 3-D border to draw around
      the outside of the sash in any of the forms acceptable to
      Tk_GetPixels. The default is 2 pixels.
Name:	sashCursor
Class:	Cursor
Command-Line Switch:	-sashcursor
  
  - Specifies the type of cursor to be displayed in the sash. The default is
      crosshair.
Name:	sashHeight
Class:	Height
Command-Line Switch:	-sashheight
  
  - Specifies the height of the sash in any of the forms acceptable to
      Tk_GetPixels. The default is 10 pixels.
Name:	sashIndent
Class:	SashIndent
Command-Line Switch 	sashindent
  
  - Specifies the placement of the sash along the panes in any of the forms
      acceptable to Tk_GetPixels. A positive value causes the sash to be
      offset from the near (left/top) side of the pane, and a negative value
      causes the sash to be offset from the far (right/bottom) side. If the
      offset is greater than the width, then the sash is placed flush against
      the side. The default is -10 pixels.
Name:	sashWidth
Class:	Width
Command-Line Switch:	-sashwidth
  
  - Specifies the width of the sash in any of the forms acceptable to
      Tk_GetPixels. The default is 10 pixels.
Name:	showHandle
Class:	ShowHandle
Command-Line Switch:	-showhandle
  
  - Specifies whether or not to display the sashes on the window panes. The
      default is 1, and valid options are 0 and 1.
Name:	thickness
Class:	Thickness
Command-Line Switch:	-thickness
  
  - Specifies the thickness of the separators in any of the forms acceptable
      to Tk_GetPixels. The default is 3 pixels.
Name:	width
Class:	Width
Command-Line Switch:	-width
  
  - Specifies the overall width of the paned window in any of the forms
      acceptable to Tk_GetPixels. The default is 10 pixels.
The iwidgets::panedwindow command creates a multiple paned
    window widget capable of orienting the panes either vertically or
    horizontally. Each pane is itself a frame acting as a child site for other
    widgets. The border separating each pane contains a sash which allows user
    positioning of the panes relative to one another.
The iwidgets::panedwindow command creates a new Tcl command
    whose name is pathName. This command may be used to invoke various
    operations on the widget. It has the following general form:
pathName option ?arg arg ...?
 
Option and the args determine the exact behavior of
    the command.
Many of the widget commands for the panedwindow take as one
    argument an indicator of which pane of the paned window to operate on. These
    indicators are called indexes and allow reference and manipulation of
    panes regardless of their current map state. Paned window indexes may be
    specified in any of the following forms:
  - number
- Specifies the pane numerically, where 0 corresponds to the nearest
      (top/left-most) pane of the paned window.
- end
- Indicates the farthest (bottom/right-most) pane of the paned window.
- pattern
- If the index doesn't satisfy one of the above forms then this form is
      used. Pattern is pattern-matched against the tag of each pane in
      the panedwindow, in order from left/top to right/left, until a matching
      entry is found. The rules of Tcl_StringMatch are used.
    
  
  - pathName
    add tag ?option value option value?
- Adds a new pane to the paned window on the far side (right/bottom). The
      following options may be specified:
  - -margin
    value
- Specifies the border distance between the pane and pane contents is any of
      the forms acceptable to Tk_GetPixels. The default is 8 pixels.
- -minimum
    value
- Specifies the minimum size that a pane's contents may reach not inclusive
      of twice the margin in any of the forms acceptable to Tk_GetPixels.
      The default is 10 pixels.
    The add method returns the path name of the pane. 
 
  - pathName
    cget option
- Returns the current value of the configuration option given by
      option. Option may have any of the values accepted by the
      iwidgets::panedwindow command.
- pathName
    childsite ?index?
- Returns a list of the child site path names or a specific child site given
      an index. The list is constructed from the near side (left/top) to the far
      side (right/bottom).
- pathName
    configure ?option? ?value option value ...?
- Query or modify the configuration options of the widget. If no
      option is specified, returns a list describing all of the available
      options for pathName (see Tk_ConfigureInfo for information
      on the format of this list). If option is specified with no
      value, then the command returns a list describing the one named
      option (this list will be identical to the corresponding sublist of the
      value returned if no option is specified). If one or more
      option-value pairs are specified, then the command modifies the
      given widget option(s) to have the given value(s); in this case the
      command returns an empty string. Option may have any of the values
      accepted by the iwidgets::panedwindow command.
- pathName
    delete index
- Deletes a specified pane given an index.
- pathName
    fraction percentage percentage ?percentage
    percentage ...?
- Sets the visible percentage of the panes. Specifies a set of percentages
      which are applied to the visible panes from the near side (left/top). The
      number of percentages must be equal to the current number of visible
      (mapped) panes and add up to 100.
- pathName
    hide index
- Changes the visiblity of the specified pane, allowing a previously
      displayed pane to be visually removed rather than deleted.
- pathName
    index index
- Returns the numerical index corresponding to index.
- pathName
    insert index tag ?option value option value
    ...?
- Same as the add command except that it inserts the new pane just
      before the one given by index, instead of appending to the end of
      the panedwindow. The option, and value arguments have the
      same interpretation as for the add widget command.
- pathName
    paneconfigure index ?options?
- This command is similar to the configure command, except that it
      applies to the options for an individual pane, whereas configure
      applies to the options for the paned window as a whole. Options may
      have any of the values accepted by the add widget command. If
      options are specified, options are modified as indicated in the
      command and the command returns an empty string. If no options are
      specified, returns a list describing the current options for entry
      index (see Tk_ConfigureInfo for information on the format of
      this list).
- pathName
    reset
- Redisplays the pane window using default percentages.
- pathName
    show index
- Changes the visiblity of the specified pane, allowing a previously hidden
      pane to be displayed.
    
  
  
  - Dynamic changing of the margin and or minimum options to values which make
      the current configuration invalid will block subsequent sash movement
      until the fractions are modified via the fraction method. For example a
      panedwindow is created with three panes and the minimum and margin options
      are at their default settings. Next the user moves the sashes to compact
      the panes to one side. Now, if the minimum is increased on the most
      compressed pane via the paneconfigure method to a large enough value, then
      sash movement is blocked until the fractions are adjusted. This situation
      is unusual and under normal operation of the panedwindow, this problem
      will never occur.
 package require Iwidgets 4.0
 iwidgets::panedwindow .pw -width 300 -height 300 
 .pw add top
 .pw add middle -margin 10
 .pw add bottom -margin 10 -minimum 10
 pack .pw -fill both -expand yes
 foreach pane [.pw childSite] {
    button $pane.b -text $pane -relief raised -borderwidth 2
    pack $pane.b -fill both -expand yes
 }
 .pw fraction 50 30 20
 .pw paneconfigure 0 -minimum 20
 .pw paneconfigure bottom -margin 15
 
Jay Schmidgall
  
  - 1994 - Base logic posted to comp.lang.tcl
Joe Hidebrand <hildjj@fuentez.com>
  
  - 07/25/94 - Posted first multipane version to comp.lang.tcl
- 07/28/94 - Added support for vertical panes
Ken Copeland <ken@hilco.com>
  
  - 09/28/95 - Smoothed out the sash movement and added squeezable panes.