]> Creatis software - creaImageIO.git/blob - src/creaImageIOWxGimmickReaderDialog.cpp
#3218 creaImageIO Feature New Normal - vtk8itk4wx3-mingw64
[creaImageIO.git] / src / creaImageIOWxGimmickReaderDialog.cpp
1 /*
2 # ---------------------------------------------------------------------
3 #
4 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
5 #                        pour la Santé)
6 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
7 # Previous Authors : Laurent Guigues, Jean-Pierre Roux
8 # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
9 #
10 #  This software is governed by the CeCILL-B license under French law and 
11 #  abiding by the rules of distribution of free software. You can  use, 
12 #  modify and/ or redistribute the software under the terms of the CeCILL-B 
13 #  license as circulated by CEA, CNRS and INRIA at the following URL 
14 #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
15 #  or in the file LICENSE.txt.
16 #
17 #  As a counterpart to the access to the source code and  rights to copy,
18 #  modify and redistribute granted by the license, users are provided only
19 #  with a limited warranty  and the software's author,  the holder of the
20 #  economic rights,  and the successive licensors  have only  limited
21 #  liability. 
22 #
23 #  The fact that you are presently reading this means that you have had
24 #  knowledge of the CeCILL-B license and that you accept its terms.
25 # ------------------------------------------------------------------------
26 */
27
28
29 #include <creaImageIOWxGimmickReaderDialog.h>
30 #include <creaImageIOSystem.h>
31 #include <creaImageIOGimmick.h>
32 #ifdef _DEBUG
33 #define new DEBUG_NEW
34 #endif
35 namespace creaImageIO
36 {
37   // CTor
38   WxGimmickReaderDialog::WxGimmickReaderDialog(wxWindow *parent, 
39                                                wxWindowID id,
40                                                const std::string i_namedescp, 
41                                                const std::string i_namedb,
42                                                wxString title,
43                                                const wxPoint& pos,
44                                                const wxSize& size,
45                                                int min_dim,
46                                                int max_dim,
47                                                int output_dim,  // never used ?!? // JPR
48                                                int threads)
49  :   wxDialog( parent, 
50                   id, 
51                   title,
52                   pos,
53                   size,
54                   wxRESIZE_BORDER | 
55                   wxSYSTEM_MENU   |
56                   wxCLOSE_BOX     |
57                   wxMAXIMIZE_BOX  | 
58                   wxMINIMIZE_BOX  | 
59                   wxCAPTION  
60                ),
61  //   mGimmick(0),
62      mView(0)
63   {
64     GimmickDebugMessage(1,"WxGimmickReaderDialog::WxGimmickReaderDialog"
65                         <<std::endl);
66     mtopsizer = new wxBoxSizer(wxVERTICAL);
67
68     try {
69
70         mGimmick = boost::shared_ptr<Gimmick>(new Gimmick());
71         mGimmick->Initialize(i_namedescp,i_namedb);
72
73         mView = new WxGimmickView(mGimmick,
74                                 this,
75                                 TVID,
76                                 wxDefaultPosition,
77                                 size,
78                                 min_dim,
79                                 max_dim,
80                                 threads);
81         mView->Initialize();
82            // Connect the AddProgress callback
83       mView->ConnectValidationObserver( boost::bind( &WxGimmickReaderDialog::OnValid , this, _1 ) );
84     }
85     catch (crea::Exception e)
86     {
87       e.Print();
88       return;
89     }
90     mtopsizer->Add( mView,1,wxGROW,0);
91     wxSizer* bsizer = this->CreateSeparatedButtonSizer(wxOK|wxCANCEL);
92         /*mOkButton = new wxButton(this, wxID_OK, _T("OK"), wxPoint(170,50));
93         mCancelButton = new wxButton(this, wxID_CANCEL, _T("CANCEL"), wxPoint(210,50));
94         */      mOkButton = (wxButton*)FindWindowById(GetAffirmativeId(), this);
95     mCancelButton = (wxButton*)FindWindowById(GetEscapeId(),      this);
96     mOkButton->Enable(false);
97     mtopsizer->Add ( bsizer, 0, wxGROW );
98     SetSizer( mtopsizer );
99     Layout(); 
100   }
101
102   /// Destructor
103   WxGimmickReaderDialog::~WxGimmickReaderDialog()
104   {
105     GimmickDebugMessage(1,"WxGimmickReaderDialog::~WxGimmickReaderDialog"
106                         <<std::endl);
107     if (mView) 
108       {
109         delete mView;
110       }
111     if (mGimmick) 
112       {
113                 mGimmick->Finalize();
114       }
115   }
116
117   ///Callback method on a selection
118   void WxGimmickReaderDialog::OnValid(bool t)
119   {
120     mOkButton->Enable(t);
121   }
122
123   //================================================================
124   //BEGIN_EVENT_TABLE(WxGimmickReaderDialog, wxDialog)
125   //END_EVENT_TABLE()
126   //================================================================
127
128 } // EO namespace creaImageIO
129