]> Creatis software - crea.git/blob - lib/creaDevManagerLib/wxCDMNewBlackBoxDialog.h
Feature #1711 CreaDevManager application implementation
[crea.git] / lib / creaDevManagerLib / wxCDMNewBlackBoxDialog.h
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 /*
30  * wxCDMNewBlackBoxDialog.h
31  *
32  *  Created on: 26/12/2012
33  *      Author: Daniel Felipe Gonzalez Obando
34  */
35
36 #ifndef WXCDMNEWBLACKBOXDIALOG_H_
37 #define WXCDMNEWBLACKBOXDIALOG_H_
38
39 #include <creaWx.h>
40 #include <wx/dialog.h>
41 #include <wx/choice.h>
42
43 /**
44  * Dialog to create a new Black Box in a Crea Project.
45  */
46 class wxCDMNewBlackBoxDialog : public wxDialog
47 {
48   DECLARE_EVENT_TABLE()
49 public:
50   /**
51    * New Black Box Dialog Constructor.
52    * @param parent Parent window reference.
53    * @param id Dialog ID. By default wxID_ANY.
54    * @param caption Dialog label. By default "New Black Box".
55    * @param position Dialog position. By default wxDefaultPosition.
56    * @param size Dialog size. By default 500, 500.
57    * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
58    */
59   wxCDMNewBlackBoxDialog(
60       wxWindow* parent,
61       wxWindowID id = wxID_ANY,
62       const wxString& caption = wxT("New Black Box"),
63       const wxPoint& position = wxDefaultPosition,
64       const wxSize& size = wxSize(500,500),
65       long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER
66   );
67   /**
68    * Destructor.
69    */
70   ~wxCDMNewBlackBoxDialog();
71   /**
72    * New Black Box Dialog Constructor.
73    * @param parent Parent window reference.
74    * @param id Dialog ID. By default wxID_ANY.
75    * @param caption Dialog label. By default "New Black Box".
76    * @param position Dialog position. By default wxDefaultPosition.
77    * @param size Dialog size. By default 500, 500.
78    * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
79    * @return True if the creation was successful.
80    */
81   bool Create(
82       wxWindow* parent,
83       wxWindowID id = wxID_ANY,
84       const wxString& caption = wxT("New Black Box"),
85       const wxPoint& position = wxDefaultPosition,
86       const wxSize& size = wxSize(500,500),
87       long style = wxDEFAULT_DIALOG_STYLE
88   );
89
90   /**
91    * Returns the black box name chosen by the user.
92    * @return Black box name.
93    */
94   const wxString GetBlackBoxName() const;
95   /**
96    * Returns the black box's author name chosen by the user.
97    * @return Black box's author name.
98    */
99   const wxString GetBlackBoxAuthor() const;
100   /**
101    * Returns the black box's author email chosen by the user.
102    * @return Black box's author email.
103    */
104   const wxString GetBlackBoxAuthorEmail() const;
105   /**
106    * Returns the black box description chosen by the user.
107    * @return Black box description.
108    */
109   const wxString GetBlackBoxDescription() const ;
110   /**
111    * Returns the black box categories chosen by the user.
112    * @return Black box categories.
113    */
114   const wxString GetBlackBoxCategories() const ;
115   /**
116    * Returns the black box type chosen by the user.
117    * @return Black box type.
118    */
119   const wxString GetBlackBoxType() const;
120   /**
121    * Returns the black box format chosen by the user.
122    * @return Black box format.
123    */
124   const wxString GetBlackBoxFormat() const;
125
126 protected:
127   /**
128    * Creates the visual controls of the Dialog.
129    */
130   void CreateControls();
131
132 private:
133   /**
134    * Black box name.
135    */
136   wxTextCtrl* blackBoxName;
137   /**
138    * Black box's author name.
139    */
140   wxTextCtrl* blackBoxAuthor;
141   /**
142    * Black box's author email.
143    */
144   wxTextCtrl* blackBoxAuthorEmail;
145   /**
146    * Black box description.
147    */
148   wxTextCtrl* blackBoxDescription;
149   /**
150    * Black box categories.
151    */
152   wxTextCtrl* blackBoxCategories;
153   /**
154    * Black box type.
155    */
156   wxChoice* blackBoxType;
157   /**
158    * Black box format.
159    */
160   wxChoice* blackBoxFormat;
161
162   //handlers
163 protected:
164   /*
165    * Handles when the create black box button is pressed.
166    * @param event Unused event.
167    */
168   void OnCreateBlackBox(wxCommandEvent& event);
169   /*
170    * Handles when the cancel button is pressed.
171    * @param event Unused event.
172    */
173   void OnCancel(wxCommandEvent& event);
174 };
175
176 #endif /* WXCDMNEWBLACKBOXDIALOG_H_ */