]> Creatis software - crea.git/blob - lib/creaDevManagerLib/wxCDMPackageConfigurationDialog.h
Feature #1711 CreaDevManager application implementation
[crea.git] / lib / creaDevManagerLib / wxCDMPackageConfigurationDialog.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  * wxCDMPackageConfigurationDialog.h
31  *
32  *  Created on: 6/4/2013
33  *      Author: Daniel Felipe Gonzalez Obando
34  */
35
36 #ifndef WXCDMPACKAGECONFIGURATIONDIALOG_H_
37 #define WXCDMPACKAGECONFIGURATIONDIALOG_H_
38
39 #include <creaWx.h>
40 #include <wx/dialog.h>
41
42 #include "modelCDMPackage.h"
43
44 /**
45  * Package Configuration Dialog
46  */
47 class wxCDMPackageConfigurationDialog : public wxDialog
48 {
49   DECLARE_EVENT_TABLE()
50 public:
51   /**
52    * Package Configuration Dialog Constructor.
53    * @param parent Parent window.
54    * @param package Package Description reference.
55    * @param id Dialog ID. By default wxID_ANY.
56    * @param caption Dialog label. By default "Package Library Configuration".
57    * @param position Dialog position. By default wxDefaultPosition.
58    * @param size Dialog size. By default 350, 370.
59    * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE.
60    */
61   wxCDMPackageConfigurationDialog(
62       wxWindow* parent,
63       modelCDMPackage * package,
64       wxWindowID id = wxID_ANY,
65       const wxString& caption = wxT("Package Library Configuration"),
66       const wxPoint& position = wxDefaultPosition,
67       const wxSize& size = wxSize(350,370),
68       long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER
69   );
70   /**
71    * Destructor.
72    */
73   ~wxCDMPackageConfigurationDialog();
74   /**
75    * Package Configuration Dialog Creator.
76    * @param parent Parent window.
77    * @param id Dialog ID. By default wxID_ANY.
78    * @param caption Dialog label. By default "Package Library Configuration".
79    * @param position Dialog position. By default wxDefaultPosition.
80    * @param size Dialog size. By default 350, 370.
81    * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE.
82    * @return if the creation was successful.
83    */
84   bool Create(
85       wxWindow* parent,
86       wxWindowID id = wxID_ANY,
87       const wxString& caption = wxT("Package Library Configuration"),
88       const wxPoint& position = wxDefaultPosition,
89       const wxSize& size = wxSize(350,370),
90       long style = wxDEFAULT_DIALOG_STYLE
91   );
92
93 protected:
94   /**
95    * Creates the help controls (text and buttons).
96    */
97   void CreateControls();
98
99 //attributes
100 private:
101   /**
102    * Main panel reference.
103    */
104   modelCDMPackage* package;
105
106 //handlers
107 protected:
108   /**
109    * Handler to close configuration dialog.
110    * @param event Unused.
111    */
112   void OnFinish(wxCommandEvent& event);
113
114   /**
115    * Handler when a third party library include is pressed.
116    * @param event checkbox event.
117    */
118   void On3rdLibraryIncludeChange(wxCommandEvent& event);
119
120   /**
121    * Handler when a custom library include is pressed.
122    * @param event checkbox event.
123    */
124   void OnCustomLibraryIncludeChange(wxCommandEvent& event);
125 };
126
127 #endif /* WXCDMPACKAGECONFIGURATIONDIALOG_H_ */