+Q_OBJECT
+ public:
+ /// Constructor
+ /// \param theParent a parent widget
+ XGUI_DataTree(QWidget* theParent);
+ virtual ~XGUI_DataTree();
+
+ //! Returns list of currently selected objects
+ QObjectPtrList selectedObjects() const
+ {
+ return mySelectedData;
+ }
+
+ /// Returns current data model
+ XGUI_DocumentDataModel* dataModel() const;
+
+signals:
+ //! Emited when selection is changed
+ void selectionChanged();
+
+ //! Emited when active part changed
+ void activePartChanged(ObjectPtr thePart);
+
+ //! Emited on context menu request
+ void contextMenuRequested(QContextMenuEvent* theEvent);
+
+public slots:
+ /// Clear content of data tree
+ virtual void clear();
+
+ protected slots:
+ /// Commit modified data (used for renaming of objects)
+ virtual void commitData(QWidget* theEditor);
+
+ protected:
+ /// Redefinition of virtual method
+ virtual void mouseDoubleClickEvent(QMouseEvent* theEvent);
+
+ /// Redefinition of virtual method
+ virtual void contextMenuEvent(QContextMenuEvent* theEvent);
+
+ private slots:
+ //! Called when selection in Data Tree is changed
+ void onSelectionChanged(const QItemSelection& theSelected, const QItemSelection& theDeselected);
+
+ private:
+ //! List of currently selected data
+ QObjectPtrList mySelectedData;
+};
+
+/**\class XGUI_ObjectsBrowser
+ * \ingroup GUI
+ * \brief Object browser window object. Represents data tree of current data structure
+ */
+class XGUI_EXPORT XGUI_ObjectsBrowser : public QWidget
+{
+Q_OBJECT
+ public:
+ /// Constructor
+ /// \param theParent a parent widget