![]() |
Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members
|
The four-way splitter is a layout manager which manages four children like four panes in a window. More...
#include <FX4Splitter.h>
Public Types | |
| enum | { ExpandNone = 0, ExpandTopLeft = 1, ExpandTopRight = 2, ExpandBottomLeft = 4, ExpandBottomRight = 8, ExpandTop = ExpandTopLeft|ExpandTopRight, ExpandBottom = ExpandBottomLeft|ExpandBottomRight, ExpandLeft = ExpandTopLeft|ExpandBottomLeft, ExpandRight = ExpandTopRight|ExpandBottomRight, ExpandCriss = ExpandTopRight|ExpandBottomLeft, ExpandCross = ExpandTopLeft|ExpandBottomRight, ExpandAll = ExpandLeft|ExpandRight } |
| enum | { ID_EXPAND_NONE = FXComposite::ID_LAST+ExpandNone, ID_EXPAND_TOP = ID_EXPAND_NONE+ExpandTop, ID_EXPAND_BOTTOM = ID_EXPAND_NONE+ExpandBottom, ID_EXPAND_LEFT = ID_EXPAND_NONE+ExpandLeft, ID_EXPAND_RIGHT = ID_EXPAND_NONE+ExpandRight, ID_EXPAND_TOPLEFT = ID_EXPAND_NONE+ExpandTopLeft, ID_EXPAND_TOPRIGHT = ID_EXPAND_NONE+ExpandTopRight, ID_EXPAND_BOTTOMLEFT = ID_EXPAND_NONE+ExpandBottomLeft, ID_EXPAND_BOTTOMRIGHT = ID_EXPAND_NONE+ExpandBottomRight, ID_EXPAND_ALL = ID_EXPAND_NONE+ExpandAll, ID_LAST } |
Public Member Functions | |
| long | onLeftBtnPress (FXObject *, FXSelector, void *) |
| long | onLeftBtnRelease (FXObject *, FXSelector, void *) |
| long | onMotion (FXObject *, FXSelector, void *) |
| long | onFocusUp (FXObject *, FXSelector, void *) |
| long | onFocusDown (FXObject *, FXSelector, void *) |
| long | onFocusLeft (FXObject *, FXSelector, void *) |
| long | onFocusRight (FXObject *, FXSelector, void *) |
| long | onCmdExpand (FXObject *, FXSelector, void *) |
| long | onUpdExpand (FXObject *, FXSelector, void *) |
| FX4Splitter (FXComposite *p, FXuint opts=FOURSPLITTER_NORMAL, FXint x=0, FXint y=0, FXint w=0, FXint h=0) | |
| Create 4-way splitter, initially shown as four unexpanded panes. | |
| FX4Splitter (FXComposite *p, FXObject *tgt, FXSelector sel, FXuint opts=FOURSPLITTER_NORMAL, FXint x=0, FXint y=0, FXint w=0, FXint h=0) | |
| Create 4-way splitter, initially shown as four unexpanded panes; notifies target about size changes. | |
| FXWindow * | getTopLeft () const |
| Get top left child, if any. | |
| FXWindow * | getTopRight () const |
| Get top right child, if any. | |
| FXWindow * | getBottomLeft () const |
| Get bottom left child, if any. | |
| FXWindow * | getBottomRight () const |
| Get bottom right child, if any. | |
| FXint | getHSplit () const |
| Get horizontal split fraction. | |
| FXint | getVSplit () const |
| Get vertical split fraction. | |
| void | setHSplit (FXint s) |
| Change horizontal split fraction. | |
| void | setVSplit (FXint s) |
| Change vertical split fraction. | |
| virtual void | layout () |
| Perform layout. | |
| virtual FXint | getDefaultWidth () |
| Get default width. | |
| virtual FXint | getDefaultHeight () |
| Get default height. | |
| FXuint | getSplitterStyle () const |
| Return current splitter style. | |
| void | setSplitterStyle (FXuint style) |
| Change splitter style. | |
| void | setBarSize (FXint bs) |
| Change splitter bar width. | |
| FXint | getBarSize () const |
| Get splitter bar width. | |
| void | setExpanded (FXuint set=FX4Splitter::ExpandAll) |
| Change set of expanded children. | |
| FXuint | getExpanded () const |
| Get set of expanded children. | |
| virtual void | save (FXStream &store) const |
| Save to stream. | |
| virtual void | load (FXStream &store) |
| Load from stream. | |
Protected Member Functions | |
| FXuchar | getMode (FXint x, FXint y) |
| void | moveSplit (FXint x, FXint y) |
| void | drawSplit (FXint x, FXint y, FXuint m) |
| void | adjustLayout () |
The four-way splitter is a layout manager which manages four children like four panes in a window.
You can use a four-way splitter for example in a CAD program where you may want to maintain three orthographic views, and one oblique view of a model. The four-way splitter allows interactive repartitioning of the panes by means of moving the central splitter bars. When the four-way splitter is itself resized, each child is proportionally resized, maintaining the same split-percentage. The four-way splitter widget sends a SEL_CHANGED to its target during the resizing of the panes; at the end of the resize interaction, it sends a SEL_COMMAND to signify that the resize operation is complete. It is possible to expand or collapse one or more of the sub-panes of the four-way splitter; by default, all four panes are expanded. When a pane is collapsed, the remaining panes will fill the space left. If the FOURSPLITTER_HORIZONTAL flag is in effect (default), the remaining panels expand horizontally to fill the space; conversely, if FOURSPLITTER_VERTICAL is passed then the remaining panels will expand vertically to accomodate the extra space. The flag FOURSPLITTER_TRACKING causes the contents to be redrawn interactively as the split-division is adjusted; otherwise the contents will be redrawn only after the resizing is finished.
| anonymous enum |
|
|