Salome HOME
Bug fixed: if 'splash' parameter is not set, then application crashed. Now OK.
[modules/gui.git] / src / ObjBrowser / OB_Browser.h
index 7222ec114d0250408fc3b8a51468262c5def7a2b..5e5adeccd58ca2ef60b7e122ac0fd8957e5cb3ba 100755 (executable)
@@ -27,8 +27,8 @@ class OB_EXPORT OB_Browser : public QFrame, public SUIT_PopupClient
   class ToolTip;
 
 public:
-       OB_Browser( QWidget* = 0, SUIT_DataObject* theRoot = 0 );
-       virtual ~OB_Browser();
+  OB_Browser( QWidget* = 0, SUIT_DataObject* theRoot = 0 );
+  virtual ~OB_Browser();
 
   virtual QString   popupClientType() const { return QString( "ObjectBrowser" ); }
 
@@ -68,14 +68,33 @@ public:
   bool              rootIsDecorated() const;
   void              setRootIsDecorated( const bool );
 
-  virtual int       addColumn( const QString & label, int width = -1, int index = -1 );
-  virtual int       addColumn( const QIconSet & iconset, const QString & label, int width = -1, int index = -1 );
-  virtual void      removeColumn( int index );
+  int               autoOpenLevel() const;
+  void              setAutoOpenLevel( const int );
+
+  virtual int       addColumn( const QString&, const int id = -1, const int width = -1 );
+  virtual int       addColumn( const QIconSet&, const QString&, const int id = -1, const int width = -1 );
+  virtual void      removeColumn( const int id );
+
+  void              setNameTitle( const QString& );
+  virtual void      setNameTitle( const QIconSet&, const QString& );
+  void              setColumnTitle( const int id, const QString& );
+  virtual void      setColumnTitle( const int id, const QIconSet&, const QString& );
+
+  QString           nameTitle() const;
+  QString           columnTitle( const int ) const;
+
+  bool              isColumnVisible( const int ) const;
+  virtual void      setColumnShown( const int, const bool );
+
+  QValueList<int>   columns() const;
+
+  bool              appropriateColumn( const int ) const;
+  virtual void      setAppropriateColumn( const int, const bool );
 
   virtual bool      eventFilter(QObject* watched, QEvent* e);
 
-  QListView*        getListView() const;
-  
+  QListView*        listView() const;
+
   virtual void      contextMenuPopup( QPopupMenu* );
 
 signals:
@@ -84,6 +103,7 @@ signals:
 
 private slots:
   void              onExpand();
+  void              onColumnVisible( int );
   void              onDestroyed( SUIT_DataObject* );
   void              onDropped( QPtrList<QListViewItem>, QListViewItem*, int );
 
@@ -107,8 +127,14 @@ private:
   void              expand( QListViewItem* );
   bool              hasClosed( QListViewItem* ) const;
 
+  void              autoOpenBranches();
+  void              openBranch( QListViewItem*, const int );
+
   void              removeReferences( QListViewItem* );
   void              createConnections( SUIT_DataObject* );
+  void              removeObject( SUIT_DataObject*, const bool = true );
+
+  void              updateText( QListViewItem* );
 
   DataObjectKey     objectKey( QListViewItem* ) const;
   DataObjectKey     objectKey( SUIT_DataObject* ) const;
@@ -131,6 +157,7 @@ private:
   bool              myAutoDelObjs;
   bool              myShowToolTips;
   bool              myRootDecorated;
+  int               myAutoOpenLevel;
 
   friend class OB_Browser::ToolTip;
 };