]> Creatis software - crea.git/blobdiff - lib/creaDevManagerLib/wxCDMApplicationDescriptionPanel.h
Feature #1711 CreaDevManager application implementation
[crea.git] / lib / creaDevManagerLib / wxCDMApplicationDescriptionPanel.h
index fbb0a24675a1295b9be1c70e3ec107a5c43d6e4e..d3117f8d0d34ac4bf96cc57a5473f28b0bcdf287 100644 (file)
 #define WXCDMAPPLICATIONDESCRIPTIONPANEL_H_
 
 #include <creaWx.h>
-#include <wx/panel.h>
+#include <wx/hyperlink.h>
 
 #include "modelCDMApplication.h"
 
-class wxCDMApplicationDescriptionPanel : public wxPanel
+/**
+ * Application description panel. Shows the properties and actions available for the described application.
+ */
+class wxCDMApplicationDescriptionPanel : public wxScrolledWindow
 {
   DECLARE_EVENT_TABLE()
 public:
+  /**
+   * Application description panel Constructor.
+   * @param parent Parent window reference.
+   * @param application Application class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   */
   wxCDMApplicationDescriptionPanel(
       wxWindow* parent,
       modelCDMApplication* application,
@@ -54,8 +67,21 @@ public:
       long style = wxDEFAULT_FRAME_STYLE
   );
 
+  /**
+   * Destructor.
+   */
   ~wxCDMApplicationDescriptionPanel();
 
+  /**
+   * Application description panel Creator.
+   * @param parent Parent window reference.
+   * @param application Application class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   */
   bool Create(
       wxWindow* parent,
       modelCDMApplication* application,
@@ -66,20 +92,80 @@ public:
       long style = wxDEFAULT_FRAME_STYLE
   );
 
+  /**
+   * Creates all the controls in the panel (property and action controls).
+   */
   void CreateControls();
 
 private:
+  /**
+   * Application described.
+   */
   modelCDMApplication* application;
+  /**
+   * described application's executable name control.
+   */
+  wxStaticText* executableNametc;
 
   //handlers
 protected:
-  void OnBtnReturn(wxCommandEvent& event);
+  /**
+   * Handles when a return link is pressed.
+   * @param event Has the link reference to know where to return
+   */
+  void OnBtnReturn(wxHyperlinkEvent& event);
+
+  /**
+   * Handles when the set executable name button is pressed.
+   * @param event Unused
+   */
+  void OnBtnSetExeName(wxCommandEvent& event);
+  /**
+   * Handles when a 3rd Party Library checkbox state is changed. It calls to include/exclude the selected application.
+   * @param event CheckBox event.
+   */
+  void On3rdLibraryChBChange(wxCommandEvent& event);
+  /**
+   * Handles when a Custom Library checkbox state is changed. It calls to include/exclude the selected application.
+   * @param event CheckBox event.
+   */
+  void OnLibraryChBChange(wxCommandEvent& event);
+  /**
+   * Handles when the create class button is pressed.
+   */
   void OnBtnCreateClass(wxCommandEvent& event);
+  /**
+   * Handles when the create folder button is pressed.
+   */
   void OnBtnCreateFolder(wxCommandEvent& event);
+  /**
+   * Handles when the open package cmakelists file button is pressed.
+   */
   void OnBtnEditCMakeLists(wxCommandEvent& event);
+  /**
+   * Handles when the open containing folder button is pressed.
+   */
   void OnBtnOpenFolder(wxCommandEvent& event);
+  /**
+   * Handles when the open cmakelists file button is hovered.
+   */
   void OnCMakeMouseEnter(wxMouseEvent& event);
+  /**
+   * Handles when the open cmakelists file button finishes hover.
+   */
   void OnCMakeMouseExit(wxMouseEvent& event);
+  /**
+   * Handles when the open Main file button is pressed.
+   */
+  void OnBtnOpenMain(wxCommandEvent& event);
+  /**
+   * Handles when the open Main file button is hovered.
+   */
+  void OnMainMouseEnter(wxMouseEvent& event);
+  /**
+   * Handles when the open Main file button finishes hover.
+   */
+  void OnMainMouseExit(wxMouseEvent& event);
 
 };