]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Interface/ParametersQtDialog.h
XML IO added. Workspace singleton added to simplify pipeline definition and execution.
[cpPlugins.git] / lib / cpPlugins / Interface / ParametersQtDialog.h
index daf2517b6663d8818ac153934a5378cc7f87ea63..d19d31450323814a4ceec7f3ae11cd8d12110784 100644 (file)
@@ -1,25 +1,71 @@
 #ifndef __CPPLUGINS__INTERFACE__PARAMETERSQTDIALOG__H__
 #define __CPPLUGINS__INTERFACE__PARAMETERSQTDIALOG__H__
 
+#include <cpPlugins/Interface/Config.h>
+
+#ifdef cpPlugins_Interface_QT4
+
 #include <cpPlugins/Interface/cpPlugins_Interface_Export.h>
 #include <cpPlugins/Interface/Parameters.h>
+#include <cpExtensions/Interaction/ImageInteractorStyle.h>
+
+#include <set>
 
-class QWidget;
+#include <QDialog>
+#include <QGridLayout>
+#include <QLabel>
+#include <QVBoxLayout>
+
+class vtkRenderWindowInteractor;
 
 namespace cpPlugins
 {
   namespace Interface
   {
-    bool cpPlugins_Interface_EXPORT ParametersQtDialog(
-      Parameters& parameters,
-      const std::string& title,
-      QWidget* parent = NULL
-      );
+    /**
+     */
+    class cpPlugins_Interface_EXPORT ParametersQtDialog
+      : public QDialog
+    {
+      Q_OBJECT;
+
+    public:
+      typedef cpExtensions::Interaction::ImageInteractorStyle TStyle;
+
+      typedef std::set< vtkRenderWindowInteractor* > TInteractors;
+
+    public:
+      ParametersQtDialog( QWidget* parent = 0, Qt::WindowFlags f = 0 );
+      virtual ~ParametersQtDialog( );
+
+      bool IsModal( ) const;
+      Parameters* getParameters( ) const;
+      void addInteractor( vtkRenderWindowInteractor* interactor );
+      TInteractors& getInteractors( );
+      const TInteractors& getInteractors( ) const;
+      bool setParameters( Parameters* parameters );
+      void setTitle( const std::string& title );
+
+      virtual int exec( );
+      virtual void show( );
+      void syncParameters( );
+
+    protected:
+      Parameters* m_Parameters;
+      QLabel* m_Title;
+      QGridLayout* m_MainLayout;
+      QVBoxLayout* m_ToolsLayout;
+      bool m_IsModal;
+
+      TInteractors m_Interactors;
+    };
 
   } // ecapseman
 
 } // ecapseman
 
+#endif // cpPlugins_Interface_QT4
+
 #endif // __CPPLUGINS__INTERFACE__PARAMETERSQTDIALOG__H__
 
 // eof - $RCSfile$