Salome HOME
Issue #1015: The validate icon must be greyed and inactive instead of red and active
[modules/shaper.git] / src / XGUI / XGUI_ObjectsBrowser.h
index b80a51c12ab388b54adfde507b0fe479417e606f..2b9ab1803390bbcaa8125ede8ffdeae784958ab6 100644 (file)
 
 #include <QWidget>
 #include <QTreeView>
-#include <QLineEdit>
+#include <QLabel>
 
 class ModuleBase_IDocumentDataModel;
 class XGUI_DataModel;
+class Config_DataModelReader;
 
 /**
 * \ingroup GUI
 * Implementation of root label in Object Browser
 */
-class XGUI_ActiveDocLbl: public QLineEdit
+class XGUI_ActiveDocLbl: public QLabel
 {
 Q_OBJECT
  public:
@@ -172,7 +173,7 @@ Q_OBJECT
   }
 
   /// Returns active doc label object
-  QLineEdit* activeDocLabel() const { return myActiveDocLbl; }
+  QLabel* activeDocLabel() const { return myActiveDocLbl; }
 
   /// Rebuild data tree
   void rebuildDataTree();
@@ -180,6 +181,10 @@ Q_OBJECT
   /// Resets the object browser into initial state
   void clearContent();
 
+  /// Set XML reader object for data model
+  /// \param theReader the reader object
+  void setXMLReader(Config_DataModelReader* theReader);
+
 public slots:
   //! Called on Edit command request
   void onEditItem();
@@ -206,12 +211,20 @@ signals:
   //! Called when selection in Data Tree is changed
   void onSelectionChanged(const QItemSelection& theSelected, const QItemSelection& theDeselected);
 
+  void onBeforeReset();
+
+  void onAfterModelReset();
+
  private:
+  QModelIndexList expandedItems(const QModelIndex& theParent = QModelIndex()) const;
 
   //! Internal model
   XGUI_DataModel* myDocModel;
   XGUI_ActiveDocLbl* myActiveDocLbl;
   XGUI_DataTree* myTreeView;
+
+  /// A field to store expanded items before model reset
+  QModelIndexList myExpandedItems;
 };
 
 #endif