]> SALOME platform Git repositories - modules/gui.git/blobdiff - src/SVTK/SVTK_Selector.h
Salome HOME
New item (FontItem), allowing to show information about font setting and to select...
[modules/gui.git] / src / SVTK / SVTK_Selector.h
index ff0b6c1e9b21b9ed5d86d58ce919e01a857082c2..26150b4f4df3d5c9a9e1da6b0b32e8ee4629b52f 100644 (file)
 #ifndef SVTK_SELECTOR_H
 #define SVTK_SELECTOR_H
 
-#include <vtkSmartPointer.h>
-#include <NCollection_DataMap.hxx>
 #include <TColStd_MapOfInteger.hxx>
+#include <TColStd_IndexedMapOfInteger.hxx>
 
 #include "SVTK_Selection.h"
-
 #include "SALOME_ListIO.hxx"
-#include "SALOME_InteractiveObject.hxx"
-#include "SALOME_DataMapOfIOMapOfInteger.hxx"
 
 class SALOME_Actor;
 
-class SVTK_Viewer;
-class SVTK_ViewWindow;
-
 class SVTK_Selector
 {
 public:
-  SVTK_Selector();
-  virtual ~SVTK_Selector();
+  virtual ~SVTK_Selector() {};
+
+  virtual
+  void 
+  SetSelectionMode( Selection_Mode theMode ) = 0;
 
-  void SetSelectionMode( Selection_Mode theMode );
-  Selection_Mode SelectionMode() const { return mySelectionMode; }
+  virtual
+  Selection_Mode
+  SelectionMode() const = 0;
 
+  virtual
   void
-  ClearIObjects();
+  ClearIObjects() = 0;
 
+  virtual
   SALOME_Actor* 
-  GetActor(const Handle(SALOME_InteractiveObject)& theIO) const;
+  GetActor(const Handle(SALOME_InteractiveObject)& theIO) const = 0;
+
+  virtual
   bool
-  IsSelected(const Handle(SALOME_InteractiveObject)& theIO) const;
+  IsSelected(const Handle(SALOME_InteractiveObject)& theIO) const = 0;
+
+  virtual
   bool
-  IsSelected(SALOME_Actor* theActor) const;
+  IsSelected(SALOME_Actor* theActor) const = 0;
 
+  virtual
   bool
-  AddIObject(const Handle(SALOME_InteractiveObject)& theIO);
+  AddIObject(const Handle(SALOME_InteractiveObject)& theIO) = 0;
+
+  virtual
   bool
-  AddIObject(SALOME_Actor* theActor);
+  AddIObject(SALOME_Actor* theActor) = 0;
 
+  virtual
   bool 
-  RemoveIObject(const Handle(SALOME_InteractiveObject)& theIO);
+  RemoveIObject(const Handle(SALOME_InteractiveObject)& theIO) = 0;
+
+  virtual
   bool 
-  RemoveIObject(SALOME_Actor* theActor);
+  RemoveIObject(SALOME_Actor* theActor) = 0;
 
+  virtual
   const SALOME_ListIO& 
-  StoredIObjects() const;
+  StoredIObjects() const = 0;
 
+  virtual
   int 
-  IObjectCount() const;
+  IObjectCount() const = 0;
 
+  virtual
   bool 
-  HasIndex(const Handle(SALOME_InteractiveObject)& theIO ) const;
+  HasIndex(const Handle(SALOME_InteractiveObject)& theIO ) const = 0;
 
+  virtual
   void 
   GetIndex( const Handle(SALOME_InteractiveObject)& theIO, 
-           TColStd_IndexedMapOfInteger& theIndex );
+           TColStd_IndexedMapOfInteger& theIndex ) = 0;
        
+  virtual
   bool 
   AddOrRemoveIndex( const Handle(SALOME_InteractiveObject)& theIO, 
                    const TColStd_IndexedMapOfInteger& theIndices, 
-                   bool theIsModeShift);
+                   bool theIsModeShift) = 0;
+  virtual
   bool 
   AddOrRemoveIndex( const Handle(SALOME_InteractiveObject)& theIO, 
                    const TColStd_MapOfInteger& theIndices, 
-                   bool theIsModeShift);
+                   bool theIsModeShift) = 0;
+  virtual
   bool
   AddOrRemoveIndex( const Handle(SALOME_InteractiveObject)& theIO, 
                    int theIndex, 
-                   bool theIsModeShift);
+                   bool theIsModeShift) = 0;
+  virtual
   void 
   RemoveIndex( const Handle(SALOME_InteractiveObject)& theIO, 
-              int theIndex);
+              int theIndex) = 0;
+  virtual
   bool 
   IsIndexSelected(const Handle(SALOME_InteractiveObject)& theIO, 
-                 int theIndex) const;
+                 int theIndex) const = 0;
+  virtual
   void 
-  ClearIndex();
-
-private:
-  typedef NCollection_DataMap<Handle(SALOME_InteractiveObject),
-                              vtkSmartPointer<SALOME_Actor> > TIO2Actors;
-  TIO2Actors myIO2Actors;
-  Selection_Mode mySelectionMode;
-  SALOME_ListIO myIObjects;
-  SALOME_DataMapOfIOMapOfInteger myMapIOSubIndex;
+  ClearIndex() = 0;
 };