Salome HOME
*** empty log message ***
[modules/gui.git] / src / SUIT / SUIT_DataObject.h
index c7e1f848ebb443ef5125c33d9e09a663d6695e02..cc4cf374c42e06c3cdfa62a8d3a8bf3c0132969b 100755 (executable)
@@ -24,7 +24,7 @@ public:
   class Signal;
 
   typedef enum { None, RadioButton, CheckBox } CheckType;
-  typedef enum { Text, Base, Foreground, Background, Highlight } ColorRole;
+  typedef enum { Text, Base, Foreground, Background, Highlight, HighlightedText } ColorRole;
 
   SUIT_DataObject( SUIT_DataObject* = 0 );
   virtual ~SUIT_DataObject();
@@ -51,12 +51,13 @@ public:
   virtual void                insertChild( SUIT_DataObject*, int thePosition );
   bool                        replaceChild( SUIT_DataObject*, SUIT_DataObject*, const bool = false );
 
-  QString                     text() const { return text( 0 ); }
-  QColor                      color() const { return color( Foreground ); }
-  virtual QString             name() const;
-  virtual QPixmap             icon() const;
+  void                        reparentChildren( const SUIT_DataObject* );
+
   virtual QString             text( const int ) const;
   virtual QColor              color( const ColorRole ) const;
+
+  virtual QString             name() const;
+  virtual QPixmap             icon() const;
   virtual QString             toolTip() const;
 
   virtual SUIT_DataObject*    parent() const;
@@ -70,19 +71,26 @@ public:
   virtual bool                isOn() const;
   virtual void                setOn( const bool );
 
+  virtual bool                isOpen() const;
+  virtual void                setOpen( const bool );
+
   virtual SUIT_DataObjectKey* key() const;
 
   bool                        connect( QObject*, const char* );
   bool                        disconnect( QObject*, const char* );
+
+  void                        deleteLater();
   
   void                        dump( const int indent = 2 ) const; // dump to cout
 
 private:
+  bool                        myOpen;
   bool                        myCheck;
   Signal*                     mySignal;
   SUIT_DataObject*            myParent;
   DataObjectList              myChildren;
 
+  friend class SUIT_DataObject::Signal;
   friend class SUIT_DataObjectIterator;
 };
 
@@ -91,8 +99,11 @@ class SUIT_DataObject::Signal : public QObject
   Q_OBJECT
 
 public:
-  Signal( SUIT_DataObject* o ) : QObject(), myOwner( o ) {};
-  virtual ~Signal() { emit destroyed( myOwner ); };
+  Signal( SUIT_DataObject* );
+  virtual ~Signal();
+
+  void                        emitSignal();
+  void                        setOwner( SUIT_DataObject* o );
 
 signals:
   void                        destroyed( SUIT_DataObject* );