+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+
#ifndef XGUI_SelectionMgr_H
#define XGUI_SelectionMgr_H
#include <AIS_ListOfInteractive.hxx>
#include <NCollection_List.hxx>
#include <TopoDS_Shape.hxx>
+#include <SelectMgr_IndexedMapOfOwner.hxx>
class XGUI_Workshop;
class XGUI_ObjectsBrowser;
*/
class XGUI_EXPORT XGUI_SelectionMgr : public QObject
{
- Q_OBJECT
-public:
+Q_OBJECT
+ public:
XGUI_SelectionMgr(XGUI_Workshop* theParent);
virtual ~XGUI_SelectionMgr();
- XGUI_Selection* selection() const { return mySelection; }
-
- //! 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<TopoDS_Shape>& theList) const;
+ XGUI_Selection* selection() const
+ {
+ return mySelection;
+ }
//! Connects the manager to all viewers accessible by Workshop
void connectViewers();
+ //! Selects the owners in the context.
+ //! \param theSelectedOwners a container of owners
+ void setSelectedOwners(const SelectMgr_IndexedMapOfOwner& theSelectedOwners);
+
signals:
//! Emited when selection in a one of viewers was changed
void selectionChanged();
-private slots:
+ private slots:
void onObjectBrowserSelection();
void onViewerSelection();
-private:
+ private:
XGUI_Workshop* myWorkshop;
XGUI_Selection* mySelection;
};