]> Creatis software - creaImageIO.git/blob - src2/creaImageIOWxGimmickReaderDialog.cpp
Added validation function (visible in ok button being enabled or not)
[creaImageIO.git] / src2 / creaImageIOWxGimmickReaderDialog.cpp
1 #include <creaImageIOWxGimmickReaderDialog.h>
2 #include <creaImageIOSystem.h>
3
4 namespace creaImageIO
5 {
6   // CTor
7   WxGimmickReaderDialog::WxGimmickReaderDialog(wxWindow *parent, 
8                                                wxWindowID id,
9                                                wxString title,
10                                                const wxPoint& pos,
11                                                const wxSize& size,
12                                                int min_dim,
13                                                    int max_dim,
14                                                    int out_dim,
15                                                int threads)
16  :   wxDialog( parent, 
17                   id, 
18                   title,
19                   pos,
20                   size,
21                   wxRESIZE_BORDER | 
22                   wxSYSTEM_MENU  |
23                   wxCLOSE_BOX |
24                   wxMAXIMIZE_BOX | 
25                   wxMINIMIZE_BOX | 
26                   wxCAPTION  
27                ),
28      mGimmick(0),
29      mView(0)
30   {
31     GimmickDebugMessage(1,"WxGimmickReaderDialog::WxGimmickReaderDialog"
32                         <<std::endl);
33     wxBoxSizer *topsizer = new wxBoxSizer(wxVERTICAL);
34     
35     try {
36       
37       mGimmick = new Gimmick();
38       mGimmick->Initialize();
39      
40       
41       mView = new WxGimmickView(mGimmick,
42                                 this,
43                                 TVID,
44                                 wxDefaultPosition,
45                                 size,
46                                 min_dim,
47                                 max_dim,
48                                 out_dim,
49                                 threads);
50       mView->Initialize();
51     }
52     catch (crea::Exception e)
53     {
54       e.Print();
55       return;
56     }
57
58     topsizer->Add( mView,1,wxGROW,0);
59
60     wxSizer* bsizer = CreateSeparatedButtonSizer(wxOK|wxCANCEL);
61     mOkButton = (wxButton*)FindWindowById(GetAffirmativeId(), this);
62     mCancelButton = (wxButton*)FindWindowById(GetEscapeId(), this);
63     
64     mOkButton->Enable(false);
65
66     topsizer->Add ( bsizer, 0, wxGROW );
67
68     SetSizer( topsizer );     
69     Layout(); 
70   }
71
72   /// Destructor
73   WxGimmickReaderDialog::~WxGimmickReaderDialog()
74   {
75     GimmickDebugMessage(1,"WxGimmickReaderDialog::~WxGimmickReaderDialog"
76                         <<std::endl);
77     if (mView) 
78       {
79         delete mView;
80       }
81     if (mGimmick) 
82       {
83         mGimmick->Finalize();
84         delete mGimmick;
85       }
86   }
87
88   ///Callback method on a selection
89   void WxGimmickReaderDialog::OnValid(wxCommandEvent& event)
90   {
91            if (event.GetInt()==0)
92            {mOkButton->Enable(true);}
93            else
94            {mOkButton->Enable(false);}
95   }
96
97
98   
99   //================================================================
100   BEGIN_EVENT_TABLE(WxGimmickReaderDialog, wxDialog)
101         EVT_COMMAND(wxID_ANY, 0, WxGimmickReaderDialog::OnValid) 
102   END_EVENT_TABLE()
103   //================================================================
104
105
106 } // EO namespace creaImageIO
107
108