Salome HOME
Modified a method onLoadStudy, added a call of a method updateObjectBrowser
[modules/gui.git] / src / SalomeApp / SalomeApp_VTKSelector.h
1 #ifndef SALOMEAPP_VTKSELECTOR_H
2 #define SALOMEAPP_VTKSELECTOR_H
3
4 #include <vtkSmartPointer.h>
5
6 #include <TColStd_IndexedMapOfInteger.hxx>
7
8 #include "SUIT_Selector.h"
9
10 #include "SalomeApp.h"
11 #include "SalomeApp_DataOwner.h"
12
13 #include "SVTK_Selection.h"
14 #include "SALOME_InteractiveObject.hxx"
15
16 class SALOME_Actor;
17 class SVTK_Viewer;
18
19 class SalomeApp_SVTKDataOwner : public SalomeApp_DataOwner
20 {
21  public:
22     SalomeApp_SVTKDataOwner( const Handle(SALOME_InteractiveObject)& theIO,
23                              const TColStd_IndexedMapOfInteger& theIds,
24                              Selection_Mode theMode = ActorSelection,
25                              SALOME_Actor* theActor = NULL);
26     virtual ~SalomeApp_SVTKDataOwner();
27
28     const TColStd_IndexedMapOfInteger& GetIds() const
29     {
30       return myIds;
31     }
32
33     Selection_Mode GetMode() const 
34     { 
35       return mySelectionMode; 
36     }
37
38     SALOME_Actor* GetActor() const;
39
40  protected:
41     TColStd_IndexedMapOfInteger myIds;
42     Selection_Mode mySelectionMode;
43     vtkSmartPointer<SALOME_Actor> myActor;
44 };
45
46
47 class SALOMEAPP_EXPORT SalomeApp_VTKSelector : public SUIT_Selector
48 {
49   Q_OBJECT;
50
51 public:
52   SalomeApp_VTKSelector( SVTK_Viewer*, SUIT_SelectionMgr* );
53   virtual ~SalomeApp_VTKSelector();
54
55   SVTK_Viewer* viewer() const;
56
57   virtual QString type() const;
58
59 private slots:
60   void              onSelectionChanged();
61
62 protected:
63   virtual void      getSelection( SUIT_DataOwnerPtrList& ) const;
64   virtual void      setSelection( const SUIT_DataOwnerPtrList& );
65
66 private:
67   SVTK_Viewer* myViewer;
68 };
69
70 #endif