]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Plugins/BasicFilters/DoubleFloodImageFilter.h
...
[cpPlugins.git] / lib / cpPlugins / Plugins / BasicFilters / DoubleFloodImageFilter.h
1 #ifndef __CPPLUGINS__PLUGINS__DOUBLEFLOODIMAGEFILTER__H__
2 #define __CPPLUGINS__PLUGINS__DOUBLEFLOODIMAGEFILTER__H__
3
4 #include <cpPlugins/BasicFilters/cpPluginsBasicFilters_Export.h>
5 #include <cpPlugins/Interface/BaseProcessObjects.h>
6
7 #ifdef cpPlugins_Interface_QT4
8 #include <QDialog>
9 #include <QGridLayout>
10 #include <QLabel>
11 #include <QVBoxLayout>
12 #endif // cpPlugins_Interface_QT4
13
14 namespace cpPlugins
15 {
16   namespace BasicFilters
17   {
18 #ifdef cpPlugins_Interface_QT4
19     class DoubleFloodImageFilter;
20
21     class DoubleFloodImageFilter_Dialog
22       : public QDialog
23     {
24       Q_OBJECT;
25
26     public:
27       typedef QDialog Superclass;
28
29     public:
30       DoubleFloodImageFilter_Dialog(
31         QWidget* parent, DoubleFloodImageFilter* filter, Qt::WindowFlags f = 0
32         );
33       virtual ~DoubleFloodImageFilter_Dialog( );
34
35     public slots:
36       virtual void accept( );
37       virtual void reject( );
38
39     protected:
40       DoubleFloodImageFilter* m_Filter;
41       QLabel* m_Title;
42       QGridLayout* m_MainLayout;
43       QVBoxLayout* m_ToolsLayout;
44     };
45 #endif // cpPlugins_Interface_QT4
46
47     /**
48      */
49     class cpPluginsBasicFilters_EXPORT DoubleFloodImageFilter
50       : public cpPlugins::Interface::ImageToImageFilter
51     {
52     public:
53       typedef DoubleFloodImageFilter                     Self;
54       typedef cpPlugins::Interface::ImageToImageFilter Superclass;
55       typedef itk::SmartPointer< Self >                Pointer;
56       typedef itk::SmartPointer< const Self >          ConstPointer;
57
58     public:
59       itkNewMacro( Self );
60       itkTypeMacro(
61         DoubleFloodImageFilter,
62         cpPlugins::Interface::ImageToImageFilter
63         );
64       cpPlugins_Id_Macro(
65         cpPlugins::BasicFilters::DoubleFloodImageFilter,
66         ImageToBinaryImageFilter
67         );
68
69     public:
70       virtual DialogResult ExecConfigurationDialog( QWidget* parent );
71
72     protected:
73       DoubleFloodImageFilter( );
74       virtual ~DoubleFloodImageFilter( );
75
76       virtual std::string _GenerateData( );
77
78       template< class I >
79         inline std::string _GD0( itk::DataObject* image );
80
81       template< class I, class O >
82         inline std::string _RealGD( itk::DataObject* image );
83
84     private:
85       // Purposely not implemented
86       DoubleFloodImageFilter( const Self& );
87       Self& operator=( const Self& );
88
89     protected:
90 #ifdef cpPlugins_Interface_QT4
91       friend class DoubleFloodImageFilter_Dialog;
92       DoubleFloodImageFilter_Dialog* m_Dialog;
93 #endif // cpPlugins_Interface_QT4
94
95     };
96
97     // ---------------------------------------------------------------------
98     CPPLUGINS_INHERIT_PROVIDER( DoubleFloodImageFilter );
99
100   } // ecapseman
101
102 } // ecapseman
103
104 #endif // __CPPLUGINS__PLUGINS__DOUBLEFLOODIMAGEFILTER__H__
105
106 // eof - $RCSfile$