#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$