X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_SelectionMgr.h;h=b75989abbfb6640bc90ec681c263cc800eb8c4c2;hb=d86c77d1c6210bbe04fbc3e5b00f9e212e1ec930;hp=5f50ca3d81d6b344652d236061b903a54aa73ffa;hpb=00740b42f9c46511b2c880857372e37195cae304;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_SelectionMgr.h b/src/XGUI/XGUI_SelectionMgr.h index 5f50ca3d8..b75989abb 100644 --- a/src/XGUI/XGUI_SelectionMgr.h +++ b/src/XGUI/XGUI_SelectionMgr.h @@ -1,31 +1,56 @@ #ifndef XGUI_SelectionMgr_H #define XGUI_SelectionMgr_H +#include "XGUI.h" #include "XGUI_Constants.h" #include +#include -class XGUI_Workshop; +#include +#include +#include -class XGUI_SelectionMgr : public QObject +class XGUI_Workshop; +class XGUI_ObjectsBrowser; + +/**\class XGUI_SelectionMgr + * \ingroup GUI + * \brief Selection manager. Provides selection event on selection in + * Object Browser and Viewer + */ +class XGUI_EXPORT XGUI_SelectionMgr : public QObject { Q_OBJECT public: XGUI_SelectionMgr(XGUI_Workshop* theParent); virtual ~XGUI_SelectionMgr(); - QFeatureList selectedData() const { return mySelectedData; } + //! Returns list of currently selected data objects + QFeatureList selectedFeatures() const; + + //! Returns list of currently selected QModelIndexes + QModelIndexList selectedIndexes() const; + + //! Returns list of currently selected AIS objects + void selectedAISObjects(AIS_ListOfInteractive& theList) const; + //! Returns list of currently selected shapes + void selectedShapes(NCollection_List& theList) const; + + //! Connects the manager to all viewers accessible by Workshop + void connectViewers(); signals: + //! Emited when selection in a one of viewers was changed void selectionChanged(); -public slots: - void onSelectionChanged(); +private slots: + void onObjectBrowserSelection(); + void onViewerSelection(); private: - XGUI_Workshop* myWorkshop; - QFeatureList mySelectedData; + XGUI_Workshop* myWorkshop; }; -#endif; \ No newline at end of file +#endif