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