X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpPlugins%2FInterface%2FProcessObject.h;h=b6cf116e680d730dd7e35632673b64f6e1c2f1f8;hb=de874ea850042e77a99a456188f423c8df2e374f;hp=49f090711814a80cfac721e5d0f96b22b8ff1265;hpb=d6f15d4cb764982e2b09060a9c0f38636891590c;p=cpPlugins.git diff --git a/lib/cpPlugins/Interface/ProcessObject.h b/lib/cpPlugins/Interface/ProcessObject.h index 49f0907..b6cf116 100644 --- a/lib/cpPlugins/Interface/ProcessObject.h +++ b/lib/cpPlugins/Interface/ProcessObject.h @@ -1,33 +1,28 @@ #ifndef __CPPLUGINS__INTERFACE__PROCESSOBJECT__H__ #define __CPPLUGINS__INTERFACE__PROCESSOBJECT__H__ -#include +#include -#include -#include - -#include -#include #include #include -#ifdef cpPlugins_Interface_QT4 -class QWidget; -#else -typedef char QWidget; -#endif // cpPlugins_Interface_QT4 - #include - #include #include +// Some forward declarations class vtkRenderWindowInteractor; +#ifdef cpPlugins_Interface_QT4 +class QWidget; +#else +typedef char QWidget; +#endif // cpPlugins_Interface_QT4 namespace cpPlugins { namespace Interface { + // Some forward declarations class Plugins; #ifdef cpPlugins_Interface_QT4 class ParametersQtDialog; @@ -47,6 +42,7 @@ namespace cpPlugins typedef itk::SmartPointer< const Self > ConstPointer; typedef Parameters TParameters; + typedef std::set< vtkRenderWindowInteractor* > TInteractors; enum DialogResult { @@ -57,27 +53,32 @@ namespace cpPlugins public: itkTypeMacro( ProcessObject, Object ); - cpPlugins_Id_Macro( - cpPlugins::Interface::ProcessObject, "BaseObject" - ); + cpPlugins_Id_Macro( ProcessObject, BaseObject ); + + itkBooleanMacro( Interactive ); + + itkGetConstObjectMacro( Parameters, TParameters ); + itkGetObjectMacro( Parameters, TParameters ); + itkGetConstMacro( Plugins, const Plugins* ); + itkGetMacro( Plugins, Plugins* ); + itkGetConstMacro( Interactive, bool ); + + itkSetObjectMacro( Plugins, Plugins ); + itkSetMacro( Interactive, bool ); public: // To impact pipeline virtual void Modified( ) const; - virtual bool IsInteractive( ) const; - virtual TParameters* GetParameters( ); - virtual const TParameters* GetParameters( ) const; - - Plugins* GetPlugins( ); - const Plugins* GetPlugins( ) const; - void SetPlugins( Plugins* p ); + virtual void GetInputsNames( std::set< std::string >& names ) const; + virtual void GetOutputsNames( std::set< std::string >& names ) const; + unsigned int GetNumberOfInputs( ) const; + unsigned int GetNumberOfOutputs( ) const; - 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 bool SetOutputObjectName( + const std::string& new_object_name, + const std::string& output_name + ); virtual void SetInput( const std::string& id, DataObject* dobj ); @@ -139,13 +140,21 @@ namespace cpPlugins Parameters::Pointer m_Parameters; ParametersQtDialog* m_ParametersDialog; + TInteractors m_Interactors; Plugins* m_Plugins; + bool m_Interactive; typedef std::map< std::string, DataObject::Pointer > _TDataContainer; _TDataContainer m_Inputs; _TDataContainer m_Outputs; + std::map< std::string, std::string > m_OutputObjectsNames; }; + /** + * Plugin provider + */ + CPPLUGINS_PROVIDER_HEADER( ProcessObject ); + } // ecapseman } // ecapseman