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

m10 10
`m has (`class;`matrix;  `title;"Matrix Title";
        `label;("Labels";
                (<"Row"),10;
                (<"Col"),10));
a20
`a has (`class;`array;  `title;("Array";"Title"));
h1 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)


doc@aplusdev.org© Copyright 1995–2008 Morgan Stanley Dean Witter & Co. All rights reserved.