
	$Id: README,v 1.3 1997/05/05 01:15:00 alex Exp $


RELEASE NOTES:

This is version 0.4. It includes the changes made by Paul Kendall
(PaulK@orion.co.nz), which makes it possible to specify absolute
pixel values. Old behaviour (percentual values) ist still working.
See the documentation in kpanner.h, how to use the new (and old)
functionality.

Makefile changed:

The makefile now takes care of the environment variables QTDIR (for
qt include files) and KDEDIR (for kde include files), therefore you
have to move kpanner.h to $(KDEDIR)/include _before_ you build kpanner.

--------------------------------------------------------------------


 KPanner, create resizeable screen regions.
 ------------------------------------------

Kpanner is a simple widget, very similar to Motifs XmPanedWindow.
Basically, KPanner creates two child widgets, separated by a dragable
bar. The user can now resize the window areas by repositioning this bar.

How to use:
-----------

The class name is KPanner.

KPanner *p = new KPanner(parent, name, flags, i_size);

flags can be one of the following:

KPanner::O_VERTICAL
KPanner::O_HORIZONTAL

i_size is the initial location of the separator (measured in percent
of full widget size, e.g. if you specify a value of 50, the client
widgets will have exactly the same size).

To obtain the panners child widgets (which is necessary, because they
will act as parents for the widgets to manage), KPanner provides two
class methods:

QWidget *child0()  returns the leftmost (or topmost for horizontal
                   panners) child.

QWdiget *child1()  returns the rightmost (or bottom for horizontal
		   panners) child

Additional methods:
-------------------

	void setSeparator(i_size)

(0 <= i_size <= 100)

set the separator, so that it will divide the clients at i_size percent
of full widget size. For vertical panners, this is measured from the
left edge, and for horizontal panners it is measured from the top edge.

If the value for i_size is invalid (less than 0 or greater than 100), it
will be set to 50.

This also applies to the value of i_size used with the constructor.

	void setAbsSeparator(i_size)

Same as setSeparator(), but i_size is interpreted as an absolute (pixel)
value. The i_size parameter must be greater than current l_limit and less
than current u_limit.

	void setLimits(l_limit, u_limit)

Set lower and upper limits as a range for the divider widget. The
divider cannot be moved outside of these limits. The values are pixel
values. The lower limit (l_limit) must be a positive integer between 0
and the maximum width (height) of the panner. The upper limit (u_limit)
may be either positive (if you want to measure it from the left (upper)
edge), or negative (if you want to measure it from the right (lower)
edge).


Signals:
--------

KPanner emits positionChanged(), after the user has dragged the separator
to another location. You'll have to connect this signal to a slot in order
to perform a resizeEvent.

See the included example (testpan.cpp) for detailed information.
Detailed Docs will follow later.

have fun!

Alexander <alex@darkstar.ping.at>
