-/************************************************************************************//*!
- * 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<creaButtonContainer>
namespace creaButtonContainer
{
- //! @namespace<controller>
namespace controller
{
// ----------------------------------------------------------------------------------
// ----------------------------------------------------------------------------------
ButtonContainerController::~ButtonContainerController( )
{
+ delete this->m_BCPanel;
}
// ----------------------------------------------------------------------------------
void
this->Connect(
( *it ).first,
wxEVT_COMMAND_BUTTON_CLICKED,
- ( wxObjectEventFunction )
- & ButtonContainerController::ButtonExpEvent );
+ (wxObjectEventFunction) &ButtonContainerController::ButtonExpEvent );
}//rof
//Adding ButtonEvents
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
-/************************************************************************************//*!
- * 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 <wx/event.h>
#include <wx/event.h>
-//! @include <iostream>
#include <iostream>
-//! @include <exception>
#include <exception>
-
-//! @include "buttonContainerPanel.h"
#include "buttonContainerPanel.h"
-//! @namespace<creaButtonContainer>
+/*! @namespace <creaButtonContainer>
+ * @brief Contains the creaButtonContainer library included in creaMaracasVisu.
+ */
namespace creaButtonContainer
{
- //! @namespace<view>
+ /*! @namespace <creaButtonContainer::view>
+ * @brief Contains the implementation of the view in creaButtonContainer library.
+ * @see <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC Software Architecture</a>
+ */
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 <a href="http://docs.wxwidgets.org/stable/wx_wxscrolledwindow.html">wxScrolledWindow</a>
+ */
class ButtonContainerPanel;
}
- //! @namespace<controller>
+ /*! @namespace<creaButtonContainer::controller>
+ * @brief Contains the implementation of the controller in creaButtonContainer library.
+ * @see <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC Software Architecture</a>
+ */
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 <a href="http://docs.wxwidgets.org/stable/wx_wxevthandler.html">wxEvtHandler</a>
*/
class ButtonContainerController : public wxEvtHandler
{
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;
// ----------------------------------------------------------------------------------
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.
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.
-/************************************************************************************//*!
- * 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<creaButtonContainer>
namespace creaButtonContainer
{
- //! @namespace<model>
namespace model
{
// ----------------------------------------------------------------------------------
-/************************************************************************************//*!
- * 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 <wx/window.h>
#include <wx/window.h>
-//! @include <list>
#include <list>
-//! @include <map>
#include <map>
-//! @include <iostream>
#include <iostream>
-//! @include <exception>
#include <exception>
-//! @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 <creaButtonContainer>
+/*! @namespace <creaButtonContainer>
+ * @brief Contains the creaButtonContainer library included in creaMaracasVisu.
+ */
namespace creaButtonContainer
{
- //! @namespace <model>
+ /*! @namespace <creaButtonContainer::model>
+ * @brief Contains the implementation of the model in creaButtonContainer library.
+ * @see <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC Software Architecture</a>
+ */
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 <a href="http://en.wikipedia.org/wiki/Factory_method_pattern">Factory Pattern</a>
*/
class ButtonGroupFactory
{
*/
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
-/************************************************************************************//*!
- * 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<creaButtonContainer>
namespace creaButtonContainer
{
- //! @namespace<model>
namespace model
{
// ----------------------------------------------------------------------------------
}
// ----------------------------------------------------------------------------------
void
- ContainerSettings::SetButtonGroupContainer(
- ButtonGroupMap bgContainer )
+ ContainerSettings::SetButtonGroupContainer( ButtonGroupMap bgContainer )
{
this->m_ButtonGroupContainer = bgContainer;
}
-/************************************************************************************//*!
- * 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 <list>
#include <list>
-//! @include <map>
#include <map>
-//! @include <iostream>
#include <iostream>
-//! @include "system.h"
#include "system.h"
-//! @include "functor"
#include "functor.h"
-//! @namespace <creaButtonContainer>
+/*! @namespace <creaButtonContainer>
+ * @brief Contains the creaButtonContainer library included in creaMaracasVisu.
+ */
namespace creaButtonContainer
{
- //! @namespace <model>
+ /*! @namespace <creaButtonContainer::model>
+ * @brief Contains the implementation of the model in creaButtonContainer library.
+ * @see <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC Software Architecture</a>
+ */
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
-/************************************************************************************//*!
- * 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 <string>
#include <string>
-//! @namespace <creaButtonContainer>
+/*! @namespace <creaButtonContainer>
+ * @brief Contains the creaButtonContainer library included in creaMaracasVisu.
+ */
namespace creaButtonContainer
{
- //! @namespace <model>
+ /*! @namespace <creaButtonContainer::model>
+ * @brief Contains the implementation of the model in creaButtonContainer library.
+ * @see <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC Software Architecture</a>
+ */
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.
*/
// derived template class
/*! @tparam <typename TClass>
- * @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
{
Call( const ButtonIDType &buttonName );
// -------------------------------------------------------------------------------
private:
- void (TClass::*fpt)( const ButtonIDType &buttonName ); //! <void (TClass::*fpt) Pointer to member function.
+ void
+ (TClass::*fpt)( const ButtonIDType &buttonName ); //! <void (TClass::*fpt) Pointer to member function.
TClass* pt2Object; //! <TClass* pointer to object.
};
-/************************************************************************************//*!
- * Name: @file functor.cxx
- * Purpose: @brief implements TFunctor class and it propose is Call_Back Functions
- * Author: @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr)
- * Modified: 2011-05-18
- * Copyright:
- * License:
- ***************************************************************************************/
+/*!
+ * @file functor.cxx
+ * @brief Implements TFunctor class and it propose is Call_Back Functions
+ * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr)
+ * @date 2011-05-19
+*/
namespace creaButtonContainer
{
-/************************************************************************************//*!
- * Name: @file system.h
- * Purpose: @brief contains a system typedefs used to reuse code.
- * Author: @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr)
- * Modified: 2011-05-18
- * Copyright:
- * License:
- ***************************************************************************************/
+/*!
+ * @file system.h
+ * @brief contains a system typedefs used to reuse code.
+ * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr)
+ * @date 2011-05-19
+*/
#ifndef SYSTEM_H_
#define SYSTEM_H_
-//! @include <list>
#include <list>
-//! @include <map>
#include <map>
-//! @include <iostream>
#include <iostream>
-//! @include "functor.h"
#include "functor.h"
-///@namespace <creaButtonContainer>
+/*! @namespace <creaButtonContainer>
+ * @brief Contains the creaButtonContainer library included in creaMaracasVisu.
+ */
namespace creaButtonContainer
{
/*! @typedef model::TFunctor* FunctionEventType;
* @brief Defines the FunctionEventType type.
- *
*/
typedef model::TFunctor* FunctionEventType;
// ----------------------------------------------------------------------------------
-/***************************************************************
- * 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 <creaButtonContainer>
namespace creaButtonContainer
{
- //! @namespace <view>
namespace view
{
// ----------------------------------------------------------------------------------
-/************************************************************************************//*!
- * 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 <wx/bmpbuttn.h>
#include <wx/bmpbuttn.h>
-//! @include <<wx/image.h>
#include <wx/image.h>
-//! @include <wx/string.h>
#include <wx/string.h>
-//! @include <string>
#include <string>
-//! @include <iostream>
#include <iostream>
-//! @include "functor.h"
#include "functor.h"
-//! @include "system.h"
#include "system.h"
-//! @namespace <creaButtonContainer>
+/*! @namespace <creaButtonContainer>
+ * @brief Contains the creaButtonContainer library included in creaMaracasVisu.
+ */
namespace creaButtonContainer
{
- //! @namespace <view>
+ /*! @namespace <creaButtonContainer::view>
+ * @brief Contains the implementation of the view in creaButtonContainer library.
+ * @see <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC Software Architecture</a>
+ */
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 <a href="http://docs.wxwidgets.org/stable/wx_wxbitmapbutton.html">wxBitmapButton</a>
*/
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; //! <ButtonPair* ButtonPail pointer.
+ ButtonPair* m_ButtonPair; //! <ButtonPair* ButtonPair pointer.
};
}//ecapseman
}//ecapseman
-/***************************************************************
- * Name: ButtonContainerPanel.cxx
- * Purpose: Implements ButtonContainerPanel.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 "buttonContainerPanel.h"
namespace creaButtonContainer
-/***************************************************************
- * Name: ButtonContainerPanel.h
- * Purpose: Defines the main panel of the button 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 buttonContainerController.h
+ * @brief This contains the ButtonContainerController class
+ * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr)
+ * @date 2011-05-19
+ */
#ifndef BUTTONCONTAINERPANEL_H
#define BUTTONCONTAINERPANEL_H
#include "containerSettings.h"
#include "buttonContainerController.h"
+/*! @namespace <creaButtonContainer>
+ * @brief Contains the creaButtonContainer library included in creaMaracasVisu.
+ */
namespace creaButtonContainer
{
+ /*! @namespace<creaButtonContainer::controller>
+ * @brief Contains the implementation of the controller in creaButtonContainer library.
+ * @see <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC Software Architecture</a>
+ */
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 <a href="http://docs.wxwidgets.org/stable/wx_wxevthandler.html">wxEvtHandler</a>
+ */
class ButtonContainerController;
}
+
+ /*! @namespace <creaButtonContainer::view>
+ * @brief Contains the implementation of the view in creaButtonContainer library.
+ * @see <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC Software Architecture</a>
+ */
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:
-/***************************************************************
- * 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"
-/***************************************************************
- * 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
#include "button.h"
+/*! @namespace <creaButtonContainer>
+ * @brief Contains the creaButtonContainer library included in creaMaracasVisu.
+ */
namespace creaButtonContainer
{
+ /*! @namespace <creaButtonContainer::view>
+ * @brief Contains the implementation of the view in creaButtonContainer library.
+ * @see <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC Software Architecture</a>
+ */
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;
-/***************************************************************
- * 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"
-/***************************************************************
- * 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
#include "button.h"
#include "buttonGroup.h"
+/*! @namespace <creaButtonContainer>
+ * @brief Contains the creaButtonContainer library included in creaMaracasVisu.
+ */
namespace creaButtonContainer
{
+ /*! @namespace <creaButtonContainer::view>
+ * @brief Contains the implementation of the view in creaButtonContainer library.
+ * @see <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC Software Architecture</a>
+ */
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;
-/***************************************************************
- * 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 <iostream>
namespace creaButtonContainer
{
-/***************************************************************
- * 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
#include <wx/sizer.h>
#include <wx/button.h>
#include <wx/stattext.h>
+#include <wx/event.h>
#include <list>
+#include <iostream>
#include "buttonManager.h"
#include "buttonGroup.h"
#include <wx/event.h>
+/*! @namespace <creaButtonContainer>
+ * @brief Contains the creaButtonContainer library included in creaMaracasVisu.
+ */
namespace creaButtonContainer
{
+ /*! @namespace <creaButtonContainer::view>
+ * @brief Contains the implementation of the view in creaButtonContainer library.
+ * @see <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC Software Architecture</a>
+ */
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 );