#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,
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,
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:
- 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 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);
};