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