]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Interface/ProcessObject.h
Getting ready for interactive initialization.
[cpPlugins.git] / lib / cpPlugins / Interface / ProcessObject.h
index 53b784fe2ac2ac775b5debe25f978086ccf5db46..6f388143cbb376cd837b207f8aaf64acf33ab167 100644 (file)
@@ -4,6 +4,7 @@
 #include <cpPlugins/Interface/cpPlugins_Interface_Export.h>
 
 #include <map>
+#include <vector>
 
 #include <cpPlugins/Interface/Config.h>
 #include <cpPlugins/Interface/Object.h>
@@ -21,6 +22,8 @@ typedef char QWidget;
 #include <vtkSmartPointer.h>
 #include <vtkAlgorithm.h>
 
+class vtkRenderWindowInteractor;
+
 namespace cpPlugins
 {
   namespace Interface
@@ -44,6 +47,13 @@ namespace cpPlugins
 
       typedef Parameters TParameters;
 
+      enum DialogResult
+      {
+        DialogResult_NoModal = 0,
+        DialogResult_Modal,
+        DialogResult_Cancel
+      };
+
     public:
       itkTypeMacro( ProcessObject, Object );
       cpPlugins_Id_Macro(
@@ -60,12 +70,16 @@ namespace cpPlugins
       virtual unsigned int GetNumberOfInputs( ) const;
       virtual unsigned int GetNumberOfOutputs( ) const;
 
+      virtual std::vector< std::string > GetInputsNames( ) const;
+      virtual std::vector< std::string > GetOutputsNames( ) const;
+
       virtual void SetInput( const std::string& id, DataObject* dobj );
 
       virtual std::string Update( );
       virtual void DisconnectOutputs( );
 
-      virtual bool ExecConfigurationDialog( QWidget* parent );
+      virtual void AddInteractor( vtkRenderWindowInteractor* interactor );
+      virtual DialogResult ExecConfigurationDialog( QWidget* parent );
 
       template< class T >
         inline T* GetITK( );