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