+class QLineEdit;
+
+class XGUI_DataTree : public QTreeView
+{
+Q_OBJECT
+ public:
+ XGUI_DataTree(QWidget* theParent);
+ virtual ~XGUI_DataTree();
+
+ //! Returns list of currently selected objects
+ QList<ObjectPtr> selectedObjects() const
+ {
+ return mySelectedData;
+ }
+
+ XGUI_DocumentDataModel* dataModel() const;
+
+signals:
+ //! Emited when selection is changed
+ void selectionChanged();
+ void activePartChanged(ObjectPtr thePart);
+
+ //! Emited on context menu request
+ void contextMenuRequested(QContextMenuEvent* theEvent);
+
+ protected slots:
+ virtual void commitData(QWidget* theEditor);
+
+ protected:
+ virtual void mouseDoubleClickEvent(QMouseEvent* theEvent);
+ 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
+ QList<ObjectPtr> mySelectedData;
+};