]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Interface/Workspace.h
...
[cpPlugins.git] / lib / cpPlugins / Interface / Workspace.h
index 92315d71fb8c0116b45d1c4199584fbccc425f01..3d78f0246d834563406427f420425f174f33fa99 100644 (file)
@@ -11,6 +11,7 @@
 
 // Some forward declarations
 class QWidget;
+class vtkRenderWindowInteractor;
 
 namespace cpPlugins
 {
@@ -31,6 +32,7 @@ namespace cpPlugins
       typedef std::set< std::string >               TStringContainer;
       typedef std::pair< std::string, std::string > TExposedPort;
       typedef std::map< std::string, TExposedPort > TExposedPorts;
+      typedef std::set< vtkRenderWindowInteractor* > TInteractors;
 
       // Graph type
       typedef std::pair< std::string, std::string > TConnection;
@@ -68,6 +70,10 @@ namespace cpPlugins
         );
       void RemoveFilter( const std::string& name );
 
+      // Widgets management
+      virtual const TInteractors& GetInteractors( ) const;
+      virtual void AddInteractor( vtkRenderWindowInteractor* interactor );
+
       // Connection management
       bool Connect(
         const std::string& orig_filter, const std::string& dest_filter,
@@ -111,8 +117,8 @@ namespace cpPlugins
       const TData* GetExposedOutput( const std::string& name ) const;
 
       // Pipeline execution
-      std::string Execute( QWidget* p = NULL );
-      std::string Execute( const std::string& name, QWidget* p = NULL );
+      std::string Execute( );
+      std::string Execute( const std::string& name );
 
     protected:
       // Plugins interface
@@ -122,6 +128,8 @@ namespace cpPlugins
       typename TGraph::Pointer m_Graph;
       TExposedPorts m_ExposedInputPorts;
       TExposedPorts m_ExposedOutputPorts;
+
+      TInteractors m_Interactors;
     };
 
   } // ecapseman