1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
3 #ifndef XGUI_SelectionMgr_H
4 #define XGUI_SelectionMgr_H
7 #include <ModuleBase_Definitions.h>
9 #include <QModelIndexList>
11 #include <AIS_ListOfInteractive.hxx>
12 #include <NCollection_List.hxx>
13 #include <TopoDS_Shape.hxx>
14 #include <SelectMgr_IndexedMapOfOwner.hxx>
17 class XGUI_ObjectsBrowser;
20 /**\class XGUI_SelectionMgr
22 * \brief Selection manager. Provides selection event on selection in
23 * Object Browser and Viewer
25 class XGUI_EXPORT XGUI_SelectionMgr : public QObject
29 XGUI_SelectionMgr(XGUI_Workshop* theParent);
30 virtual ~XGUI_SelectionMgr();
32 XGUI_Selection* selection() const
37 //! Connects the manager to all viewers accessible by Workshop
38 void connectViewers();
40 //! Selects the owners in the context.
41 //! \param theSelectedOwners a container of owners
42 /// \param isUpdateViewer the parameter whether the viewer should be update immediatelly
43 void setSelectedOwners(const SelectMgr_IndexedMapOfOwner& theSelectedOwners,
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;