creaImageIO_lib
creaImageIOWxGimmickReaderDialog.cpp
Go to the documentation of this file.
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 
30 #include <creaImageIOSystem.h>
31 #include <creaImageIOGimmick.h>
32 #ifdef _DEBUG
33 #define new DEBUG_NEW
34 #endif
35 namespace creaImageIO
36 {
37  // CTor
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 
74  this,
75  TVID,
76  wxDefaultPosition,
77  size,
78  min_dim,
79  max_dim,
80  threads);
81  mView->Initialize();
82  // Connect the AddProgress callback
84  ( boost::bind( &WxGimmickReaderDialog::OnValid , this, _1 ) );
85  }
86  catch (crea::Exception e)
87  {
88  e.Print();
89  return;
90  }
91 
92  mtopsizer->Add( mView,1,wxGROW,0);
93 
94  wxSizer* bsizer = this->CreateSeparatedButtonSizer(wxOK|wxCANCEL);
95  /*mOkButton = new wxButton(this, wxID_OK, _T("OK"), wxPoint(170,50));
96  mCancelButton = new wxButton(this, wxID_CANCEL, _T("CANCEL"), wxPoint(210,50));
97  */ mOkButton = (wxButton*)FindWindowById(GetAffirmativeId(), this);
98  mCancelButton = (wxButton*)FindWindowById(GetEscapeId(), this);
99 
100  mOkButton->Enable(false);
101  mtopsizer->Add ( bsizer, 0, wxGROW );
102 
103  SetSizer( mtopsizer );
104 
105  Layout();
106  }
107 
110  {
111  GimmickDebugMessage(1,"WxGimmickReaderDialog::~WxGimmickReaderDialog"
112  <<std::endl);
113  if (mView)
114  {
115  delete mView;
116  }
117  if (mGimmick)
118  {
119  mGimmick->Finalize();
120  }
121 
122  }
123 
126  {
127  mOkButton->Enable(t);
128  }
129 
130  //================================================================
131  //BEGIN_EVENT_TABLE(WxGimmickReaderDialog, wxDialog)
132  //END_EVENT_TABLE()
133  //================================================================
134 
135 } // EO namespace creaImageIO
136