1 #ifndef XGUI_SelectionMgr_H
2 #define XGUI_SelectionMgr_H
5 #include "XGUI_Constants.h"
7 #include <QModelIndexList>
9 #include <AIS_ListOfInteractive.hxx>
10 #include <NCollection_List.hxx>
11 #include <TopoDS_Shape.hxx>
14 class XGUI_ObjectsBrowser;
16 /**\class XGUI_SelectionMgr
18 * \brief Selection manager. Provides selection event on selection in
19 * Object Browser and Viewer
21 class XGUI_EXPORT XGUI_SelectionMgr : public QObject
25 XGUI_SelectionMgr(XGUI_Workshop* theParent);
26 virtual ~XGUI_SelectionMgr();
28 //! Returns list of currently selected data objects
29 QFeatureList selectedFeatures() const;
31 //! Returns list of currently selected QModelIndexes
32 QModelIndexList selectedIndexes() const;
34 //! Returns list of currently selected AIS objects
35 void selectedAISObjects(AIS_ListOfInteractive& theList) const;
37 //! Returns list of currently selected shapes
38 void selectedShapes(NCollection_List<TopoDS_Shape>& theList) const;
40 //! Connects the manager to all viewers accessible by Workshop
41 void connectViewers();
44 //! Emited when selection in a one of viewers was changed
45 void selectionChanged();
48 void onObjectBrowserSelection();
49 void onViewerSelection();
53 XGUI_Workshop* myWorkshop;