]> Creatis software - crea.git/blobdiff - lib/creaDevManagerLib/wxCDMLibraryDescriptionPanel.h
Feature #1711 CreaDevManager application implementation
[crea.git] / lib / creaDevManagerLib / wxCDMLibraryDescriptionPanel.h
index 66e3063c002e7d2e10a514ed7375202ff3056b05..0fcc262c49f79c4d75a7e9af4e4e8d2bdac32497 100644 (file)
 #define WXCDMLIBRARYDESCRIPTIONPANEL_H_
 
 #include <creaWx.h>
-#include <wx/panel.h>
 #include <wx/hyperlink.h>
 
 #include "modelCDMLibrary.h"
 
-class wxCDMLibraryDescriptionPanel : public wxPanel
+/**
+ * Library description panel. Shows the available actions on the described library.
+ */
+class wxCDMLibraryDescriptionPanel : public wxScrolledWindow
 {
   DECLARE_EVENT_TABLE()
 public:
+
+  /**
+   * Library description panel Constructor.
+   * @param parent Parent window reference.
+   * @param library Project 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.
+   */
   wxCDMLibraryDescriptionPanel(
       wxWindow* parent,
       modelCDMLibrary* library,
@@ -55,8 +68,22 @@ public:
       long style = wxDEFAULT_FRAME_STYLE
   );
 
+  /**
+   * Destructor.
+   */
   ~wxCDMLibraryDescriptionPanel();
 
+  /**
+   * Library description panel Creator.
+   * @param parent Parent window reference.
+   * @param library Project 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,
       modelCDMLibrary* library,
@@ -67,21 +94,72 @@ public:
       long style = wxDEFAULT_FRAME_STYLE
   );
 
+  /**
+   * Creates all the controls in the panel (property and action controls).
+   */
   void CreateControls();
 
 private:
+  /**
+   * Library described.
+   */
   modelCDMLibrary* library;
+  /**
+   * Control with the described library name.
+   */
   wxStaticText* libraryNametc;
 
   //handlers
 protected:
+  /**
+   * 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 library.
+   * @param event CheckBox event.
+   */
+  void On3rdLibraryChBChange(wxCommandEvent& event);
+  /**
+   * Handles when a Custom Library checkbox state is changed. It calls to include/exclude the selected library.
+   * @param event CheckBox event.
+   */
+  void OnLibraryChBChange(wxCommandEvent& event);
+  /**
+   * Handles when the create class button is pressed.
+   * @param event Unused.
+   */
   void OnBtnCreateClass(wxCommandEvent& event);
+  /**
+   * Handles when the create folder buttonis pressed.
+   * @param event Unused.
+   */
   void OnBtnCreateFolder(wxCommandEvent& event);
+  /**
+   * Handles when Edit Cmakelists button is pressed.
+   * @param event Unused.
+   */
   void OnBtnEditCMakeLists(wxCommandEvent& event);
+  /**
+   * Handles when the open containing folder button is pressed.
+   * @param event Unused.
+   */
   void OnBtnOpenFolder(wxCommandEvent& event);
+  /**
+   * Handles when the edit cmakelists button is hovered.
+   * @param event Unused.
+   */
   void OnCMakeMouseEnter(wxMouseEvent& event);
+  /**
+   * Handles when the edit cmakelists button exits hover.
+   * @param event Unused.
+   */
   void OnCMakeMouseExit(wxMouseEvent& event);
 
 };