]> Creatis software - crea.git/blob - lib/creaDevManagerLib/wxCDMSettingsDialog.h
Feature #1711 CreaDevManager application implementation
[crea.git] / lib / creaDevManagerLib / wxCDMSettingsDialog.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  * wxCDMSettingsDialog.h
31  *
32  *  Created on: 14/2/2013
33  *      Author: Daniel Felipe Gonzalez Obando
34  */
35
36 #ifndef WXCDMSETTINGSDIALOG_H_
37 #define WXCDMSETTINGSDIALOG_H_
38
39 #include <creaWx.h>
40 #include <wx/dialog.h>
41 #include <wx/dialog.h>
42
43 /**
44  * Settings Dialog
45  */
46 class wxCDMSettingsDialog : public wxDialog
47 {
48   DECLARE_EVENT_TABLE()
49 public:
50   /**
51    * Settings Dialog Constructor.
52    * @param parent Parent window.
53    * @param id Dialog ID. By default wxID_ANY.
54    * @param caption Dialog label. By default "Settings - CreaDevManager  CREATIS".
55    * @param position Dialog position. By default wxDefaultPosition.
56    * @param size Dialog size. By default 350, 370.
57    * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
58    */
59   wxCDMSettingsDialog(
60       wxWindow* parent,
61       wxWindowID id = wxID_ANY,
62       const wxString& caption = wxT("Settings - CreaDevManager  CREATIS"),
63       const wxPoint& position = wxDefaultPosition,
64       const wxSize& size = wxSize(350,370),
65       long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER
66   );
67   /**
68    * Destructor.
69    */
70   ~wxCDMSettingsDialog();
71   /**
72    * Settings Dialog Creator.
73    * @param parent Parent window.
74    * @param id Dialog ID. By default wxID_ANY.
75    * @param caption Dialog label. By default "Settings - CreaDevManager  CREATIS".
76    * @param position Dialog position. By default wxDefaultPosition.
77    * @param size Dialog size. By default 350, 370.
78    * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
79    * @return if the creation was successful.
80    */
81   bool Create(
82       wxWindow* parent,
83       wxWindowID id = wxID_ANY,
84       const wxString& caption = wxT("Settings - CreaDevManager  CREATIS"),
85       const wxPoint& position = wxDefaultPosition,
86       const wxSize& size = wxSize(350,370),
87       long style = wxDEFAULT_DIALOG_STYLE
88   );
89
90   /**
91    * Retrieves if the user has help enabled.
92    * @return True if the user has the help enabled.
93    */
94   bool IsHelpEnabled();
95
96   /**
97    * Sets the help enabled checkbox value.
98    * @param isHelp value of the help enabled checkbox.
99    */
100   void SetHelpEnabled(bool isHelp);
101
102 protected:
103   /**
104    * Creates the help controls (text and buttons).
105    */
106   void CreateControls();
107
108   //attributes
109 private:
110   /**
111    * Text Editor Command.
112    */
113   wxTextCtrl* textEditor;
114   /**
115    * Terminal Command.
116    */
117   wxTextCtrl* terminal;
118   /**
119    * File Explorer Command.
120    */
121   wxTextCtrl* fileExplorer;
122   /**
123    * Help Enabled.
124    */
125   wxCheckBox* helpEnabled;
126   /**
127    * Build Command.
128    */
129   wxTextCtrl* buildCommand;
130
131   //handlers
132 protected:
133   /**
134    * Handler to close help dialog saving changes.
135    * @param event Unused.
136    */
137   void OnFinish(wxCommandEvent& event);
138
139   /**
140    * Handler to close help dialog discarding changes.
141    * @param event Unused.
142    */
143   void OnCancel(wxCommandEvent& event);
144
145   /**
146    * Handler to return to default settings.
147    * @param event Unused.
148    */
149   void OnDefaults(wxCommandEvent& event);
150 };
151
152 #endif /* WXCDMSETTINGSDIALOG_H_ */