Salome HOME
Fix for bug 10438: Crash during Explode on Blocks operation (Global selection on...
[modules/gui.git] / src / Qtx / QtxResourceEdit.h
index 66ce2bdfb7a1321131f9439c1202af7877297efa..6855f22b6aa585377352fa215ca0a742f98c4039 100644 (file)
@@ -15,6 +15,7 @@ class QtxResourceMgr;
 
 #include <qcolor.h>
 #include <qvariant.h>
+#include <qfont.h>
 
 class QTX_EXPORT QtxResourceEdit
 {
@@ -27,12 +28,14 @@ public:
 
   QtxResourceMgr*      resourceMgr() const;
 
-  int                  addItem( const QString& label, const int pId = -1, const int = -1,
+  virtual int          addItem( const QString& label, const int pId = -1, const int = -1,
                                 const QString& section = QString::null,
                                 const QString& param = QString::null );
 
-  QVariant             property( const int, const QString& ) const;
-  void                 setProperty( const int, const QString&, const QVariant& );
+  QVariant             itemProperty( const int, const QString& ) const;
+  virtual void         setItemProperty( const int, const QString&, const QVariant& );
+
+  void                 resource( const int, QString&, QString& ) const;
 
   virtual void         store();
   virtual void         retrieve();
@@ -62,6 +65,11 @@ protected:
 
   virtual void         changedResources( const QMap<Item*, QString>& );
 
+  virtual void         itemAdded( Item* );
+  virtual void         itemRemoved( Item* );
+
+  void                 childItems( QPtrList<Item>& ) const;
+
 private:
   void                 removeItem( Item* );
   Item*                createItem( const QString&, const int, const int );
@@ -73,6 +81,7 @@ private:
   ItemMap              myItems;
   QtxResourceMgr*      myResMgr;
   QMap<Item*, QString> myBackup;
+  QPtrList<Item>       myChildren;
 
   friend class QtxResourceEdit::Item;
 };
@@ -82,7 +91,7 @@ private:
   Descr: Class for incapsulation of one preference item
 */
 
-class QtxResourceEdit::Item
+class QTX_EXPORT QtxResourceEdit::Item
 {
 public:
   Item( QtxResourceEdit*, Item* = 0 );
@@ -94,6 +103,8 @@ public:
   Item*                parentItem() const;
   void                 childItems( QPtrList<Item>& ) const;
 
+  virtual bool         isEmpty() const;
+
   QString              title() const;
   void                 resource( QString&, QString& ) const;
 
@@ -113,6 +124,9 @@ public:
   QString              resourceValue() const;
   void                 setResourceValue( const QString& );
 
+  virtual void         insertChild( Item* );
+  virtual void         removeChild( Item* );
+
 protected:
   QtxResourceMgr*      resourceMgr() const;
   QtxResourceEdit*     resourceEdit() const;
@@ -121,12 +135,14 @@ protected:
   double               getDouble( const double = 0.0 ) const;
   bool                 getBoolean( const bool = false ) const;
   QColor               getColor( const QColor& = QColor() ) const;
+  QFont                getFont( const QFont& = QFont() ) const;
   QString              getString( const QString& = QString::null ) const;
 
   void                 setInteger( const int );
   void                 setDouble( const double );
   void                 setBoolean( const bool );
   void                 setColor( const QColor& );
+  void                 setFont( const QFont& );  
   void                 setString( const QString& );
 
   Item*                item( const int ) const;