Salome HOME
Merge branch 'master' of newgeom:newgeom.git
[modules/shaper.git] / src / XGUI / XGUI_ObjectsBrowser.h
1
2 #ifndef XGUI_ObjectsBrowser_H
3 #define XGUI_ObjectsBrowser_H
4
5 #include "XGUI_Constants.h"
6
7 #include <QTreeView>
8
9 class XGUI_DocumentDataModel;
10
11 /**\class XGUI_ObjectsBrowser
12  * \ingroup GUI
13  * \brief Object browser window object. Represents data tree of current data structure
14  */
15  class XGUI_ObjectsBrowser : public QTreeView
16 {
17   Q_OBJECT
18 public:
19   XGUI_ObjectsBrowser(QWidget* theParent);
20   virtual ~XGUI_ObjectsBrowser();
21
22   //! Returns Model which provides access to data objects
23   XGUI_DocumentDataModel* dataModel() const { return myDocModel; }
24
25   //! Returns list of currently selected features
26   QFeatureList selectedData() const { return mySelectedData; }
27
28 signals:
29   //! Emited when selection is changed
30   void selectionChanged();
31
32
33 private slots:
34   //! Called when selection in Data Tree is changed
35   void onSelectionChanged(const QItemSelection& theSelected, const QItemSelection& theDeselected);
36
37 private:
38   //! Internal model
39   XGUI_DocumentDataModel* myDocModel;
40
41   //! List of currently selected data
42   QFeatureList mySelectedData;
43 };
44
45 #endif