From f6c7b458a17b67950d1844d6a600683a99cb2b6d Mon Sep 17 00:00:00 2001 From: Diego Caceres Date: Thu, 19 May 2011 15:25:47 +0000 Subject: [PATCH] creaButtonContainer: Documentation updates :) :). If you turns on the documentation in the creaMaracasVisu compilation you can find this documentation. For finish: view documentation (3 hours) :) good work!! --- .../controller/buttonContainerController.cxx | 28 +++--- .../controller/buttonContainerController.h | 62 +++++++------ .../model/buttonGroupFactory.cxx | 17 ++-- .../model/buttonGroupFactory.h | 43 ++++------ .../model/containerSettings.cxx | 20 ++--- .../model/containerSettings.h | 33 ++++--- .../creaButtonContainer/model/functor.h | 35 ++++---- .../creaButtonContainer/model/functor.txx | 14 ++- .../creaButtonContainer/model/system.h | 23 ++--- .../creaButtonContainer/view/button.cxx | 17 ++-- .../widgets/creaButtonContainer/view/button.h | 86 ++++++++++--------- .../view/buttonContainerPanel.cxx | 15 ++-- .../view/buttonContainerPanel.h | 85 +++++++++++++++--- .../creaButtonContainer/view/buttonGroup.cxx | 14 ++- .../creaButtonContainer/view/buttonGroup.h | 65 +++++++++++--- .../view/buttonManager.cxx | 14 ++- .../creaButtonContainer/view/buttonManager.h | 68 ++++++++++++--- .../creaButtonContainer/view/groupManager.cxx | 15 ++-- .../creaButtonContainer/view/groupManager.h | 78 ++++++++++++++--- 19 files changed, 454 insertions(+), 278 deletions(-) diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/controller/buttonContainerController.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/controller/buttonContainerController.cxx index 1750930..83560a4 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/controller/buttonContainerController.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/controller/buttonContainerController.cxx @@ -1,19 +1,14 @@ -/************************************************************************************//*! - * Name: @file buttonContainerController.cxx - * Purpose: @brief This contains the ButtonContainerController class implementation - * Author: @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) - * Modified: 2011-05-17 - * Copyright: - * License: - ***************************************************************************************/ +/*! + * @file buttonContainerController.cxx + * @brief This contains the ButtonContainerController class implementation + * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) + * @date 2011-05-19 + */ -//! @include "buttonContainerController.h" #include "buttonContainerController.h" -//! @namespace namespace creaButtonContainer { - //! @namespace namespace controller { // ---------------------------------------------------------------------------------- @@ -24,6 +19,7 @@ namespace creaButtonContainer // ---------------------------------------------------------------------------------- ButtonContainerController::~ButtonContainerController( ) { + delete this->m_BCPanel; } // ---------------------------------------------------------------------------------- void @@ -39,8 +35,7 @@ namespace creaButtonContainer this->Connect( ( *it ).first, wxEVT_COMMAND_BUTTON_CLICKED, - ( wxObjectEventFunction ) - & ButtonContainerController::ButtonExpEvent ); + (wxObjectEventFunction) &ButtonContainerController::ButtonExpEvent ); }//rof //Adding ButtonEvents @@ -51,11 +46,8 @@ namespace creaButtonContainer KeyList keylist = ( *it )->GetButtonIdContainer( ); for( KeyList::iterator it2 = keylist.begin( ); it2 != keylist.end( ); ++it2 ) { - this->Connect( - ( *it2 ), - wxEVT_COMMAND_BUTTON_CLICKED, - ( wxObjectEventFunction ) - & ButtonContainerController::ButtonEvent ); + this->Connect( ( *it2 ), wxEVT_COMMAND_BUTTON_CLICKED, + (wxObjectEventFunction) &ButtonContainerController::ButtonEvent ); }//rof }//rof }//yrt diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/controller/buttonContainerController.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/controller/buttonContainerController.h index 260f44b..3ca492a 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/controller/buttonContainerController.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/controller/buttonContainerController.h @@ -1,42 +1,48 @@ -/************************************************************************************//*! - * Name: @file buttonContainerController.h - * Purpose: @brief This contains the ButtonContainerController class - * Author: @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) - * Modified: 2011-05-17 - * Copyright: - * License: - ***************************************************************************************/ +/*! + * @file buttonContainerController.h + * @brief This contains the ButtonContainerController class + * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) + * @date 2011-05-19 + */ #ifndef BUTTONCONTAINERCONTROLLER_H_ #define BUTTONCONTAINERCONTROLLER_H_ -//! @include #include -//! @include #include -//! @include #include - -//! @include "buttonContainerPanel.h" #include "buttonContainerPanel.h" -//! @namespace +/*! @namespace + * @brief Contains the creaButtonContainer library included in creaMaracasVisu. + */ namespace creaButtonContainer { - //! @namespace + /*! @namespace + * @brief Contains the implementation of the view in creaButtonContainer library. + * @see MVC Software Architecture + */ namespace view { //Predefinition of ButtonContainerPanel FriendClass!! - //! @class ButtonContainerPanel buttonContainerPanel.h "buttonContainerPanel.h" - + /*! @class ButtonContainerPanel : public wxScrolledWindow buttonContainerPanel.h "buttonContainerPanel.h" + * @brief This class is the container of the creaButtonContainer. + * @details This class derives from wxScrolledWindow and manages the view of the buttonContainer. + * @see wxScrolledWindow + */ class ButtonContainerPanel; } - //! @namespace + /*! @namespace + * @brief Contains the implementation of the controller in creaButtonContainer library. + * @see MVC Software Architecture + */ namespace controller { /*! @class ButtonContainerController buttonContainerController.h "buttonContainerController.h" - * @brief This class contains the ButtonContainerPanel controller - * This class describes button events. + * @brief This class contains the ButtonContainerPanel controller. + * @details This class describes the button events, it derives from wxEvtHandler and it is the + * controller in the MVC. + * @see wxEvtHandler */ class ButtonContainerController : public wxEvtHandler { @@ -58,7 +64,7 @@ namespace creaButtonContainer typedef std::list< ButtonGroup* > ButtonGroupList; // ---------------------------------------------------------------------------------- /*! @typedef std::map< long, GroupManager* > GroupManagerList - * @brief Defines the GroupManagerList type + * @brief Defines the GroupManagerList type */ typedef std::map< long, GroupManager* > GroupManagerList; // ---------------------------------------------------------------------------------- @@ -84,26 +90,28 @@ namespace creaButtonContainer typedef creaButtonContainer::view::ButtonContainerPanel BCPanel; //end of typedef definition public: - /*! @fn ButtonContainerController::ButtonContainerController( BCPanel* ) + // ---------------------------------------------------------------------------------- + /*! @fn ButtonContainerController( BCPanel* ); * @brief This is the Parameterized constructor. - * @param BCPanel* + * @param BCPanel* The connection with the view (wxPanel link). */ ButtonContainerController( BCPanel* ); // ---------------------------------------------------------------------------------- - /*! @fn virtual ButtonContainerController::~ButtonContainerController( ) + /*! @fn ~ButtonContainerController( ); * @brief This is the destructor. */ virtual ~ButtonContainerController( ); + // ---------------------------------------------------------------------------------- - /*! @fn void ButtonContainerController::AddEvents( ) + /*! @fn void AddEvents( ); * @brief This function connect every buttonEvent to the view. * @exception std::bad_alloc */ void AddEvents( ); // ---------------------------------------------------------------------------------- - /*! @fn void ButtonContainerController::ButtonExpEvent( wxCommandEvent& event ) + /*! @fn void ButtonExpEvent( wxCommandEvent& event ); * @brief This function is the button group "+" "-" event. * @exception std::bad_alloc * @param event Button action event. @@ -111,7 +119,7 @@ namespace creaButtonContainer void ButtonExpEvent( wxCommandEvent& event ); // ---------------------------------------------------------------------------------- - /*! @fn void ButtonContainerController::ButtonEvent( wxCommandEvent& event ) + /*! @fn void ButtonEvent( wxCommandEvent& event ); * @brief This function calls the events of the buttonContainer buttons * @exception std::bad_alloc * @param event Button action event. diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/buttonGroupFactory.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/buttonGroupFactory.cxx index eda556b..9a76e9b 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/buttonGroupFactory.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/buttonGroupFactory.cxx @@ -1,19 +1,14 @@ -/************************************************************************************//*! - * Name: @file buttonGroupFactory.cxx - * Purpose: @brief This contains the ButtonGroupFactory class implementation - * Author: @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) - * Modified: 2011-05-18 - * Copyright: - * License: - ***************************************************************************************/ +/*! + * @file buttonGroupFactory.cxx + * @brief This contains the ButtonGroupFactory class implementation. + * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) + * @date 2011-05-19 + */ -//! @include "buttonGroupFactory.h" #include "buttonGroupFactory.h" -//! @namespace namespace creaButtonContainer { - //! @namespace namespace model { // ---------------------------------------------------------------------------------- diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/buttonGroupFactory.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/buttonGroupFactory.h index cb29a68..246a6f2 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/buttonGroupFactory.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/buttonGroupFactory.h @@ -1,47 +1,41 @@ -/************************************************************************************//*! - * Name: @file buttonGroupFactory.h - * Purpose: @brief This contains ButtonGroupFactory class - * Author: @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) - * Modified: 2011-05-17 - * Copyright: - * License: - ***************************************************************************************/ +/*! + * @file buttonGroupFactory.h + * @brief This contains ButtonGroupFactory class + * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) + * @date 2011-05-19 + */ #ifndef BUTTONGROUPFACTORY_H #define BUTTONGROUPFACTORY_H -//! @include #include -//! @include #include -//! @include #include -//! @include #include -//! @include #include -//! @include "system.h" #include "system.h" -//! @include "button.h" #include "button.h" -//! @include "buttonGroup.h" #include "buttonGroup.h" -//! @include "containerSettings.h" #include "containerSettings.h" -//! @include "functor.h" #include "functor.h" -//! @namespace +/*! @namespace + * @brief Contains the creaButtonContainer library included in creaMaracasVisu. + */ namespace creaButtonContainer { - //! @namespace + /*! @namespace + * @brief Contains the implementation of the model in creaButtonContainer library. + * @see MVC Software Architecture + */ namespace model { /*! @class ButtonGroupFactory buttonGroupFactory.h "buttonGroupFactory.h" - * @brief This class contains the ButtonContainer factory. - * This class describes the factory of the ButtonContainer using design patterns. + * @brief This class contains the ButtonGroup factory. + * @details This class creates a container of group of buttons. + * @see Factory Pattern */ class ButtonGroupFactory { @@ -72,13 +66,14 @@ namespace creaButtonContainer */ typedef std::map< long, Button* > ButtonContainer; // ---------------------------------------------------------------------------------- + //end of typedef definition public: - /*! @fn ButtonGroupFactory::ButtonGroupFactory( ) + /*! @fn ButtonGroupFactory::ButtonGroupFactory( ); * @brief This is the default constructor. */ ButtonGroupFactory( ); // ------------------------------------------------------------------------------- - /*! @fn virtual ButtonGroupFactory::~ButtonGroupFactory( ) + /*! @fn virtual ButtonGroupFactory::~ButtonGroupFactory( ); * @brief This is the destructor. */ virtual diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/containerSettings.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/containerSettings.cxx index fc12196..e6437ae 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/containerSettings.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/containerSettings.cxx @@ -1,19 +1,14 @@ -/************************************************************************************//*! - * Name: @file buttonContainerController.cxx - * Purpose: @brief This contains the ButtonContainerController class implementation - * Author: @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) - * Modified: 2011-05-18 - * Copyright: - * License: - ***************************************************************************************/ +/*! + * @file containerSettings.cxx + * @brief This contains the ContainerSettings class implementation + * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) + * @date 2011-05-19 + */ -//! @include "containerSettings.h" #include "containerSettings.h" -//! @namespace namespace creaButtonContainer { - //! @namespace namespace model { // ---------------------------------------------------------------------------------- @@ -38,8 +33,7 @@ namespace creaButtonContainer } // ---------------------------------------------------------------------------------- void - ContainerSettings::SetButtonGroupContainer( - ButtonGroupMap bgContainer ) + ContainerSettings::SetButtonGroupContainer( ButtonGroupMap bgContainer ) { this->m_ButtonGroupContainer = bgContainer; } diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/containerSettings.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/containerSettings.h index d0680e7..6362f14 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/containerSettings.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/containerSettings.h @@ -1,46 +1,43 @@ -/************************************************************************************//*! - * Name: @file containerSettings.h - * Purpose: @brief This contains the ContainerSettings class - * Author: @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) - * Modified: 2011-05-18 - * Copyright: - * License: - ***************************************************************************************/ +/*! + * @file containerSettings.h + * @brief This contains the ContainerSettings class + * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) + * @date 2011-05-19 + */ #ifndef BUTTONGROUPSETTINGS_H_ #define BUTTONGROUPSETTINGS_H_ -//! @include #include -//! @include #include -//! @include #include -//! @include "system.h" #include "system.h" -//! @include "functor" #include "functor.h" -//! @namespace +/*! @namespace + * @brief Contains the creaButtonContainer library included in creaMaracasVisu. + */ namespace creaButtonContainer { - //! @namespace + /*! @namespace + * @brief Contains the implementation of the model in creaButtonContainer library. + * @see MVC Software Architecture + */ namespace model { /*! @class ContainerSettings containerSettings.h "containerSettings.h" * @brief This class contains the settings of the button container. - * This class describes how to add new buttons to the container. */ class ContainerSettings { public: // ---------------------------------------------------------------------------------- - /*! @fn void ContainerSettings::ContainerSettings( ) + /*! @fn ContainerSettings::ContainerSettings( ) * @brief This is the constructor. */ ContainerSettings( ); // ---------------------------------------------------------------------------------- - /*! @fn ContainerSettings::~ContainerSettings( ) + /*! @fn virtual ContainerSettings::~ContainerSettings( ) * @brief This is the destructor. */ virtual diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/functor.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/functor.h index 8213773..8489cea 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/functor.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/functor.h @@ -1,29 +1,32 @@ -/************************************************************************************//*! - * Name: @file functor.h - * Purpose: @brief defines TFunctor class - * Author: @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) - * Modified: 2011-05-18 - * Copyright: - * License: - ***************************************************************************************/ +/*! + * @file functor.h + * @brief defines TFunctor class + * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) + * @date 2011-05-19 + */ #ifndef TFUNCTOR_H_ #define TFUNCTOR_H_ -//! @include #include -//! @namespace +/*! @namespace + * @brief Contains the creaButtonContainer library included in creaMaracasVisu. + */ namespace creaButtonContainer { - //! @namespace + /*! @namespace + * @brief Contains the implementation of the model in creaButtonContainer library. + * @see MVC Software Architecture + */ namespace model { + //typedef definition. /*! @typedef std::string ButtonIDType; * @brief Defines the ButtonIDType type. */ typedef std::string ButtonIDType; - + //end of typedef definition /*! @class TFunctor functor.h "functor.h" * @brief This is an abstract class for call_back functions. */ @@ -50,12 +53,11 @@ namespace creaButtonContainer // derived template class /*! @tparam - * @brief It makes TConcreteFunctor usable for all Classes. + * @brief TClass makes TConcreteFunctor usable for all Classes. */ template< typename TClass > /*! @class TConcreteFunctor: public TFunctor functor.h "functor.h" - * @brief This class contains the ButtonContainer factory. - * This class describes the factory of the ButtonContainer using design patterns. + * @brief This class allows to make call_back functions. */ class TConcreteFunctor : public TFunctor { @@ -88,7 +90,8 @@ namespace creaButtonContainer Call( const ButtonIDType &buttonName ); // ------------------------------------------------------------------------------- private: - void (TClass::*fpt)( const ButtonIDType &buttonName ); //! #include -//! @include #include -//! @include #include -//! @include "functor.h" #include "functor.h" -///@namespace +/*! @namespace + * @brief Contains the creaButtonContainer library included in creaMaracasVisu. + */ namespace creaButtonContainer { /*! @typedef model::TFunctor* FunctionEventType; * @brief Defines the FunctionEventType type. - * */ typedef model::TFunctor* FunctionEventType; // ---------------------------------------------------------------------------------- diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/button.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/button.cxx index 15ad6fc..1edce54 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/button.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/button.cxx @@ -1,19 +1,14 @@ -/*************************************************************** - * Name: Button.CXX - * Purpose: Implements Button.h - * Author: Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) - * Modified: 2011-05-09 - * Copyright: Diego CACERES (http://www.creatis.insa-lyon.fr/~caceres/) - * License: - **************************************************************/ +/*! + * @file button.cxx + * @brief This contains the Button class implementation. + * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) + * @date 2011-05-19 + */ -//! @include "button.h" #include "button.h" -//! @namespace namespace creaButtonContainer { - //! @namespace namespace view { // ---------------------------------------------------------------------------------- diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/button.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/button.h index ea30b20..7d83a71 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/button.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/button.h @@ -1,97 +1,101 @@ -/************************************************************************************//*! - * Name: @file button.h - * Purpose: @brief This contains the Button class - * Author: @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) - * Modified: 2011-05-18 - * Copyright: - * License: - ***************************************************************************************/ +/*! + * @file button.h + * @brief This contains the Button class. + * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) + * @date 2011-05-19 + */ #ifndef BUTTON_H #define BUTTON_H -//! @include #include -//! @include < #include -//! @include #include -//! @include #include -//! @include #include -//! @include "functor.h" #include "functor.h" -//! @include "system.h" #include "system.h" -//! @namespace +/*! @namespace + * @brief Contains the creaButtonContainer library included in creaMaracasVisu. + */ namespace creaButtonContainer { - //! @namespace + /*! @namespace + * @brief Contains the implementation of the view in creaButtonContainer library. + * @see MVC Software Architecture + */ namespace view { - /*! @class ContainerSettings containerSettings.h "containerSettings.h" - * @brief This class contains the settings of the button container. - * This class describes how to add new buttons to the container. + /*! @class Button : public wxBitmapButton button.h "button.h" + * @brief This class contains the Button in the view perspective. + * @details This class contains the information of a button, it derives from wxBitmapButton + * @see wxBitmapButton */ class Button : public wxBitmapButton { public: - /*! @typedef creaButtonContainer::model::ContainerSettings ButtonGroupModel; - * @brief Defines the ButtonGroupModel type. + //typedef definition + /*! @typedef creaButtonContainer::model::TFunctor TFunctor; + * @brief Defines the TFunctor type. */ typedef creaButtonContainer::model::TFunctor TFunctor; + //end of typedef definition public: // ---------------------------------------------------------------------------------- - /*! @fn void ContainerSettings::ContainerSettings( ) + /*! @fn Button::Button( wxWindow* parent, long id, ButtonPair* pair ); * @brief This is the constructor. + * @param parent The wxWindow* parent. + * @param id The wxID of the button. + * @param pair The button information. */ Button( wxWindow* parent, long id, ButtonPair* pair ); // ---------------------------------------------------------------------------------- - /*! @fn void ContainerSettings::ContainerSettings( ) - * @brief This is the constructor. + /*! @fn virtual Button::~Button( ); + * @brief This is the destructor. */ virtual ~Button( ); // ---------------------------------------------------------------------------------- - /*! @fn KeyMapList ContainerSettings::GetGroupNameList( ) - * @brief This function returns a container with the name of the groups. - * @return KeyMapList A list with the name of the button groups. + /*! @fn long Button::GetID( ); + * @brief This function gets the wxID of the button. + * @return long wxID of the button. */ long GetID( ); // ---------------------------------------------------------------------------------- - /*! @fn KeyMapList ContainerSettings::GetGroupNameList( ) - * @brief This function returns a container with the name of the groups. - * @return long A list with the name of the button groups. + /*! @fn std::string Button::GetButtonName( ); + * @brief This function returns the name of the button. + * @return std::string The name of the button. */ std::string GetButtonName( ); // ---------------------------------------------------------------------------------- - /*! @fn KeyMapList ContainerSettings::GetGroupNameList( ) - * @brief This function returns a container with the name of the groups. - * @return std::string A list with the name of the button groups. + /*! @fn std::string Button::GetIconPath( ); + * @brief This function returns the iconPath of the button. + * @return std::string The path of the icon. */ std::string GetIconPath( ); // ---------------------------------------------------------------------------------- - /*! @fn KeyMapList ContainerSettings::GetGroupNameList( ) - * @brief This function returns a container with the name of the groups. - * @return std::string A list with the name of the button groups. + /*! @fn std::string Button::GetDescription( ); + * @brief This function returns a the description of the button. + * @return std::string The tooltip of the button. */ std::string GetDescription( ); // ---------------------------------------------------------------------------------- - /*! @fn KeyMapList ContainerSettings::GetGroupNameList( ) - * @brief This function returns a container with the name of the groups. - * @return std::string A list with the name of the button groups. + /*! @fn void Button::Execute( ); + * @brief This function executes the Functor (Call_Back Function). + * This is the event of the button that it was defined to be called remotely using + * call_back functions. In this project it was implemented using Functors. + * @see TFunctor */ void Execute( ); // ---------------------------------------------------------------------------------- private: - ButtonPair* m_ButtonPair; //! + * @brief Contains the creaButtonContainer library included in creaMaracasVisu. + */ namespace creaButtonContainer { + /*! @namespace + * @brief Contains the implementation of the controller in creaButtonContainer library. + * @see MVC Software Architecture + */ namespace controller { + /*! @class ButtonContainerController buttonContainerController.h "buttonContainerController.h" + * @brief This class contains the ButtonContainerPanel controller. + * @details This class describes the button events, it derives from wxEvtHandler and it is the + * controller in the MVC. + * @see wxEvtHandler + */ class ButtonContainerController; } + + /*! @namespace + * @brief Contains the implementation of the view in creaButtonContainer library. + * @see MVC Software Architecture + */ namespace view { - /** - Class Description: - **/ class ButtonContainerPanel : public wxScrolledWindow { public: //typedef definition + /*! @typedef creaButtonContainer::model::TFunctor TFunctor; + * @brief Defines the TFunctor type. + */ typedef creaButtonContainer::view::ButtonGroup ButtonGroup; + /*! @typedef creaButtonContainer::model::TFunctor TFunctor; + * @brief Defines the TFunctor type. + */ typedef creaButtonContainer::view::GroupManager GroupManager; + /*! @typedef creaButtonContainer::model::TFunctor TFunctor; + * @brief Defines the TFunctor type. + */ typedef std::list< ButtonGroup* > ButtonGroupList; + /*! @typedef creaButtonContainer::model::TFunctor TFunctor; + * @brief Defines the TFunctor type. + */ typedef std::map< long, GroupManager* > GroupManagerList; + /*! @typedef creaButtonContainer::model::TFunctor TFunctor; + * @brief Defines the TFunctor type. + */ typedef wxFlexGridSizer Sizer; + /*! @typedef creaButtonContainer::model::TFunctor TFunctor; + * @brief Defines the TFunctor type. + */ typedef std::list< long > KeyList; + /*! @typedef creaButtonContainer::model::TFunctor TFunctor; + * @brief Defines the TFunctor type. + */ typedef creaButtonContainer::model::ContainerSettings ButtonGroupSettings; + /*! @typedef creaButtonContainer::model::TFunctor TFunctor; + * @brief Defines the TFunctor type. + */ typedef creaButtonContainer::model::ButtonGroupFactory ButtonGroupFactory; + /*! @typedef creaButtonContainer::model::TFunctor TFunctor; + * @brief Defines the TFunctor type. + */ typedef creaButtonContainer::controller::ButtonContainerController BCController; //end of typedef definition public: + /*! @fn ButtonContainerPanel( wxWindow* parent, ButtonGroupSettings* settings ); + * + * @param parent + * @param settings + */ ButtonContainerPanel( wxWindow* parent, ButtonGroupSettings* settings ); + // ---------------------------------------------------------------------------------- + /*! @fn ~ButtonContainerPanel( ); + * + */ virtual ~ButtonContainerPanel( ); + // ---------------------------------------------------------------------------------- + /*! @fn SetGroupContainer( ButtonGroupList groupContainer ); + * + * @param groupContainer + */ void SetGroupContainer( ButtonGroupList groupContainer ); + // ---------------------------------------------------------------------------------- + /*! @fn PanelInit( ); + * + */ void PanelInit( ); + // ---------------------------------------------------------------------------------- + /*! @fn FitSizer( ); + * + */ void FitSizer( ); + // ---------------------------------------------------------------------------------- public: friend class creaButtonContainer::controller::ButtonContainerController; private: diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonGroup.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonGroup.cxx index e21ec13..40f131c 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonGroup.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonGroup.cxx @@ -1,11 +1,9 @@ -/*************************************************************** - * Name: ButtonGroup.cxx - * Purpose: Implements ButtonGroup.h - * Author: Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) - * Modified: 2011-05-09 - * Copyright: Diego CACERES (http://www.creatis.insa-lyon.fr/~caceres/) - * License: - **************************************************************/ +/*! + * @file buttonGroup.cxx + * @brief This contains the ButtonGroup class implementation + * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) + * @date 2011-05-19 + */ #include "buttonGroup.h" diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonGroup.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonGroup.h index 74ec0f8..bb6b774 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonGroup.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonGroup.h @@ -1,11 +1,9 @@ -/*************************************************************** - * Name: ButtonGroup.h - * Purpose: Defines a group of buttons in wxWidgets - * Author: Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) - * Modified: 2011-05-09 - * Copyright: Diego CACERES (http://www.creatis.insa-lyon.fr/~caceres/) - * License: - **************************************************************/ +/*! + * @file buttonGroup.h + * @brief This contains the ButtonGroup class. + * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) + * @date 2011-05-19 + */ #ifndef BUTTONGROUP_H #define BUTTONGROUP_H @@ -17,32 +15,77 @@ #include "button.h" +/*! @namespace + * @brief Contains the creaButtonContainer library included in creaMaracasVisu. + */ namespace creaButtonContainer { + /*! @namespace + * @brief Contains the implementation of the view in creaButtonContainer library. + * @see MVC Software Architecture + */ namespace view { - /** - Class Description: This class defines a ButtonGroup. - **/ class ButtonGroup { public: //Typedef definition + /*! @typedef creaButtonContainer::model::TFunctor TFunctor; + * @brief Defines the TFunctor type. + */ typedef creaButtonContainer::view::Button Button; + /*! @typedef creaButtonContainer::model::TFunctor TFunctor; + * @brief Defines the TFunctor type. + */ typedef std::map< long, Button* > ButtonContainer; + /*! @typedef creaButtonContainer::model::TFunctor TFunctor; + * @brief Defines the TFunctor type. + */ typedef std::list< long > IdButtonContainer; public: + // ---------------------------------------------------------------------------------- + /*! @fn ButtonGroup( wxStaticText* groupName, ButtonContainer buttons ); + * + * @param groupName + * @param buttons + */ ButtonGroup( wxStaticText* groupName, ButtonContainer buttons ); + // ---------------------------------------------------------------------------------- + /*! @fn ~ButtonGroup( ); + * + */ virtual ~ButtonGroup( ); + // ---------------------------------------------------------------------------------- + /*! @fn GetButton( long id ); + * + * @param id + * @return + */ Button* GetButton( long id ); + // ---------------------------------------------------------------------------------- + /*! @fn GetButtonContainer( ); + * + * @return + */ ButtonContainer GetButtonContainer( ); + // ---------------------------------------------------------------------------------- + /*! @fn GetButtonIdContainer( ); + * + * @return + */ IdButtonContainer GetButtonIdContainer( ); + // ---------------------------------------------------------------------------------- + /*! @fn GetGroupName( ); + * + * @return + */ wxStaticText* GetGroupName( ); + // ---------------------------------------------------------------------------------- private: wxStaticText* m_GroupName; ButtonContainer m_Buttons; diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonManager.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonManager.cxx index 83eda11..b110945 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonManager.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonManager.cxx @@ -1,11 +1,9 @@ -/*************************************************************** - * Name: ButtonManager.cxx - * Purpose: Implements ButtonManager.h - * Author: Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) - * Modified: 2011-05-09 - * Copyright: Diego CACERES (http://www.creatis.insa-lyon.fr/~caceres/) - * License: - **************************************************************/ +/*! + * @file buttonManager.cxx + * @brief This contains the ButtonManager class implementation + * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) + * @date 2011-05-19 + */ #include "buttonManager.h" diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonManager.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonManager.h index 848204c..2a61580 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonManager.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/buttonManager.h @@ -1,11 +1,9 @@ -/*************************************************************** - * Name: ButtonManager.h - * Purpose: Defines the button group container - * Author: Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) - * Modified: 2011-05-09 - * Copyright: Diego CACERES (http://www.creatis.insa-lyon.fr/~caceres/) - * License: - **************************************************************/ +/*! + * @file buttonManager.h + * @brief This contains the ButtonManager class. + * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) + * @date 2011-05-19 + */ #ifndef CARTOBUTTONCONTAINER_H #define CARTOBUTTONCONTAINER_H @@ -18,33 +16,81 @@ #include "button.h" #include "buttonGroup.h" +/*! @namespace + * @brief Contains the creaButtonContainer library included in creaMaracasVisu. + */ namespace creaButtonContainer { + /*! @namespace + * @brief Contains the implementation of the view in creaButtonContainer library. + * @see MVC Software Architecture + */ namespace view { - /** - Class Description: - **/ class ButtonManager : public wxFlexGridSizer { public: + //typedef definition. + /*! @typedef creaButtonContainer::model::TFunctor TFunctor; + * @brief Defines the TFunctor type. + */ typedef creaButtonContainer::view::Button Button; + /*! @typedef creaButtonContainer::model::TFunctor TFunctor; + * @brief Defines the TFunctor type. + */ typedef creaButtonContainer::view::ButtonGroup ButtonGroup; + /*! @typedef creaButtonContainer::model::TFunctor TFunctor; + * @brief Defines the TFunctor type. + */ typedef std::map< long, Button* > ButtonContainer; + //end of typedef definition. public: + // ---------------------------------------------------------------------------------- + /*! @fn ButtonManager( ); + * + */ ButtonManager( ); + // ---------------------------------------------------------------------------------- + /*! @fn ButtonManager( ButtonGroup* buttonGroup ); + * + * @param buttonGroup + */ ButtonManager( ButtonGroup* buttonGroup ); + // ---------------------------------------------------------------------------------- + /*! @fn ~ButtonManager( ); + * + */ virtual ~ButtonManager( ); + // ---------------------------------------------------------------------------------- + /*! @fn SetGroupName( wxStaticText* groupName ); + * + * @param groupName + */ void SetGroupName( wxStaticText* groupName ); + // ---------------------------------------------------------------------------------- + /*! @fn ShowButtonManager( ); + * + */ void ShowButtonManager( ); + // ---------------------------------------------------------------------------------- + /*! @fn HideButtonManager( ); + * + */ void HideButtonManager( ); + // ---------------------------------------------------------------------------------- private: + // ---------------------------------------------------------------------------------- + /*! @fn SetButtonManager( ButtonContainer buttonContainer ); + * + * @param buttonContainer + */ void SetButtonManager( ButtonContainer buttonContainer ); + // ---------------------------------------------------------------------------------- private: wxStaticText* m_GroupName; wxGridSizer* m_GridSizer; diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/groupManager.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/groupManager.cxx index 34de644..57c3fe3 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/groupManager.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/groupManager.cxx @@ -1,14 +1,11 @@ -/*************************************************************** - * Name: GroupManager.cxx - * Purpose: Defines the Group Manager - * Author: Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) - * Created: 2011-05-09 - * Copyright: Diego CACERES (http://www.creatis.insa-lyon.fr/~caceres/) - * License: - **************************************************************/ +/*! + * @file groupManager.cxx + * @brief This contains the GroupManager class implementation + * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) + * @date 2011-05-19 + */ #include "groupManager.h" -#include namespace creaButtonContainer { diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/groupManager.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/groupManager.h index 3358cf3..349a22e 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/groupManager.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view/groupManager.h @@ -1,11 +1,9 @@ -/*************************************************************** - * Name: GroupManager.h - * Purpose: Defines the Group Manager - * Author: Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) - * Created: 2011-05-09 - * Copyright: Diego CACERES (http://www.creatis.insa-lyon.fr/~caceres/) - * License: - **************************************************************/ +/*! + * @file groupManager.h + * @brief This contains the GroupManager class + * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) + * @date 2011-05-19 + */ #ifndef GROUPMANAGER_H #define GROUPMANAGER_H @@ -13,40 +11,98 @@ #include #include #include +#include #include +#include #include "buttonManager.h" #include "buttonGroup.h" #include +/*! @namespace + * @brief Contains the creaButtonContainer library included in creaMaracasVisu. + */ namespace creaButtonContainer { + /*! @namespace + * @brief Contains the implementation of the view in creaButtonContainer library. + * @see MVC Software Architecture + */ namespace view { - /** - Class Description: - **/ class GroupManager : public wxFlexGridSizer { public: + //typedef definition + /*! @typedef creaButtonContainer::model::TFunctor TFunctor; + * @brief Defines the TFunctor type. + */ typedef creaButtonContainer::view::ButtonGroup ButtonGroup; + /*! @typedef creaButtonContainer::model::TFunctor TFunctor; + * @brief Defines the TFunctor type. + */ typedef wxButton ExpansionButton; + //end of typedef definition. public: + // ---------------------------------------------------------------------------------- + /*! @fn GroupManager( wxWindow* parent, ButtonGroup* buttonGroup ); + * + * @param parent + * @param buttonGroup + */ GroupManager( wxWindow* parent, ButtonGroup* buttonGroup ); + // ---------------------------------------------------------------------------------- + /*! @fn + * ~GroupManager( ); + */ virtual ~GroupManager( ); //Getters and Setters + // ---------------------------------------------------------------------------------- + /*! @fn + * @return + */ long GetButtonID( ); + // ---------------------------------------------------------------------------------- + /*! @fn GetButton( ); + * + * @return + */ ExpansionButton* GetButton( ); + // ---------------------------------------------------------------------------------- + /*! @fn GetButtonManager( ); + * + * @return + */ ButtonManager* GetButtonManager( ); + // ---------------------------------------------------------------------------------- + /*! @fn SetButtonID( long id ); + * + * @param id + */ void SetButtonID( long id ); + // ---------------------------------------------------------------------------------- + /*! @fn SetButton( ExpansionButton* button ); + * + * @param button + */ void SetButton( ExpansionButton* button ); + // ---------------------------------------------------------------------------------- + /*! @fn SetButtonManager( ButtonManager* manager ); + * + * @param manager + */ void SetButtonManager( ButtonManager* manager ); + // ---------------------------------------------------------------------------------- + /*! @fn HideSubPanel( bool hide ); + * + * @param hide + */ void HideSubPanel( bool hide ); -- 2.45.1