#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 |
![]() | |
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) |
![]() | |
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.