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