wxQuantificationWidget_base.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   wxMaracas
00004   Module:    $RCSfile: wxQuantificationWidget_base.h,v $
00005   Language:  C++
00006   Date:      $Date: 2009/05/14 13:54:57 $
00007   Version:   $Revision: 1.1 $
00008 
00009   Copyright: (c) 2002, 2003
00010   License:
00011   
00012      This software is distributed WITHOUT ANY WARRANTY; without even 
00013      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00014      PURPOSE.  See the above copyright notice for more information.
00015 
00016 =========================================================================*/
00017 
00018 #ifndef __WX__MARACAS__QUANTIF__WDG__BASE__HXX__
00019 #define __WX__MARACAS__QUANTIF__WDG__BASE__HXX__
00020 
00021 
00022 #include "vtk3DQuantSurfaceWidget.h"
00023 #include "vtk2DQuantSliceWidget.h"
00024 #include "wxImageViewerWidget.h"
00025 
00026 #include "wxChart.h"
00027 
00028 #include <wx/wx.h>
00029 #include <wx/slider.h>
00030 #include <wx/panel.h>
00031 #include <wx/minifram.h>
00032 #include <wx/splitter.h>
00033 #include <kernel/marInterface.h>
00034 
00035 
00036 //------------------------------------------------------------------------
00037 //------------------------------------------------------------------------
00038 
00039 
00040 //------------------------------------------------------------------------
00041 //------------------------------------------------------------------------
00042 //------------------------------------------------------------------------
00043 
00044 
00045 
00046 class wxQuantificationWidget_base : public wxPanel, public InterfaceVtkPanelWidgets
00047 {
00048 public:
00049 
00050         // Constructor &  Destructor
00051         wxQuantificationWidget_base(wxWindow* parent, wxWindowID id,
00052                                                const wxPoint& pos, const wxSize& size, long style,
00053                                                const wxString& name);
00054   
00055         virtual ~wxQuantificationWidget_base();
00056 
00057         virtual void SetManualContour_ReplaceContour();
00058         virtual void SetManualContour_2DWorld(bool ok);
00059     virtual void SetManualContour_AddPoint_2DWorld();
00060         virtual void SetAnalysisTypeStenosis(int analysisTypeStenosis);
00061         virtual int  GetActualSlice();
00062         virtual void SetHealthySlice(int healthySlice=-1);      
00063         virtual void GetSliceLimites(int type, int &sliceStart,int &sliceEnd);
00064         virtual void Set3DStartRegionSliceActor( int type, int k );
00065         virtual void RefreshAxis( );
00066         virtual kVolume *GetVolumeAxisExtended(int wz1,int wz2);
00067         virtual int  GetMaxActualSlice();
00068         virtual void Set3DRegionSliceActor( int type, int k1,int k2 );
00069         virtual void DetectHealthySickSlice( bool minSurf , bool maxSurf );
00070         virtual void Show3DStartRegionSliceActor(int type );
00071         virtual void Set3DEndRegionSliceActor( int type, int k );
00072         virtual void Show3DEndRegionSliceActor(int type );
00073         virtual void Hide3DStartRegionSliceActor(int type );
00074         virtual void Hide3DEndRegionSliceActor(int type );
00075         virtual int  GetSizeHealthyRegion();
00076         virtual void SetSizeHealthyRegion(int size);
00077         virtual int  GetHealthySlice();
00078         virtual void OnContourWall();
00079         virtual void OnContourLumen();
00080         virtual void OnContourHypo();
00081         virtual void OnContourCalc();
00082         virtual void OnReplaceContourWall();
00083         virtual void OnReplaceContourLumen();
00084         virtual void OnReplaceContourHypo();
00085         virtual void OnReplaceContourCalc();
00086         virtual void OnSliderDiscontinuityScroll(int percentage);
00087         virtual void OnSliderLumenPercentageScroll(int percentage);
00088         virtual void OnSliderCalcPercentageScroll(int percentage);
00089         virtual void OnCalibration(); 
00090         virtual void OnFile();
00091         virtual void OnShowAll(bool value); 
00092         virtual void OnShowWall(bool value);
00093         virtual void OnShowLumen(bool value);
00094         virtual void OnShowCalc(bool value);
00095         virtual void OnShowHypo(bool value);
00096         
00097 
00098 private:
00099 
00100 
00101 
00102 };
00103 
00104 //------------------------------------------------------------------------
00105 //------------------------------------------------------------------------
00106 class wxPnlSearchStenosisAutomatic: public wxPanel{
00107 public:
00108         wxPnlSearchStenosisAutomatic(wxWindow* parent, wxQuantificationWidget_base *quantificationWidget_base);
00109         void OnBtHealthySlice(wxCommandEvent& event);
00110         void OnBtEndRegion(wxCommandEvent& event);
00111         void OnBtStart(wxCommandEvent& event);
00112         void OnBtPlus(wxCommandEvent& event);
00113         void OnBeginSlider(wxScrollEvent& event);
00114         void OnEndSlider(wxScrollEvent& event);
00115         void OnBtMaxSurf(wxCommandEvent& event);
00116         void OnRbArea(wxCommandEvent& event);
00117         void OnRbDiameter(wxCommandEvent& event);
00118         void OnBtAxisMPR(wxCommandEvent& event);
00119 
00120         void SetRange(int min, int max);
00121 
00122 private:
00123         wxQuantificationWidget_base                             *_quantificationWidget_base;
00124 
00125 //    wxStaticText      *_st1_blank;
00126     wxStaticText        *_st1_text1;
00127     wxStaticText        *_st1_next1;
00128     wxStaticText        *_st1_next2;
00129     wxStaticText        *_st1_next3;
00130     wxStaticText        *_st1_cero;
00131     wxStaticText        *_st1_one;
00132     wxStaticText        *_st1_two;
00133     wxStaticText        *_st1_three;
00134     wxButton            *_bt1_HealthySlice;
00135     wxButton            *_bt1_EndRegion;
00136     wxButton            *_bt1_Start;
00137 
00138         // Special Panel
00139         wxButton                *_bt_plus;
00140         wxPanel                 *_panelSpecial;
00141         wxStaticText    *_st_BeginRegion;
00142         wxStaticText    *_st_EndRegion;
00143         wxSlider                *_sl_BeginRegion;
00144         wxSlider                *_sl_EndRegion;
00145     wxRadioButton       *_rb_diameter;
00146     wxRadioButton       *_rb_surface;
00147         wxButton                *_bt_MaxSurface;
00148 
00149 }; 
00150 //------------------------------------------------------------------------
00151 //------------------------------------------------------------------------
00152 class wxPnlSearchStenosisManual : public wxPanel{
00153 public:
00154         wxPnlSearchStenosisManual(wxWindow* parent, wxQuantificationWidget_base *quantificationWidget_base);
00155         void OnBtHealthySlice(wxCommandEvent& event);
00156 
00157 private:
00158         wxQuantificationWidget_base                             *_quantificationWidget_base;
00159 //    wxStaticText      *_st2_blank;
00160     wxStaticText        *_st2_text1;
00161     wxStaticText        *_st2_text2;
00162     wxStaticText        *_st2_next1;
00163     wxStaticText        *_st2_next2;
00164     wxStaticText        *_st2_cero;
00165     wxStaticText        *_st2_one;
00166     wxStaticText        *_st2_two;
00167     wxButton            *_bt2_HealthySlice;
00168 }; 
00169 //------------------------------------------------------------------------
00170 //------------------------------------------------------------------------
00171 class wxPnlSearchStenosis : public wxPanel{
00172 public:
00173         wxPnlSearchStenosis(wxWindow* parent,wxQuantificationWidget_base *quantificationWidget_base);
00174         void OnRbAutomatic(wxCommandEvent& event);
00175         void OnRbManual(wxCommandEvent& event);
00176         wxPnlSearchStenosisAutomatic* GetPanelAutomatic();
00177 
00178 private:
00179         wxQuantificationWidget_base     *_quantificationWidget_base;
00180         // Automatic Stenosis Quantification Panel
00181         wxPnlSearchStenosisAutomatic    *_panelAutomatic;
00182         // Manual Stenosis Quantification Panel
00183         wxPanel                                                 *_panelManual;
00184 }; 
00185 //------------------------------------------------------------------------
00186 //------------------------------------------------------------------------
00187 
00188 class wxPanelSizeHealthyRegion : public wxPanel {
00189 public :
00190         wxPanelSizeHealthyRegion(wxWindow* parent, wxQuantificationWidget_base *quantificationWidget_base);
00191 private:
00192         wxQuantificationWidget_base     *_quantificationWidget_base;
00193         wxSlider                                        *_sl_Size;
00194 
00195         void OnButtonRefresh(wxScrollEvent& event);
00196 };
00197 //------------------------------------------------------------------------
00198 //------------------------------------------------------------------------
00199 class wxPnlModifyContour : public wxPanel{
00200 public:
00201         wxPnlModifyContour(wxWindow* parent,wxQuantificationWidget_base *quantificationWidget_base);
00202         void OnNewContour(wxCommandEvent& event);
00203         void OnFixContour(wxCommandEvent& event);
00204 
00205         
00206 private:
00207     wxQuantificationWidget_base                         *_quantificationWidget_base;
00208         wxButton                *_newContour;
00209         wxButton                *_editContour;
00210         wxButton                *_fixContour;
00211         wxButton                *_cancelContour;
00212         wxRadioButton   *_insert;
00213         wxRadioButton   *_erase;
00214         wxRadioButton   *_move;
00215 
00216         wxStaticText    *_one;
00217         wxStaticText    *_two;
00218         wxStaticText    *_three;
00219         wxStaticText    *_msg;
00220 
00221 }; 
00222 
00223 
00224 //------------------------------------------------------------------------
00225 //------------------------------------------------------------------------
00226 //------------------------------------------------------------------------
00227 class wxPanelControlsHealthySickSlice2 : public wxPanel{
00228 public:
00229         wxPanelControlsHealthySickSlice2(wxWindow* parent , wxQuantificationWidget_base *quantificationWidget_base);
00230         wxPnlSearchStenosis *GetPnlSearStenosis();
00231 private: 
00232         wxPnlSearchStenosis                     *wxpnlsearchstenosis;
00233 };  
00234 
00235 //------------------------------------------------------------------------
00236 //------------------------------------------------------------------------
00237 //------------------------------------------------------------------------
00238 class wxPnlContourControl : public wxPanel{
00239 public:
00240 
00241 
00242         wxPnlContourControl(wxWindow* parent,wxQuantificationWidget_base *quantificationWidget_base);
00243         void OnSliderDiscontinuityScroll(wxScrollEvent& event);
00244         void OnSliderLumenPercentageScroll(wxScrollEvent& event);
00245         void OnSliderCalcPercentageScroll(wxScrollEvent& event);
00246         void OnCalibration(wxScrollEvent& event);
00247         void OnFile(wxScrollEvent& event);
00248 
00249 private:
00250         wxQuantificationWidget_base     *_quantificationWidget_base;
00251         wxSlider                                        *_sl_Discontinuity;
00252         wxSlider                                        *_sl_LumenPercentage;
00253         wxSlider                                        *_sl_CalcPercentage;
00254         wxButton                                        *btnCalibration;
00255         wxButton                                        *btnFile;
00256 
00257         wxStaticText                            *_st_Discontinuity;
00258         wxStaticText                            *_st_LumenPercentage;
00259         wxStaticText                            *_st_CalcPercentage;
00260 };
00261 
00262 //------------------------------------------------------------------------
00263 //------------------------------------------------------------------------
00264 //------------------------------------------------------------------------
00265 class wxPanelControlsHealthySickSliceCT : public wxPanel{
00266 public:
00267         wxPanelControlsHealthySickSliceCT(wxWindow* parent , wxQuantificationWidget_base *quantificationWidget_base);
00268 private: 
00269 };
00270 
00271 
00272 //------------------------------------------------------------------------
00273 //------------------------------------------------------------------------
00274 //------------------------------------------------------------------------
00275 class wxPnlManualContour : public wxPanel{
00276 public:
00277         wxPnlManualContour(wxWindow* parent,wxQuantificationWidget_base *quantificationWidget_base);
00278         void OnContourWall(wxCommandEvent& event);
00279         void OnContourLumen(wxCommandEvent& event);
00280         void OnContourHypo(wxCommandEvent& event);
00281         void OnContourCalc(wxCommandEvent& event);
00282         void OnReplaceContourWall(wxCommandEvent& event);
00283         void OnReplaceContourLumen(wxCommandEvent& event);
00284         void OnReplaceContourHypo(wxCommandEvent& event);
00285         void OnReplaceContourCalc(wxCommandEvent& event);
00286         void OnShowAll(wxCommandEvent& event);
00287         void OnShowWall(wxCommandEvent& event);
00288         void OnShowLumen(wxCommandEvent& event);
00289         void OnShowCalc(wxCommandEvent& event);
00290         void OnShowHypo(wxCommandEvent& event);
00291 
00292 private:
00293         wxQuantificationWidget_base     *_quantificationWidget_base;
00294         wxButton                                        *btnContourWall;
00295         wxButton                                        *btnContourLumen;
00296         wxButton                                        *btnContourCalc;
00297         wxButton                                        *btnContourHypo;
00298         wxButton                                        *btnContourAB;
00299         wxButton                                        *fixContourWall;
00300         wxButton                                        *fixContourLumen;
00301         wxButton                                        *fixContourCalc;
00302         wxButton                                        *fixContourHypo;
00303         wxCheckBox                                      *cbShowAllManual; 
00304         wxCheckBox                                      *cbShowWall;
00305         wxCheckBox                                      *cbShowLumen;
00306         wxCheckBox                                      *cbShowCalc;
00307         wxCheckBox                                      *cbShowHypo;
00308         
00309 };
00310 
00311 #endif // __WX__MARACAS__QUANTIF__WDG__BASE__HXX__
00312 

Generated on 18 Mar 2010 for creaMaracasVisu_lib by  doxygen 1.6.1