#include <cpPlugins/Interface/cpPlugins_Interface_Export.h>
#include <cpPlugins/Interface/Parameters.h>
-class QWidget;
+#include <vector>
+
+#include <QDialog>
+#include <QGridLayout>
+#include <QLabel>
+#include <QVBoxLayout>
+
+class vtkAbstractWidget;
+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:
+ ParametersQtDialog( QWidget* parent = 0, Qt::WindowFlags f = 0 );
+ virtual ~ParametersQtDialog( );
+
+ bool IsModal( ) const;
+ Parameters* getParameters( ) const;
+ void setInteractor( vtkRenderWindowInteractor* interactor );
+ 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;
+
+ vtkRenderWindowInteractor* m_Interactor;
+ std::vector< vtkAbstractWidget* > m_Widgets;
+ };
} // ecapseman