Envision
A visual programming IDE for object-oriented languages
|
Base class for all the form elements, that can be added as a form to a DeclarativeItem. More...
Public Member Functions | |
FormElement ()=default | |
FormElement (const FormElement &other) | |
virtual | ~FormElement () |
virtual QList< const Item *const DeclarativeItemBase::* > | allHandledChildPointers () |
Returns a list of all pointer to child items of this form. More... | |
virtual FormElement * | clone () const =0 |
Copy this element and all its children into a new element tree. More... | |
FormElement * | cloneIfAlreadyUsed () |
virtual void | computeSize (Item *item, int availableWidth, int availableHeight)=0 |
Method called inside the item's updateGeometry method to compute it's size and position it's child elements. More... | |
virtual void | destroyChildItems (Item *item, QList< const Item *const DeclarativeItemBase::* > handledChildren) |
This method is recursively called on all form elements to destroy all the information they might have about a specific item. More... | |
virtual bool | elementOrChildHasFocus (Item *item) const |
Method called inside the item's elementOrChildHasFocus and by some layout form elements. More... | |
int | height (Item *item) const |
Returns the cached height of this form element for the specified item. More... | |
virtual bool | isEmpty (const Item *item) const |
Method called inside the item's isEmpty method, and by some layout form elements. More... | |
bool | isFormRoot () const |
FormElement & | operator= (const FormElement &)=delete |
FormElement * | parent () const |
QPoint | pos (Item *item) const |
Returns the cached position of this form element for the specified item. More... | |
virtual QList< ItemRegion > | regions (DeclarativeItemBase *item, int parentX=0, int parentY=0) |
Method called inside the item's regions method and returns cursor and item regions of all contained form elements for this item. More... | |
FormElement * | setBottomMargin (int bottom) |
Sets the bottom margin of this form element. More... | |
FormElement * | setFormRoot () |
Sets this element to be a formRoot. More... | |
virtual void | setItemPositions (Item *item, int parentX=0, int parentY=0) |
Method called inside the item's updateGeometry method to recursively position it's child items relative to the item's position. More... | |
FormElement * | setLeftMargin (int left) |
Sets the left margin of this form element. More... | |
FormElement * | setMargins (int left, int top, int right, int bottom) |
Sets the left, top, right and bottom margins to the respective values. More... | |
FormElement * | setMargins (int margin) |
Sets all the margins of this form element to the value specified as margin. More... | |
void | setPos (Item *item, const QPoint &position) |
Caches the position of this form element for the specified item. More... | |
FormElement * | setRightMargin (int right) |
Sets the right margin of this form element. More... | |
FormElement * | setTopMargin (int top) |
Sets the top margin of this form element. More... | |
virtual QList< FormElement * > | shapeElements () |
Returns the list of shape elements inside this form element. More... | |
QSize | size (Item *item) const |
Returns the cached size of this form element for the specified item. More... | |
virtual bool | sizeDependsOnParent (const Item *item) const =0 |
Method called inside the item's sizeDependsOnParent method, and by some layout form elements. More... | |
virtual void | synchronizeWithItem (Item *item) |
Method called inside the item's determineChildren method to let the form element and it's children update their information about items and nodes belonging to this item. More... | |
int | width (Item *item) const |
Returns the cached width of this form element for the specified item. More... | |
int | x (Item *item) const |
Returns the cached position on the x-axis of this form element for the specified item. More... | |
int | xEnd (Item *item) const |
Returns the cached position on the x-axis where this form element ends for the specified item. More... | |
int | y (Item *item) const |
Returns the cached position on the y-axis of this form element for the specified item. More... | |
int | yEnd (Item *item) const |
Returns the cached position on the y-axis where this form element ends for the specified item. More... | |
Protected Member Functions | |
void | addChild (FormElement *child) |
Adds a child to the list of children. More... | |
int | bottomMargin () |
Returns the bottom margin. More... | |
const QVector< FormElement * > & | children () const |
Returns the list of children. More... | |
int | leftMargin () |
Returns the left margin. More... | |
void | removeChild (FormElement *child) |
Removes a child from the list of children. More... | |
int | rightMargin () |
Returns the right margin. More... | |
void | setSize (Item *item, const QSize &size) |
Caches the size of this form element for the specified item. More... | |
int | topMargin () |
Returns the top margin. More... | |
Private Member Functions | |
void | clearCache (const Item *item) |
Clears the element property cache of this form element for a specific item. More... | |
ElementCache & | getCache (const Item *item) const |
Returns the element property cache of this form element for a specific item. More... | |
Private Attributes | |
QVector< FormElement * > | children_ {} |
QHash< const Item *, ElementCache * > | elementCache_ {} |
bool | isFormRoot_ {} |
int | marginBottom_ {} |
int | marginLeft_ {} |
int | marginRight_ {} |
int | marginTop_ {} |
FormElement * | parent_ {} |
Base class for all the form elements, that can be added as a form to a DeclarativeItem.
It implements some basic behavior, such as a list of children, and margins.
|
default |
Visualization::FormElement::FormElement | ( | const FormElement & | other | ) |
|
virtual |
|
protected |
Adds a child to the list of children.
|
virtual |
Returns a list of all pointer to child items of this form.
This list should only be used for comparison as in destroyChildItems() and should not be used for writing.
Reimplemented in Visualization::ItemWrapperFormElement< ParentType, ChildItemType >.
|
inlineprotected |
Returns the bottom margin.
|
inlineprotected |
Returns the list of children.
|
private |
Clears the element property cache of this form element for a specific item.
|
pure virtual |
Copy this element and all its children into a new element tree.
Implemented in Visualization::VisualizationItemWrapperFormElement< ParentType, VisualizationType, externalSynchronization >, Visualization::ShapeFormElement, Visualization::NodeWithVisualizationItemWrapperFormElement< ParentType, VisualizationType >, Visualization::NodeItemWrapperFormElement< ParentType >, and Visualization::BorderFormElement.
FormElement * Visualization::FormElement::cloneIfAlreadyUsed | ( | ) |
|
pure virtual |
Method called inside the item's updateGeometry method to compute it's size and position it's child elements.
The arguments availableWidth and availableHeight are similar to those of Item::updateGeometry. If they are zero, the form element calculates its minimum size, if it they are bigger, the element tries to stretch/grow to this size, but not further.
Implemented in Visualization::ShapeFormElement, Visualization::ItemWrapperFormElement< ParentType, ChildItemType >, and Visualization::BorderFormElement.
|
virtual |
This method is recursively called on all form elements to destroy all the information they might have about a specific item.
It is called in two cases:
Reimplemented in Visualization::ItemWrapperFormElement< ParentType, ChildItemType >.
|
virtual |
Method called inside the item's elementOrChildHasFocus and by some layout form elements.
It recursively determines if this form element or any of its children has the focus for the specified item.
Reimplemented in Visualization::ItemWrapperFormElement< ParentType, ChildItemType >.
|
private |
Returns the element property cache of this form element for a specific item.
|
inline |
Returns the cached height of this form element for the specified item.
|
virtual |
Method called inside the item's isEmpty method, and by some layout form elements.
It recursively determines whether the form element is empty for the specified item.
Reimplemented in Visualization::ShapeFormElement, Visualization::ItemWrapperFormElement< ParentType, ChildItemType >, and Visualization::BorderFormElement.
|
inline |
|
inlineprotected |
Returns the left margin.
|
delete |
|
inline |
|
inline |
Returns the cached position of this form element for the specified item.
|
virtual |
Method called inside the item's regions method and returns cursor and item regions of all contained form elements for this item.
parentX and parentY are the offsets that this element needs to have from the parent item (similar to the setItemPositions method).
Reimplemented in Visualization::ItemWrapperFormElement< ParentType, ChildItemType >.
|
protected |
Removes a child from the list of children.
|
inlineprotected |
Returns the right margin.
|
inline |
Sets the bottom margin of this form element.
Returns a pointer to this FormElement.
FormElement * Visualization::FormElement::setFormRoot | ( | ) |
Sets this element to be a formRoot.
|
virtual |
Method called inside the item's updateGeometry method to recursively position it's child items relative to the item's position.
parentX and parentY are the offsets that this form element needs to have from the parent item. The element then puts its children at this offset plus the offset for its children relative to itself.
Reimplemented in Visualization::ItemWrapperFormElement< ParentType, ChildItemType >.
|
inline |
Sets the left margin of this form element.
Returns a pointer to this form Element.
|
inline |
Sets the left, top, right and bottom margins to the respective values.
Returns a pointer to this FormElement.
|
inline |
Sets all the margins of this form element to the value specified as margin.
Returns a pointer to this FormElement.
|
inline |
Caches the position of this form element for the specified item.
|
inline |
Sets the right margin of this form element.
Returns a pointer to this FormElement.
|
inlineprotected |
Caches the size of this form element for the specified item.
|
inline |
Sets the top margin of this form element.
Returns a pointer to this FormElement.
|
virtual |
Returns the list of shape elements inside this form element.
Recursively collects the shape elements from the element's children. Method is called once after the static initialization of the visualization item type.
Reimplemented in Visualization::ShapeFormElement.
|
inline |
Returns the cached size of this form element for the specified item.
|
pure virtual |
Method called inside the item's sizeDependsOnParent method, and by some layout form elements.
If the form element returns true it can be, that computeSize is called on it a second time with non-zero availableWidth and availableHeight.
Implemented in Visualization::ShapeFormElement, Visualization::ItemWrapperFormElement< ParentType, ChildItemType >, and Visualization::BorderFormElement.
|
virtual |
Method called inside the item's determineChildren method to let the form element and it's children update their information about items and nodes belonging to this item.
If any nodes or child items changed, this method allows the item wrappers and sequential layout to reflect those changes.
Reimplemented in Visualization::VisualizationItemWrapperFormElement< ParentType, VisualizationType, externalSynchronization >, Visualization::NodeWithVisualizationItemWrapperFormElement< ParentType, VisualizationType >, and Visualization::NodeItemWrapperFormElement< ParentType >.
|
inlineprotected |
Returns the top margin.
|
inline |
Returns the cached width of this form element for the specified item.
|
inline |
Returns the cached position on the x-axis of this form element for the specified item.
|
inline |
Returns the cached position on the x-axis where this form element ends for the specified item.
That is the position on the x-axis + width.
|
inline |
Returns the cached position on the y-axis of this form element for the specified item.
|
inline |
Returns the cached position on the y-axis where this form element ends for the specified item.
That is the position on the y-axis + height.
|
private |
|
mutableprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |