X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcreaDevManagerLib%2FwxCDMPackageDescriptionPanel.h;h=6e992bda4e56fa7c26293738073b03e6c0e9f6d2;hb=38fb78e3930c8ba01021536630624e4b0b03dd87;hp=a6688a2b98e410efec4ac5bd425fa34864b461c7;hpb=9db3dcfa7151c22fb19fe0202ec03b4e8ac3f4b4;p=crea.git diff --git a/lib/creaDevManagerLib/wxCDMPackageDescriptionPanel.h b/lib/creaDevManagerLib/wxCDMPackageDescriptionPanel.h index a6688a2..6e992bd 100644 --- a/lib/creaDevManagerLib/wxCDMPackageDescriptionPanel.h +++ b/lib/creaDevManagerLib/wxCDMPackageDescriptionPanel.h @@ -36,15 +36,27 @@ #define WXCDMPACKAGEDESCRIPTIONPANEL_H_ #include -#include #include #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, @@ -55,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, @@ -67,18 +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: - void OnBtnReturn(wxCommandEvent& event); + /** + * 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); };