2 # ---------------------------------------------------------------------
4 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
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
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.
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
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 # ------------------------------------------------------------------------
29 * wxCDMApplicationDescriptionPanel.h
31 * Created on: Nov 27, 2012
32 * Author: Daniel Felipe Gonzalez Obando
35 #ifndef WXCDMAPPLICATIONDESCRIPTIONPANEL_H_
36 #define WXCDMAPPLICATIONDESCRIPTIONPANEL_H_
39 #include <wx/hyperlink.h>
41 #include "modelCDMApplication.h"
44 * Application description panel. Shows the properties and actions available for the described application.
46 class wxCDMApplicationDescriptionPanel : public wxScrolledWindow
51 * Application description panel Constructor.
52 * @param parent Parent window reference.
53 * @param application Application class reference.
54 * @param id Panel ID. By default -1.
55 * @param caption Panel label. By default "Description Frame".
56 * @param pos Panel position. By default wxDefaultPosition.
57 * @param size Panel size. By default wxDefaultSize.
58 * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
60 wxCDMApplicationDescriptionPanel(
62 modelCDMApplication* application,
64 const wxString& caption = _("Description Frame"),
65 const wxPoint& pos = wxDefaultPosition,
66 const wxSize& size = wxDefaultSize,
67 long style = wxDEFAULT_FRAME_STYLE
73 ~wxCDMApplicationDescriptionPanel();
76 * Application description panel Creator.
77 * @param parent Parent window reference.
78 * @param application Application class reference.
79 * @param id Panel ID. By default -1.
80 * @param caption Panel label. By default "Description Frame".
81 * @param pos Panel position. By default wxDefaultPosition.
82 * @param size Panel size. By default wxDefaultSize.
83 * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
87 modelCDMApplication* application,
89 const wxString& caption = _("Description Frame"),
90 const wxPoint& pos = wxDefaultPosition,
91 const wxSize& size = wxDefaultSize,
92 long style = wxDEFAULT_FRAME_STYLE
96 * Creates all the controls in the panel (property and action controls).
98 void CreateControls();
102 * Application described.
104 modelCDMApplication* application;
106 * described application's executable name control.
108 wxStaticText* executableNametc;
113 * Handles when a return link is pressed.
114 * @param event Has the link reference to know where to return
116 void OnBtnReturn(wxHyperlinkEvent& event);
119 * Handles when the set executable name button is pressed.
120 * @param event Unused
122 void OnBtnSetExeName(wxCommandEvent& event);
124 * Handles when a 3rd Party Library checkbox state is changed. It calls to include/exclude the selected application.
125 * @param event CheckBox event.
127 void On3rdLibraryChBChange(wxCommandEvent& event);
129 * Handles when a Custom Library checkbox state is changed. It calls to include/exclude the selected application.
130 * @param event CheckBox event.
132 void OnLibraryChBChange(wxCommandEvent& event);
134 * Handles when the create class button is pressed.
136 void OnBtnCreateClass(wxCommandEvent& event);
138 * Handles when the create folder button is pressed.
140 void OnBtnCreateFolder(wxCommandEvent& event);
142 * Handles when the open package cmakelists file button is pressed.
144 void OnBtnEditCMakeLists(wxCommandEvent& event);
146 * Handles when the open containing folder button is pressed.
148 void OnBtnOpenFolder(wxCommandEvent& event);
150 * Handles when the open cmakelists file button is hovered.
152 void OnCMakeMouseEnter(wxMouseEvent& event);
154 * Handles when the open cmakelists file button finishes hover.
156 void OnCMakeMouseExit(wxMouseEvent& event);
158 * Handles when the open Main file button is pressed.
160 void OnBtnOpenMain(wxCommandEvent& event);
162 * Handles when the open Main file button is hovered.
164 void OnMainMouseEnter(wxMouseEvent& event);
166 * Handles when the open Main file button finishes hover.
168 void OnMainMouseExit(wxMouseEvent& event);
172 #endif /* WXCDMAPPLICATIONDESCRIPTIONPANEL_H_ */