]> Creatis software - creaImageIO.git/blob - src2/creaImageIOWxGimmickReaderDialog.cpp
d223e2c77b553dc7dbc4ec498ebe701bd70cb8cf
[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 output_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                                 threads);
49       mView->Initialize();
50     }
51     catch (crea::Exception e)
52     {
53       e.Print();
54       return;
55     }
56
57     topsizer->Add( mView,1,wxGROW,0);
58
59     wxSizer* bsizer = CreateSeparatedButtonSizer(wxOK|wxCANCEL);
60     mOkButton = (wxButton*)FindWindowById(GetAffirmativeId(), this);
61     mCancelButton = (wxButton*)FindWindowById(GetEscapeId(), this);
62     
63     mOkButton->Enable(false);
64
65     topsizer->Add ( bsizer, 0, wxGROW );
66
67     SetSizer( topsizer );     
68     Layout(); 
69   }
70
71   /// Destructor
72   WxGimmickReaderDialog::~WxGimmickReaderDialog()
73   {
74     GimmickDebugMessage(1,"WxGimmickReaderDialog::~WxGimmickReaderDialog"
75                         <<std::endl);
76     if (mView) 
77       {
78         delete mView;
79       }
80     if (mGimmick) 
81       {
82         mGimmick->Finalize();
83         delete mGimmick;
84       }
85   }
86
87   ///Callback method on a selection
88   void WxGimmickReaderDialog::OnValid(wxCommandEvent& event)
89   {
90           bool t=mView->ValidateSelection(event.GetClientData());
91     mOkButton->Enable(t);
92   }
93
94
95
96  
97   //================================================================
98   BEGIN_EVENT_TABLE(WxGimmickReaderDialog, wxDialog)
99         EVT_COMMAND(wxID_ANY, 0, WxGimmickReaderDialog::OnValid) 
100   END_EVENT_TABLE()
101   //================================================================
102
103
104 } // EO namespace creaImageIO
105
106