X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_ObjectsBrowser.h;h=93cc131be4f458eb27428306fca6400e2696549f;hb=4b713fff3138a7cea908a85b58ed90cf99cfacd1;hp=9e7f901d75224c3d9782242cde3c288a30233b1a;hpb=acebef0bc5fb22dc9672e0046085b896e957af56;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_ObjectsBrowser.h b/src/XGUI/XGUI_ObjectsBrowser.h index 9e7f901d7..93cc131be 100644 --- a/src/XGUI/XGUI_ObjectsBrowser.h +++ b/src/XGUI/XGUI_ObjectsBrowser.h @@ -1,3 +1,5 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D --> + #ifndef XGUI_ObjectsBrowser_H #define XGUI_ObjectsBrowser_H @@ -13,37 +15,51 @@ class XGUI_DocumentDataModel; class QLineEdit; +/** +* \ingroup GUI +* Implementation of Data Tree object for Object Browser +*/ class XGUI_DataTree : public QTreeView { Q_OBJECT public: + /// Constructor + /// \param theParent a parent widget XGUI_DataTree(QWidget* theParent); virtual ~XGUI_DataTree(); //! Returns list of currently selected objects - QList selectedObjects() const + 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: @@ -52,7 +68,7 @@ public slots: private: //! List of currently selected data - QList mySelectedData; + QObjectPtrList mySelectedData; }; /**\class XGUI_ObjectsBrowser @@ -63,6 +79,8 @@ class XGUI_EXPORT XGUI_ObjectsBrowser : public QWidget { Q_OBJECT public: + /// Constructor + /// \param theParent a parent widget XGUI_ObjectsBrowser(QWidget* theParent); virtual ~XGUI_ObjectsBrowser(); @@ -73,12 +91,14 @@ Q_OBJECT } //! Returns list of currently selected objects - QList selectedObjects() const + QObjectPtrList selectedObjects() const { return myObjectsList; } - void setObjectsSelected(const QList& theObjects); + /// Set selected list of objects + /// \param theObjects list of objects to select + void setObjectsSelected(const QObjectPtrList& theObjects); //! Returns currently selected indexes QModelIndexList selectedIndexes() const @@ -95,11 +115,14 @@ Q_OBJECT //! Activates currently selected part. Signal activePartChanged will not be sent void activatePart(const ResultPartPtr& thePart); + /// Rebuild data tree void rebuildDataTree(); - void processEvent(const boost::shared_ptr& theMessage); + /// Process application event + /// \param theMessage an event message + void processEvent(const std::shared_ptr& theMessage); - // Resets the object browser into initial state + /// Resets the object browser into initial state void clearContent(); signals: @@ -113,16 +136,26 @@ signals: void contextMenuRequested(QContextMenuEvent* theEvent); protected: + /// Redefinition of virtual method virtual bool eventFilter(QObject* obj, QEvent* theEvent); private slots: + /// Activate part + /// \param thePart a part to activate void onActivePartChanged(ObjectPtr thePart); + + /// Show context menu + /// \param theEvent a context menu event void onContextMenuRequested(QContextMenuEvent* theEvent); + + /// Show context menu on upper label + /// \param thePnt a position of context menu void onLabelContextMenuRequested(const QPoint& thePnt); //! Called on Edit command request void onEditItem(); + /// Process selection changed event void onSelectionChanged(); private: @@ -134,7 +167,7 @@ signals: QLineEdit* myActiveDocLbl; XGUI_DataTree* myTreeView; - QList myObjectsList; + QObjectPtrList myObjectsList; }; #endif