# The Hpane Display Class

> The hpane and vpane display classes are special layout classes that have movable dividers, or sashes, between the layout children. The user can control the proportion of the layout that each child occupies simply by moving the dividers. Various layout-constraint attributes, such as position and build, are disregarded. The children of an hpane layout should be arranged horizontally, and will have vertical dividers between them.

> To move a divider, simply place the mouse pointer on it, press and hold the left mouse button, and then slide the divider left or right. A small button is provided on the bottom of each divider as a convenient place to locate the pointer.

> The dividers of an hpane layout always extend from the top to the bottom of the layout, so care must be taken when using hpane layouts with more than one row. For example, in an hpane layout of the form (`a`b;`c), the divider between objects a and b will cut through object c. If several objects line up on a divider boundary, then movement of the divider controls the display sizes of these objects. If all the objects line up on divider boundaries, then movement of the dividers controls the display sizes of entire columns of objects.

> There is no direct way for a program to determine where a user has positioned a divider in an hpane layout. Sometimes there are indirect ways to approximate the position, such as checking the values of the rows and cols attributes of a matrix to determine how many rows and columns are currently shown.

> Compare HPane with "The Vpane Display Class" for a visual representation of a similar object.

Visual Representation

>     mûÉ10 10
>     `m has (`class;`matrix;  `title;"Matrix Title";
>             `label;("Labels";
>                     (<"Row"),¡î¡É10;
>                     (<"Col"),¡î¡É10));
>     aûÉ20
>     `a has (`class;`array;  `title;("Array";"Title"));
>     hû1 2Ò`m`a
>     `h has (`class;`hpane;  `title;"HPane Title";
>             `shelltitle;"Shell Title"; `show;1);

Attributes

> See the "Display Attributes" chapter for details concerning all the attributes that apply to objects in the hpane display class, as well as lists of colors and fonts. The keys in the Table of All Display Attributes that pertain to this class are hP, ALL, CNFT, CNT, NFT, and TOP.

> The attributes that are meaningful for the hpane display class (other than the print... attributes) are:

> active
> ancestors
> arrowdown
> arrowkeys
> arrowleft
> arrowlist
> arrowright
> arrowup
> at
> atsector
> b
> be
> bg
> bound
> C
> children
> class
> clear
> constraints
> deiconized
> descendents
> doc
> downto
> dynamic
> eval
> evaluate
> exit
> extent
> extents
> f1-f12
> familytree
> fg
> font
> fkeys
> focus
> followers
> followertree
> foot
> freeze
> fullscreen
> h
> H
> has
> head
> hide
> hl
> hlthickness
> icon
> iconic
> iconized
> icontitle
> incurrentworkspace
> is
> l
> leader
> leftto
> literal
> lockposition
> locksize
> lower
> mapped
> naturalsize
> newshow
> notify
> outofcurrentworkspace
> parent
> pin
> preset
> primary
> r
> R
> raise
> realize
> recursively
> refresh
> reparent
> request
> reshow
> resize
> resizeable
> rightto
> script
> sensitive
> set
> settings
> shadowthickness
> shell
> shelltitle
> show
> state
> stateself
> structure
> syncshow
> t
> tabfrom
> tablist
> tabto
> title
> titlefg
> titlefont
> titlejustify
> upto
> vcol
> vcols
> vcolspace
> verify
> vrow
> vrows
> vrowspace
> w
> W
> ws
> x
> X
> xs
> y
> Y
> ys
> yx
> YX
> yxs (Point the mouse cursor to an attribute to display a short description at the bottom of the screen)