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. . 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 represents uniform data tree structure recommended to use in the SUIT-based applications.
SUIT_DataObject::SUIT_DataObject | ( | SUIT_DataObject * | p = 0 | ) |
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 |
Destroys all the children if "auto-delete children" flag is set.
References autoDeleteChildren(), SUIT_DataObject::Signal::emitDestroyed(), if(), myChildren, myParent, removeChild(), and signal().
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 | ) |
obj | child object being added |
References insertChild(), and myChildren.
|
virtual |
References myParent.
bool SUIT_DataObject::autoDeleteChildren | ( | ) | const |
true
if the object should delete all its children on destroying References myAutoDel.
int SUIT_DataObject::childCount | ( | ) | const |
References myChildren.
SUIT_DataObject * SUIT_DataObject::childObject | ( | const int | idx | ) | const |
idx | child object index |
References myChildren.
int SUIT_DataObject::childPos | ( | const SUIT_DataObject * | obj | ) | const |
obj | child object |
References myChildren.
|
virtual |
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 |
If parameter rec is true
then function collects all the children recursively.
rec | if true collect all children recursively |
References children().
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, SALOME_PYQT_BorrowedDataObjectLight, LightApp_DataObject, SALOME_PYQT_DataObjectLight, and SalomeApp_DataObject.
|
virtual |
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.
sig | signal name |
reciever | signal receiver object |
slot | slot name |
true
if connection is successfull References signal().
|
virtual |
Reimplemented in LightApp_DataObject.
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 | ( | ) |
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().
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 |
indent | current indentation level |
References myChildren, and name().
|
virtual |
Reimplemented in SalomeApp_DataObject.
SUIT_DataObject * SUIT_DataObject::firstChild | ( | ) | const |
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 |
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.
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, LightApp_ModuleObject, SalomeApp_DataObject, SALOME_PYQT_BorrowedDataObjectLight, CAM_ModuleObject, and SALOME_PYQT_DataObjectLight.
|
virtual |
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 | ||
) |
obj | child object being added |
position | child position |
References assignParent(), myChildren, and position().
|
virtual |
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 |
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 |
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 Default implementation supports the checked state for the first ("Name") column only.
id | column id |
|
virtual |
|
virtual |
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 |
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 |
This method can be re-implemented in the subclasses. Default implementation returns 0.
Reimplemented in LightApp_DataObject.
SUIT_DataObject * SUIT_DataObject::lastChild | ( | ) | const |
int SUIT_DataObject::level | ( | ) | const |
|
inline |
void SUIT_DataObject::moveChildPos | ( | SUIT_DataObject * | theObj, |
int | theNewPos | ||
) |
theObj | child object |
theNewPos | child objectnew position in the children list |
References myChildren.
|
virtual |
This method should be re-implemented in the subclasses. Default implementation returns null string.
Reimplemented in SalomeApp_SavePointRootObject, SalomeApp_SavePointObject, SalomeApp_RootObject, SalomeApp_ModuleObject, LightApp_ModuleObject, SALOME_PYQT_BorrowedDataObjectLight, SalomeApp_DataObject, CAM_ModuleObject, and SALOME_PYQT_DataObjectLight.
SUIT_DataObject * SUIT_DataObject::nextBrother | ( | ) | const |
References childObject(), childPos(), and myParent.
|
virtual |
References myParent.
int SUIT_DataObject::position | ( | ) | const |
References childPos(), and myParent.
SUIT_DataObject * SUIT_DataObject::prevBrother | ( | ) | const |
References childObject(), childPos(), and myParent.
|
virtual |
obj | child object being removed |
del | if true , the child object is destroyed |
References deleteLater(), SUIT_DataObject::Signal::emitRemoved(), myChildren, setParent(), and signal().
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 | ) |
obj | object which children to be reparented |
References children().
bool SUIT_DataObject::replaceChild | ( | SUIT_DataObject * | src, |
SUIT_DataObject * | trg, | ||
const bool | del = false |
||
) |
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 |
If this flag is on (default), the object will delete all its children on destroying.
on | new flag value |
References myAutoDel.
|
virtual |
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 |
This method can be re-implemented in the subclasses. Default implementation returns false
.
true
if rename operation finished successfully, false
otherwise. Reimplemented in LightApp_DataObject, SALOME_PYQT_BorrowedDataObjectLight, and SALOME_PYQT_DataObjectLight.
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 |
p | new parent object |
References appendChild(), myParent, parent(), and removeChild().
void SUIT_DataObject::setPosition | ( | int | theNewPos | ) |
References moveChildPos(), myParent, and position().
|
static |
References mySignal.
This method can be re-implemented in the subclasses. Default implementation returns null string.
The parameter id specifies the column identificator
id | column id |
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, LightApp_DataObject, and SalomeApp_DataObject.
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, LightApp_ModuleObject, SalomeApp_DataObject, SALOME_PYQT_BorrowedDataObjectLight, CAM_ModuleObject, and SALOME_PYQT_DataObjectLight.
|
virtual |
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 |