1 #ifndef XGUI_SelectionMgr_H
2 #define XGUI_SelectionMgr_H
5 #include <ModuleBase_Definitions.h>
7 #include <QModelIndexList>
9 #include <AIS_ListOfInteractive.hxx>
10 #include <NCollection_List.hxx>
11 #include <TopoDS_Shape.hxx>
14 class XGUI_ObjectsBrowser;
17 /**\class XGUI_SelectionMgr
19 * \brief Selection manager. Provides selection event on selection in
20 * Object Browser and Viewer
22 class XGUI_EXPORT XGUI_SelectionMgr : public QObject
26 XGUI_SelectionMgr(XGUI_Workshop* theParent);
27 virtual ~XGUI_SelectionMgr();
29 XGUI_Selection* selection() const { return mySelection; }
31 //! Returns list of currently selected data objects
32 //QFeatureList selectedFeatures() const;
34 //! Returns list of currently selected QModelIndexes
35 //QModelIndexList selectedIndexes() const;
37 //! Returns list of currently selected AIS objects
38 //void selectedAISObjects(AIS_ListOfInteractive& theList) const;
40 //! Returns list of currently selected shapes
41 //void selectedShapes(NCollection_List<TopoDS_Shape>& theList) const;
43 //! Connects the manager to all viewers accessible by Workshop
44 void connectViewers();
47 //! Emited when selection in a one of viewers was changed
48 void selectionChanged();
51 void onObjectBrowserSelection();
52 void onViewerSelection();
55 XGUI_Workshop* myWorkshop;
56 XGUI_Selection* mySelection;