Salome HOME
Workaround for bug #25637
[modules/shaper.git] / src / XGUI / XGUI_ObjectsBrowser.h
index c5149fdd909435768d6f6954604590ac63ffd49a..a52c844545999bd6e91a17fa4e8663517c937d01 100644 (file)
@@ -1,3 +1,5 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+
 #ifndef XGUI_ObjectsBrowser_H
 #define XGUI_ObjectsBrowser_H
 
@@ -5,6 +7,7 @@
 #include <ModuleBase_Definitions.h>
 #include <ModelAPI_Object.h>
 #include <ModelAPI_ResultPart.h>
+#include <ModelAPI_Events.h>
 
 #include <QWidget>
 #include <QTreeView>
@@ -20,7 +23,7 @@ Q_OBJECT
   virtual ~XGUI_DataTree();
 
   //! Returns list of currently selected objects
-  QList<ObjectPtr> selectedObjects() const
+  QObjectPtrList selectedObjects() const
   {
     return mySelectedData;
   }
@@ -35,6 +38,9 @@ signals:
   //! Emited on context menu request
   void contextMenuRequested(QContextMenuEvent* theEvent);
 
+public slots:
+  virtual void clear();
+
  protected slots:
   virtual void commitData(QWidget* theEditor);
 
@@ -48,7 +54,7 @@ signals:
 
  private:
   //! List of currently selected data
-  QList<ObjectPtr> mySelectedData;
+  QObjectPtrList mySelectedData;
 };
 
 /**\class XGUI_ObjectsBrowser
@@ -69,12 +75,12 @@ Q_OBJECT
   }
 
   //! Returns list of currently selected objects
-  QList<ObjectPtr> selectedObjects() const
+  QObjectPtrList selectedObjects() const
   {
     return myObjectsList;
   }
 
-  void setObjectsSelected(const QList<ObjectPtr>& theObjects);
+  void setObjectsSelected(const QObjectPtrList& theObjects);
 
   //! Returns currently selected indexes
   QModelIndexList selectedIndexes() const
@@ -93,6 +99,11 @@ Q_OBJECT
 
   void rebuildDataTree();
 
+  void processEvent(const std::shared_ptr<Events_Message>& theMessage);
+
+  // Resets the object browser into initial state
+  void clearContent();
+
 signals:
   //! Emited when selection is changed
   void selectionChanged();
@@ -125,7 +136,7 @@ signals:
   QLineEdit* myActiveDocLbl;
   XGUI_DataTree* myTreeView;
 
-  QList<ObjectPtr> myObjectsList;
+  QObjectPtrList myObjectsList;
 };
 
 #endif