]> Creatis software - crea.git/blobdiff - lib/creaDevManagerLib/wxCDMPackageDescriptionPanel.h
Feature #1711 CreaDevManager application implementation
[crea.git] / lib / creaDevManagerLib / wxCDMPackageDescriptionPanel.h
index b6d7b1b1366067dd4470d96a612ab2507d46d62d..6e992bda4e56fa7c26293738073b03e6c0e9f6d2 100644 (file)
 #define WXCDMPACKAGEDESCRIPTIONPANEL_H_
 
 #include <creaWx.h>
-#include <wx/panel.h>
+#include <wx/hyperlink.h>
 
 #include "modelCDMPackage.h"
 
-class wxCDMPackageDescriptionPanel : public wxPanel
+/**
+ * Package description panel. Shows the package's properties and the available actions for a package.
+ */
+class wxCDMPackageDescriptionPanel : public wxScrolledWindow
 {
   DECLARE_EVENT_TABLE()
 public:
+  /**
+   * Package description panel Constructor.
+   * @param parent Parent window reference.
+   * @param package Package 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.
+   */
   wxCDMPackageDescriptionPanel(
       wxWindow* parent,
       modelCDMPackage* package,
@@ -54,8 +67,22 @@ public:
       long style = wxDEFAULT_FRAME_STYLE
   );
 
+  /**
+   * Destructor
+   */
   ~wxCDMPackageDescriptionPanel();
 
+  /**
+   * Package description panel Creator.
+   * @param parent Parent window reference.
+   * @param package Package 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.
+   * @return True if creation was successful.
+   */
   bool Create(
       wxWindow* parent,
       modelCDMPackage* package,
@@ -66,15 +93,86 @@ public:
       long style = wxDEFAULT_FRAME_STYLE
   );
 
+  /**
+   * Creates all the controls in the panel (property and action controls).
+   */
   void CreateControls();
 
 private:
+  /**
+   * Package described.
+   */
   modelCDMPackage* package;
+  /**
+   * Control with the package author.
+   */
+  wxStaticText* authortc;
+  /**
+   * Control with the package version.
+   */
+  wxStaticText* versiontc;
+  /**
+   * Control with the package description.
+   */
+  wxStaticText* descriptiontc;
 
   //handlers
 protected:
+  /**
+   * Handles when a return link is pressed.
+   */
+  void OnBtnReturn(wxHyperlinkEvent& event);
+
+  /**
+   * Handles when the Set author button is pressed.
+   */
+  void OnBtnSetAuthor(wxCommandEvent& event);
+  /**
+   * Handles when the Set version button is pressed.
+   */
+  void OnBtnSetVersion(wxCommandEvent& event);
+  /**
+   * Handles when the Change description button is pressed.
+   */
+  void OnBtnSetDescription(wxCommandEvent& event);
+
+  /**
+   * Handles when a black box link is pressed.
+   */
+  void OnLnkBlackBoxSelect(wxHyperlinkEvent& event);
+
+  /**
+   * Handles when the create black box button is pressed.
+   */
   void OnBtnCreateBlackBox(wxCommandEvent& event);
+  /**
+   * Handles when the configure package button is pressed.
+   */
+  void OnBtnConfigurePackage(wxCommandEvent& event);
+  /**
+   * Handles when the edit cmakelists file button is pressed.
+   */
   void OnBtnEditCMakeLists(wxCommandEvent& event);
+  /**
+   * Handles when the open folder button is pressed.
+   */
+  void OnBtnOpenFolder(wxCommandEvent& event);
+  /**
+   * Handles when a black box link is hovered.
+   */
+  void OnMouseEnter(wxMouseEvent& event);
+  /**
+   * Handles when a black box link exits hover.
+   */
+  void OnMouseExit(wxMouseEvent& event);
+  /**
+   * Handles when the edit cmakelists file button is hovered.
+   */
+  void OnCMakeMouseEnter(wxMouseEvent& event);
+  /**
+   * Handles when the edit cmakelists file button exits hover.
+   */
+  void OnCMakeMouseExit(wxMouseEvent& event);
 
 };