X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcreaDevManagerLib%2FwxCDMLibraryDescriptionPanel.h;h=0fcc262c49f79c4d75a7e9af4e4e8d2bdac32497;hb=67757af5e4c42450a232987519be5daa2d8b6654;hp=8ae6abd3e234550010f47d34ef491190275b5938;hpb=ae979655a8f5e455fb8381c2cbf081ac0ec18132;p=crea.git diff --git a/lib/creaDevManagerLib/wxCDMLibraryDescriptionPanel.h b/lib/creaDevManagerLib/wxCDMLibraryDescriptionPanel.h index 8ae6abd..0fcc262 100644 --- a/lib/creaDevManagerLib/wxCDMLibraryDescriptionPanel.h +++ b/lib/creaDevManagerLib/wxCDMLibraryDescriptionPanel.h @@ -36,14 +36,28 @@ #define WXCDMLIBRARYDESCRIPTIONPANEL_H_ #include -#include +#include #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, @@ -54,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, @@ -66,18 +94,73 @@ 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: - 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); };