]> Creatis software - creaImageIO.git/blob - src2/creaImageIOWxGimmickReaderDialog.cpp
avoid end line fo descriptor files
[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,  // never used ?!? // JPR
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       mView = new WxGimmickView(mGimmick,
47                                 this,
48                                 TVID,
49                                 wxDefaultPosition,
50                                 size,
51                                 min_dim,
52                                 max_dim,
53                                 threads);
54       mView->Initialize();
55            // Connect the AddProgress callback
56       mView->ConnectValidationObserver
57                 ( boost::bind( &WxGimmickReaderDialog::OnValid , this, _1 ) );
58     }
59     catch (crea::Exception e)
60     {
61       e.Print();
62       return;
63     }
64
65     topsizer->Add( mView,1,wxGROW,0);
66
67     wxSizer* bsizer = CreateSeparatedButtonSizer(wxOK|wxCANCEL);
68     mOkButton     = (wxButton*)FindWindowById(GetAffirmativeId(), this);
69     mCancelButton = (wxButton*)FindWindowById(GetEscapeId(),      this);
70
71     mOkButton->Enable(false);
72
73     topsizer->Add ( bsizer, 0, wxGROW );
74
75     SetSizer( topsizer );     
76     Layout(); 
77   }
78
79   /// Destructor
80   WxGimmickReaderDialog::~WxGimmickReaderDialog()
81   {
82     GimmickDebugMessage(1,"WxGimmickReaderDialog::~WxGimmickReaderDialog"
83                         <<std::endl);
84     if (mView) 
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 } // EO namespace creaImageIO
107