#include <YLayoutBox.h>


Public Types | |
| typedef std::vector< int > | sizeVector |
| typedef std::vector< int > | posVector |
Public Member Functions | |
| virtual | ~YLayoutBox () |
| virtual const char * | widgetClass () const |
| YUIDimension | primary () const |
| YUIDimension | secondary () const |
| bool | debugLayout () const |
| void | setDebugLayout (bool deb=true) |
| virtual int | preferredSize (YUIDimension dim) |
| virtual int | preferredWidth () |
| virtual int | preferredHeight () |
| virtual void | setSize (int newWidth, int newHeight) |
| virtual bool | stretchable (YUIDimension dimension) const |
| virtual void | moveChild (YWidget *child, int newX, int newY)=0 |
Public Member Functions inherited from YWidget | |
| virtual | ~YWidget () |
| virtual std::string | debugLabel () const |
| std::string | helpText () const |
| void | setHelpText (const std::string &helpText) |
| virtual const YPropertySet & | propertySet () |
| virtual bool | setProperty (const std::string &propertyName, const YPropertyValue &val) |
| virtual YPropertyValue | getProperty (const std::string &propertyName) |
| bool | hasChildren () const |
| YWidget * | firstChild () const |
| YWidget * | lastChild () const |
| YWidgetListIterator | childrenBegin () const |
| YWidgetListIterator | childrenEnd () const |
| YWidgetListConstIterator | childrenConstBegin () const |
| YWidgetListConstIterator | childrenConstEnd () const |
| YWidgetListIterator | begin () |
| YWidgetListIterator | end () |
| int | childrenCount () const |
| bool | contains (YWidget *child) const |
| virtual void | addChild (YWidget *child) |
| virtual void | removeChild (YWidget *child) |
| void | deleteChildren () |
| YWidget * | parent () const |
| bool | hasParent () const |
| void | setParent (YWidget *newParent) |
| YDialog * | findDialog () |
| YWidget * | findWidget (YWidgetID *id, bool doThrow=true) const |
| bool | isValid () const |
| bool | beingDestroyed () const |
| void * | widgetRep () const |
| void | setWidgetRep (void *toolkitWidgetRep) |
| bool | hasId () const |
| YWidgetID * | id () const |
| void | setId (YWidgetID *newId_disown) |
| virtual void | setEnabled (bool enabled=true) |
| void | setDisabled () |
| virtual bool | isEnabled () const |
| void | setStretchable (YUIDimension dim, bool newStretch) |
| void | setDefaultStretchable (YUIDimension dim, bool newStretch) |
| virtual int | weight (YUIDimension dim) |
| bool | hasWeight (YUIDimension dim) |
| void | setWeight (YUIDimension dim, int weight) |
| void | setNotify (bool notify=true) |
| bool | notify () const |
| void | setNotifyContextMenu (bool notifyContextMenu=true) |
| bool | notifyContextMenu () const |
| bool | sendKeyEvents () const |
| void | setSendKeyEvents (bool doSend) |
| bool | autoShortcut () const |
| void | setAutoShortcut (bool _newAutoShortcut) |
| int | functionKey () const |
| bool | hasFunctionKey () const |
| virtual void | setFunctionKey (int fkey_no) |
| virtual bool | setKeyboardFocus () |
| virtual std::string | shortcutString () const |
| virtual void | setShortcutString (const std::string &str) |
| virtual const char * | userInputProperty () |
| void | dumpWidgetTree (int indentationLevel=0) |
| void | dumpDialogWidgetTree () |
| void | setChildrenEnabled (bool enabled) |
| virtual void | saveUserInput (YMacroRecorder *macroRecorder) |
| void * | operator new (size_t size) |
| void | operator delete (void *ptr) noexcept |
| virtual void | startMultipleChanges () |
| virtual void | doneMultipleChanges () |
Static Public Member Functions | |
| static bool | isLayoutStretch (YWidget *child, YUIDimension dimension) |
Protected Member Functions | |
| YLayoutBox (YWidget *parent, YUIDimension dim) | |
| int | childrenTotalWeight (YUIDimension dimension) |
| int | childrenMaxPreferredSize (YUIDimension dimension) |
| int | totalNonWeightedChildrenPreferredSize (YUIDimension dimension) |
| int | countNonWeightedChildren (YUIDimension dimension) |
| int | countStretchableChildren (YUIDimension dimension) |
| int | countLayoutStretchChildren (YUIDimension dimension) |
| YWidget * | findDominatingChild () |
| void | calcPrimaryGeometry (int newSize, sizeVector &childSize, posVector &childPos) |
| void | calcSecondaryGeometry (int newSize, sizeVector &childSize, posVector &childPos) |
| void | doResize (sizeVector &width, sizeVector &height, posVector &x_pos, posVector &y_pos) |
Protected Member Functions inherited from YWidget | |
| YWidget (YWidget *parent) | |
| YWidgetChildrenManager * | childrenManager () const |
| void | setChildrenManager (YWidgetChildrenManager *manager) |
| void | setBeingDestroyed () |
| void | dumpWidget (YWidget *w, int indentationLevel) |
A vertical or horizontal stacking of widgets, implementing HBox and VBox.
|
protected |
Constructor.
Creates a VBox for dim == YD_VERT or a HBox for YD_HORIZ.
|
virtual |
Destructor.
|
protected |
Calculate the sizes and positions of all children in the primary dimension and store them in "childSize" and "childPos".
|
protected |
Calculate the sizes and positions of all children in the secondary dimension and store them in "childSize" and "childPos".
|
protected |
Return the maximum preferred size of all children in the specified dimension.
|
protected |
Add up all the children's weights.
|
protected |
Count the number of "rubber bands", i.e. the number of stretchable layout spacings ( e.g. {H|V}Weight, {H|V}Spacing ). Only those without a weight are counted.
|
protected |
Count the number of non-weighted children.
|
protected |
Count the number of stretchable ( non-weighted ) children. Note: Weighted children are always considered stretchable.
| bool YLayoutBox::debugLayout | ( | ) | const |
Returns 'true' if layout debugging (verbose logging during layout) is on.
|
protected |
Actually perform resizing and moving the child widgets to the appropriate position.
The vectors passed are the sizes previously calculated by calcPrimaryGeometry() and calcSecondaryGeometry().
|
protected |
Determine the number of the "dominating child" - the child widget that determines the overall size with respect to its weight.
Return 0 if there is no dominating child, i.e. none of the children has a weight specified.
|
static |
Check if this is a layout stretch widget in the specfied dimension, i.e. an empty widget that is stretchable.
|
pure virtual |
Move a child to a new position.
Derived classes are required to implement this.
|
virtual |
|
virtual |
|
virtual |
| YUIDimension YLayoutBox::primary | ( | ) | const |
Return the primary dimension, i.e., the dimension this LayoutBox lays out its children in: YD_VERT for a VBox, YD_HORIZ for a HBox.
| YUIDimension YLayoutBox::secondary | ( | ) | const |
Return the secondary dimension.
| void YLayoutBox::setDebugLayout | ( | bool | deb = true | ) |
Enable or disable layout debugging.
|
virtual |
|
virtual |
|
protected |
Add up all the non-weighted children's preferred sizes in the specified dimension.
|
virtual |
Returns a descriptive name of this widget class for logging, debugging etc.
Reimplemented from YWidget.