Salome HOME
Parameters manager implementation
[modules/shaper.git] / src / XGUI / XGUI_DataModel.h
index d08ccc42a8f301529b7d0e5f6352c3e1f6ac6b36..47b0f7b6b487355cf4bcec3fc22f0d8b17d13bae 100644 (file)
 #include <ModuleBase_Definitions.h>
 #include <ModelAPI_Object.h>
 #include <ModelAPI_Document.h>
-#include <Config_DataModelReader.h>
 #include <Events_Listener.h>
 
 #include <QAbstractItemModel>
 
+class Config_DataModelReader;
+
 /**\class XGUI_DataModel
  * \ingroup GUI
  * \brief This is a data model for Object Browser (QTreeView).
@@ -35,6 +36,9 @@ public:
   /// \param theParent a parent object
   XGUI_DataModel(QObject* theParent);
 
+  /// Destructor
+  virtual ~XGUI_DataModel();
+
   /// Event Listener method
   /// \param theMessage an event message
   virtual void processEvent(const std::shared_ptr<Events_Message>& theMessage);
@@ -116,6 +120,9 @@ public:
   /// Returns last history object index
   virtual QModelIndex lastHistoryIndex() const;
 
+  /// Initialises XML data model reader. It must be initialised before DataModel using.
+  void setXMLReader(Config_DataModelReader* theReader) { myXMLReader = theReader; }
+
 private:
   /// Find a root index which contains objects of the given document
   /// \param theDoc the document object
@@ -145,7 +152,7 @@ private:
   /// \param fromRoot - root document flag
   QStringList listOfShowNotEmptyFolders(bool fromRoot = true) const;
 
-  Config_DataModelReader myXMLReader;
+  Config_DataModelReader* myXMLReader;
 };
 
 #endif
\ No newline at end of file