Data object representing the data instance in the tree-like hierarchy. More...
#include <SUIT_DataObject.h>

Classes | |
| class | Signal |
| Watcher class, responsible for the emitting signals on behalf of the data objects. More... | |
Public Types | |
| enum | ColorRole { Text , Base , Foreground , Background , Highlight , HighlightedText } |
| Color role. More... | |
| enum | { NameId , VisibilityId } |
| Column id. More... | |
Public Member Functions | |
| SUIT_DataObject (SUIT_DataObject *=0) | |
| Constructor. More... | |
| virtual | ~SUIT_DataObject () |
| Destructor. More... | |
| SUIT_DataObject * | root () const |
| Get the root object. More... | |
| SUIT_DataObject * | lastChild () const |
| Get the last child object. More... | |
| SUIT_DataObject * | firstChild () const |
| Get the first child object. More... | |
| int | childCount () const |
| Get the number of the child objects. More... | |
| int | childPos (const SUIT_DataObject *) const |
| Get the index of the specified object in the child list. More... | |
| void | moveChildPos (SUIT_DataObject *, int) |
| Moves the child position from current to new one. More... | |
| SUIT_DataObject * | childObject (const int) const |
| Get child object by the specified index. More... | |
| int | level () const |
| Get the object level in the tree structure. More... | |
| int | position () const |
| Get the position of the data object in its parent's children list. More... | |
| void | setPosition (int) |
| Sets new position of the object in parent's list. More... | |
| SUIT_DataObject * | nextBrother () const |
| Get the next sibling data object in the children list. More... | |
| SUIT_DataObject * | prevBrother () const |
| Get the previous sibling data object in the children list. More... | |
| bool | autoDeleteChildren () const |
| Get "auto-delete children" flag. More... | |
| virtual void | setAutoDeleteChildren (const bool) |
| Set "auto-delete children" flag. More... | |
| virtual void | children (DataObjectList &, const bool=false) const |
| Get all children. More... | |
| virtual DataObjectList | children (const bool=false) |
| Get all children. \override. More... | |
| void | appendChild (SUIT_DataObject *) |
| Add new child object to the end of the children list. More... | |
| virtual void | insertChild (SUIT_DataObject *, int) |
| Insert new child object to the list of the children. More... | |
| virtual void | removeChild (SUIT_DataObject *, const bool=false) |
| Remove the specified child object reference. More... | |
| bool | replaceChild (SUIT_DataObject *, SUIT_DataObject *, const bool=false) |
| Replace the specified child object by another object. More... | |
| void | reparentChildren (const SUIT_DataObject *) |
| Change the parent for all children from specified object to this one. More... | |
| virtual SUIT_DataObject * | parent () const |
| Get the parent object. More... | |
| virtual void | setParent (SUIT_DataObject *) |
| Change the parent object. More... | |
| virtual void | assignParent (SUIT_DataObject *) |
| void | insertChildAtPos (SUIT_DataObject *obj, int position) |
| Insert new child object into the list of the children (faster version of insertChild without signal). More... | |
| bool | modified () |
| virtual void | setModified (bool modified) |
| Sets modification state of the object. More... | |
| virtual QString | name () const |
| Get data object name. More... | |
| virtual QString | text (const int=NameId) const |
| Get object text data for the specified column. More... | |
| virtual QPixmap | icon (const int=NameId) const |
| Get data object icon for the specified column. More... | |
| virtual QColor | color (const ColorRole, const int=NameId) const |
| Get data object color for the specified column. More... | |
| virtual QString | toolTip (const int=NameId) const |
| Get data object tooltip for the specified column. More... | |
| virtual QString | statusTip (const int=NameId) const |
| Get data object status tip for the specified column. More... | |
| virtual QString | whatsThis (const int=NameId) const |
| Get data object "what's this" information for the specified column. More... | |
| virtual QFont | font (const int=NameId) const |
| Get data object font for the specified column. More... | |
| virtual int | alignment (const int=NameId) const |
| Get data object text alignment for the specified column. More... | |
| virtual bool | expandable () const |
| virtual bool | isVisible () const |
| Check if the object is visible. More... | |
| virtual bool | isDraggable () const |
| Check if the object is draggable. More... | |
| virtual bool | isDropAccepted () const |
| Check if the drop operation for this object is possible. More... | |
| virtual bool | isEnabled () const |
| Check if this object is enabled. More... | |
| virtual bool | isSelectable () const |
| Check if this object is selectable. More... | |
| virtual bool | isCheckable (const int=NameId) const |
| Check if this object is checkable for the specified column. More... | |
| virtual bool | renameAllowed (const int=NameId) const |
| Check if this object is can't be renamed in place. More... | |
| virtual bool | setName (const QString &name) |
| Set name of the this object. More... | |
| virtual bool | isOn (const int=NameId) const |
| Get the checked state of the object (if it is checkable) for the specified column. More... | |
| virtual void | setOn (const bool, const int=NameId) |
| Set the checked state of the object (if it is checkable) for the specified column. More... | |
| virtual bool | isOpen () const |
| Get the "opened" state of the object. More... | |
| virtual void | setOpen (const bool) |
| Set the "opened" state of the object. More... | |
| virtual void | update () |
| Updates necessary internal fields of data object. More... | |
| virtual bool | customSorting (const int=NameId) const |
| Check if the specified column supports custom sorting. More... | |
| virtual bool | compare (const QVariant &, const QVariant &, const int=NameId) const |
| Compares data from two items for sorting purposes. More... | |
| virtual SUIT_DataObjectKey * | key () const |
| Get the object unique indentification key. More... | |
| virtual int | groupId () const |
| return unique group identificator More... | |
| virtual QVariant | customData (Qtx::CustomDataType) |
| return custom data for data object. More... | |
| void | deleteLater () |
| Schedule this object for the late deleting. More... | |
| void | dump (const int indent=2) const |
| Dump the object tree recursively to the standard output. More... | |
Static Public Member Functions | |
| static Signal * | signal () |
| Get global signal handler. More... | |
| static bool | connect (const char *, QObject *, const char *) |
| Connect to the signal handlerx. More... | |
| static bool | disconnect (const char *, QObject *, const char *) |
| Disconnect from the signal handler. More... | |
Private Attributes | |
| SUIT_DataObject * | myParent |
| bool | myOpen |
| bool | myCheck |
| bool | myAutoDel |
| DataObjectList | myChildren |
| bool | _modified |
Static Private Attributes | |
| static Signal * | mySignal = 0 |
Friends | |
| class | SUIT_DataObject::Signal |
| class | SUIT_DataObjectIterator |
Data object representing the data instance in the tree-like hierarchy.
Data object represents uniform data tree structure recommended to use in the SUIT-based applications.
| SUIT_DataObject::SUIT_DataObject | ( | SUIT_DataObject * | p = 0 | ) |
Constructor.
Creates the data object with the specified parent. To create the top-level object, pass 0 as parameter.
| p | parent object |
References SUIT_DataObject::Signal::emitCreated(), setParent(), and signal().
|
virtual |
Destructor.
Destroys all the children if "auto-delete children" flag is set.
References autoDeleteChildren(), SUIT_DataObject::Signal::emitDestroyed(), myChildren, myParent, removeChild(), and signal().
|
virtual |
Get data object text alignment for the specified column.
This method can be re-implemented in the subclasses. Default implementation returns default alignment which is Qt:AlignLeft.
The parameter id specifies the column identificator (to display, for example, in the tree view widget).
| id | column id |
| void SUIT_DataObject::appendChild | ( | SUIT_DataObject * | obj | ) |
Add new child object to the end of the children list.
| obj | child object being added |
References insertChild(), and myChildren.
|
virtual |
References myParent.
| bool SUIT_DataObject::autoDeleteChildren | ( | ) | const |
Get "auto-delete children" flag.
true if the object should delete all its children on destroying References myAutoDel.
| int SUIT_DataObject::childCount | ( | ) | const |
| SUIT_DataObject * SUIT_DataObject::childObject | ( | const int | idx | ) | const |
Get child object by the specified index.
| idx | child object index |
References myChildren.
| int SUIT_DataObject::childPos | ( | const SUIT_DataObject * | obj | ) | const |
Get the index of the specified object in the child list.
| obj | child object |
References myChildren.
|
virtual |
Get all children. \override.
If parameter rec is true then function collects all the children recursively.
| rec | if true collect all children recursively |
References children().
|
virtual |
Get all children.
If parameter rec is true then function collects all the children recursively.
| lst | returning list of children |
| rec | if true collect all children recursively |
References myChildren.
|
virtual |
Get data object color for the specified column.
This method can be re-implemented in the subclasses. Default implementation returns null color.
The parameter id specifies the column identificator
| role | color role |
| id | column id |
Reimplemented in SalomeApp_RootObject, SalomeApp_DataObject, SALOME_PYQT_DataObjectLight, SALOME_PYQT_BorrowedDataObjectLight, and LightApp_DataObject.
|
virtual |
Compares data from two items for sorting purposes.
This method can be re-implemented in the subclasses. Default implementation returns false ("Name" column does not require custom sorting).
This method is called only for those columns for which customSorting() method returns true.
| left | first data to compare |
| right | second data to compare |
| id | column id |
Reimplemented in SalomeApp_DataObject, and LightApp_DataObject.
|
static |
Connect to the signal handlerx.
| sig | signal name |
| reciever | signal receiver object |
| slot | slot name |
true if connection is successfull References signal().
|
virtual |
return custom data for data object.
Reimplemented in LightApp_DataObject.
|
virtual |
Check if the specified column supports custom sorting.
This method can be re-implemented in the subclasses. Default implementation returns false ("Name" column does not require custom sorting).
| id | column id |
true if column sorting should be customized Reimplemented in SalomeApp_DataObject, and LightApp_DataObject.
| void SUIT_DataObject::deleteLater | ( | ) |
Schedule this object for the late deleting.
The object will be deleted when control returns to the event loop. Note that entering and leaving a new event loop (e.g., by opening a modal dialog) will not perform the deferred deletion; for the object to be deleted, the control must return to the event loop from which deleteLater() was called.
References SUIT_DataObject::Signal::deleteLater(), parent(), removeChild(), and signal().
|
static |
Disconnect from the signal handler.
| sig | signal name |
| reciever | signal receiver object |
| slot | slot name |
true if disconnection is successfull References signal().
| void SUIT_DataObject::dump | ( | const int | indent = 2 | ) | const |
Dump the object tree recursively to the standard output.
| indent | current indentation level |
References myChildren, and name().
|
virtual |
Reimplemented in SalomeApp_DataObject.
| SUIT_DataObject * SUIT_DataObject::firstChild | ( | ) | const |
Get the first child object.
References myChildren.
|
virtual |
Get data object font for the specified column.
This method can be re-implemented in the subclasses. Default implementation returns application default font.
The parameter id specifies the column identificator
| id | column id |
Reimplemented in SalomeApp_DataObject.
|
virtual |
return unique group identificator
Groups of data objects are used for column information search. Each column of data model has one or several registered group id If object has the same group id as one of registered, the information will be shown; the custom id of column will be passed into data() method in order to identify column from point of view of data object
Reimplemented in LightApp_DataObject.
|
virtual |
Get data object icon for the specified column.
This method can be re-implemented in the subclasses. Default implementation returns null pixmap.
The parameter id specifies the column identificator
| id | column id |
Reimplemented in SalomeApp_SavePointObject, SalomeApp_RootObject, SalomeApp_ModuleObject, SalomeApp_DataObject, SALOME_PYQT_DataObjectLight, SALOME_PYQT_BorrowedDataObjectLight, LightApp_ModuleObject, and CAM_ModuleObject.
|
virtual |
Insert new child object to the list of the children.
| obj | child object being added |
| position | child position |
Reimplemented in LightApp_ModuleObject.
References SUIT_DataObject::Signal::emitInserted(), myChildren, position(), setParent(), and signal().
| void SUIT_DataObject::insertChildAtPos | ( | SUIT_DataObject * | obj, |
| int | position | ||
| ) |
Insert new child object into the list of the children (faster version of insertChild without signal).
| obj | child object being added |
| position | child position |
References assignParent(), myChildren, and position().
|
virtual |
|
virtual |
Check if the object is draggable.
This method can be re-implemented in the subclasses. Default implementation returns false (all objects could not be dragged).
true if it is possible to drag this object Reimplemented in LightApp_DataObject.
|
virtual |
Check if the drop operation for this object is possible.
This method can be re-implemented in the subclasses. Default implementation returns false (drop operation is not allowed).
true if it is possible to drop one or more objects (currently selected) to this object Reimplemented in LightApp_DataObject.
|
virtual |
Check if this object is enabled.
This method can be re-implemented in the subclasses. Default implementation returns true (all objects are enabled).
true if the user can interact with the item
|
virtual |
Get the checked state of the object (if it is checkable) for the specified column.
Default implementation supports the checked state for the first ("Name") column only.
| id | column id |
|
virtual |
|
virtual |
Check if this object is selectable.
This method can be re-implemented in the subclasses. Default implementation returns true (all objects are selectable).
true if the item can be selected
|
virtual |
Check if the object is visible.
This method can be re-implemented in the subclasses. Default implementation returns true (all objects are visible by default).
true if this object is displayable or false otherwise Reimplemented in SalomeApp_DataObject, and LightApp_DataObject.
|
virtual |
Get the object unique indentification key.
This method can be re-implemented in the subclasses. Default implementation returns 0.
Reimplemented in LightApp_DataObject.
| SUIT_DataObject * SUIT_DataObject::lastChild | ( | ) | const |
Get the last child object.
References myChildren.
| int SUIT_DataObject::level | ( | ) | const |
Get the object level in the tree structure.
Root object has level 0.
References parent().
|
inline |
| void SUIT_DataObject::moveChildPos | ( | SUIT_DataObject * | theObj, |
| int | theNewPos | ||
| ) |
Moves the child position from current to new one.
| theObj | child object |
| theNewPos | child objectnew position in the children list |
References myChildren.
|
virtual |
Get data object name.
This method should be re-implemented in the subclasses. Default implementation returns null string.
Reimplemented in SalomeApp_SavePointRootObject, SalomeApp_SavePointObject, SalomeApp_RootObject, SalomeApp_ModuleObject, SalomeApp_DataObject, SALOME_PYQT_DataObjectLight, SALOME_PYQT_BorrowedDataObjectLight, LightApp_ModuleObject, and CAM_ModuleObject.
| SUIT_DataObject * SUIT_DataObject::nextBrother | ( | ) | const |
Get the next sibling data object in the children list.
References childObject(), childPos(), and myParent.
|
virtual |
| int SUIT_DataObject::position | ( | ) | const |
Get the position of the data object in its parent's children list.
References childPos(), and myParent.
| SUIT_DataObject * SUIT_DataObject::prevBrother | ( | ) | const |
Get the previous sibling data object in the children list.
References childObject(), childPos(), and myParent.
|
virtual |
Remove the specified child object reference.
| obj | child object being removed |
| del | if true, the child object is destroyed |
References deleteLater(), SUIT_DataObject::Signal::emitRemoved(), myChildren, setParent(), and signal().
|
virtual |
Check if this object is can't be renamed in place.
This method can be re-implemented in the subclasses. Default implementation returns false (all objects can not be renamed).
| id | column id |
true if the item can be renamed by the user in place (e.g. in the Object browser) Reimplemented in LightApp_DataObject.
| void SUIT_DataObject::reparentChildren | ( | const SUIT_DataObject * | obj | ) |
Change the parent for all children from specified object to this one.
| obj | object which children to be reparented |
References children().
| bool SUIT_DataObject::replaceChild | ( | SUIT_DataObject * | src, |
| SUIT_DataObject * | trg, | ||
| const bool | del = false |
||
| ) |
Replace the specified child object by another object.
| src | child object being replaced |
| trg | new child object |
| del | if true, the previous object is destroyed |
true if the object has been replaced References childPos(), deleteLater(), insertChild(), and removeChild().
| SUIT_DataObject * SUIT_DataObject::root | ( | ) | const |
|
virtual |
Set "auto-delete children" flag.
If this flag is on (default), the object will delete all its children on destroying.
| on | new flag value |
References myAutoDel.
|
virtual |
Sets modification state of the object.
When the object has been modified (modified is set to true) a signal is emitted to notify the tree model and eventually redraw the data object.
| modified | modified state |
References _modified, SUIT_DataObject::Signal::emitModified(), modified(), and signal().
|
virtual |
Set name of the this object.
This method can be re-implemented in the subclasses. Default implementation returns false.
true if rename operation finished successfully, false otherwise. Reimplemented in SALOME_PYQT_DataObjectLight, SALOME_PYQT_BorrowedDataObjectLight, and LightApp_DataObject.
|
virtual |
Set the checked state of the object (if it is checkable) for the specified column.
Default implementation supports the checked state for the first ("Name") column only.
| on | new checked state of the object for the specified column |
| id | column id |
|
virtual |
|
virtual |
Change the parent object.
| p | new parent object |
References appendChild(), myParent, parent(), and removeChild().
| void SUIT_DataObject::setPosition | ( | int | theNewPos | ) |
Sets new position of the object in parent's list.
References moveChildPos(), myParent, and position().
|
static |
|
virtual |
Get data object status tip for the specified column.
This method can be re-implemented in the subclasses. Default implementation returns null string.
The parameter id specifies the column identificator
| id | column id |
|
virtual |
Get object text data for the specified column.
This method can be re-implemented in the subclasses. Default implementation returns null string.
Column with id = 0 (NameId) is supposed to be used to get the object name (as it does the default implementation).
| id | column id |
Reimplemented in SalomeApp_RootObject, SalomeApp_DataObject, and LightApp_DataObject.
|
virtual |
Get data object tooltip for the specified column.
This method can be re-implemented in the subclasses. Default implementation returns null string.
The parameter id specifies the column identificator (to display, for example, in the tree view widget).
| id | column id |
Reimplemented in SalomeApp_SavePointRootObject, SalomeApp_SavePointObject, SalomeApp_RootObject, SalomeApp_ModuleObject, SalomeApp_DataObject, SALOME_PYQT_DataObjectLight, SALOME_PYQT_BorrowedDataObjectLight, LightApp_ModuleObject, and CAM_ModuleObject.
|
virtual |
Updates necessary internal fields of data object.
|
virtual |
Get data object "what's this" information for the specified column.
This method can be re-implemented in the subclasses. Default implementation returns null string.
The parameter id specifies the column identificator
| id | column id |
|
friend |
|
friend |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |