SUIT_DataObject::SUIT_DataObject( SUIT_DataObject* p )
: myParent( 0 ),
mySignal( 0 ),
+ myOpen( false ),
myCheck( false )
{
myChildren.setAutoDelete( true );
SUIT_DataObject::~SUIT_DataObject()
{
- if ( mySignal )
- {
- mySignal->emitSignal();
- mySignal->setOwner( 0 );
- }
-
- delete mySignal;
-
SUIT_DataObject* p = myParent;
myParent = 0;
if ( p )
p->removeChild( this );
+ if ( mySignal )
+ {
+ mySignal->emitSignal();
+ mySignal->setOwner( 0 );
+ }
+
for ( QPtrListIterator<SUIT_DataObject> it( myChildren ); it.current(); ++it )
it.current()->myParent = 0;
+
+ delete mySignal;
}
/*!
return child;
}
+/*!
+ Returns the level of the object in the data tree.
+ 0 means that object is top-level.
+*/
+
+int SUIT_DataObject::level() const
+{
+ int lev = 0;
+ SUIT_DataObject* p = parent();
+ while ( p ) {
+ p = p->parent();
+ lev++;
+ }
+ return lev;
+}
+
/*!
Returns the next data object in the child list of the parent.
*/
myCheck = on;
}
+bool SUIT_DataObject::isOpen() const
+{
+ return myOpen;
+}
+
+void SUIT_DataObject::setOpen( const bool on )
+{
+ myOpen = on;
+}
+
/*!
Returns object personal indentification key.
*/
{
}
+/*!
+ Destructor.
+*/
SUIT_DataObject::Signal::~Signal()
{
SUIT_DataObject* o = myOwner;
}
}
+/*!
+ Set owner \a o.
+*/
void SUIT_DataObject::Signal::setOwner( SUIT_DataObject* o )
{
myOwner = o;
}
+/*!
+ emit signal destroed owner.
+*/
void SUIT_DataObject::Signal::emitSignal()
{
if ( myOwner )