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