#define WXCDMPROJECTDESCRIPTIONPANEL_H_
#include <creaWx.h>
-#include <wx/panel.h>
#include "modelCDMProject.h"
-class wxCDMProjectDescriptionPanel : public wxPanel
+/**
+ * Project Description Panel. Shows the project properties and the principal actions for the project.
+ */
+class wxCDMProjectDescriptionPanel : public wxScrolledWindow
{
DECLARE_EVENT_TABLE()
public:
+ /**
+ * Project Description panel Constructor.
+ * @param parent Parent window reference.
+ * @param project 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.
+ */
wxCDMProjectDescriptionPanel(
wxWindow* parent,
modelCDMProject* project,
long style = wxDEFAULT_FRAME_STYLE
);
+ /**
+ * Destructor.
+ */
~wxCDMProjectDescriptionPanel();
+ /**
+ * Project Description panel Creator.
+ * @param parent Parent window reference.
+ * @param project 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,
modelCDMProject* project,
long style = wxDEFAULT_FRAME_STYLE
);
+ /**
+ * Creates all the controls in the panel (property and action controls).
+ */
void CreateControls();
+ /**
+ * Retrieves the described project class reference.
+ * @return Project reference.
+ */
+ modelCDMProject* GetProject() const;
+
private:
+ /**
+ * Project described
+ */
modelCDMProject* project;
+ /**
+ * Text control showing the project version.
+ */
wxStaticText* versiontc;
+ /**
+ * Text control showing the project version date.
+ */
wxStaticText* versionDatetc;
+ /**
+ * Text control showing the project build path.
+ */
wxStaticText* buildPathtc;
//handlers
protected:
+ /**
+ * Handles when the manage packages button is pressed.
+ */
void OnBtnManagePackages(wxCommandEvent& event);
+ /**
+ * Handles when the manage libraries button is pressed.
+ */
void OnBtnManageLibraries(wxCommandEvent& event);
+ /**
+ * Handles when the manage applications button is pressed.
+ */
void OnBtnManageApplications(wxCommandEvent& event);
+ /**
+ * Handles when the open cmakelists file button is pressed.
+ */
void OnBtnEditCMakeLists(wxCommandEvent& event);
+ /**
+ * Handles when the choose build path button is pressed.
+ */
void OnBtnSetBuildPath(wxCommandEvent& event);
+ /**
+ * Handles when the open containing folder button is pressed.
+ */
void OnBtnOpenFolder(wxCommandEvent& event);
+ /**
+ * Handles when the set version button is pressed.
+ */
void OnBtnSetVersion(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 manage applications button is hovered.
+ */
void OnAppliMouseEnter(wxMouseEvent& event);
+ /**
+ * Handles when the manage applications file button finishes hover.
+ */
void OnAppliMouseExit(wxMouseEvent& event);
+ /**
+ * Handles when the manage libraries button is hovered.
+ */
void OnLibMouseEnter(wxMouseEvent& event);
+ /**
+ * Handles when the manage libraries button finishes hover.
+ */
void OnLibMouseExit(wxMouseEvent& event);
};