X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcreaDevManagerLib%2FwxCDMProjectDescriptionPanel.h;h=1b7972670f621b527249e78e0f76472f0f2d8bdc;hb=f10df58dfa9c4d8489fe35f57f796bcf37e5f9b4;hp=e91dca0099475c97a27c1c6c9a596c4c1f1eea49;hpb=a368f55c1759058cb8ad47da779394670f1f1fb2;p=crea.git diff --git a/lib/creaDevManagerLib/wxCDMProjectDescriptionPanel.h b/lib/creaDevManagerLib/wxCDMProjectDescriptionPanel.h index e91dca0..1b79726 100644 --- a/lib/creaDevManagerLib/wxCDMProjectDescriptionPanel.h +++ b/lib/creaDevManagerLib/wxCDMProjectDescriptionPanel.h @@ -36,13 +36,30 @@ #define WXCDMPROJECTDESCRIPTIONPANEL_H_ #include -#include -class wxCDMProjectDescriptionPanel : public wxPanel +#include "modelCDMProject.h" + +/** + * 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, wxWindowID id = -1, const wxString& caption = _("Description Frame"), const wxPoint& pos = wxDefaultPosition, @@ -50,10 +67,25 @@ public: 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, wxWindowID id = -1, const wxString& caption = _("Description Frame"), const wxPoint& pos = wxDefaultPosition, @@ -61,10 +93,98 @@ public: 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 3rd party libraries manager button is pressed. + */ + void OnBtnConfigProject(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 build folder button is pressed. + */ + void OnBtnOpenBuild(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); }; #endif /* WXCDMPROJECTDESCRIPTIONPANEL_H_ */