1 /***************************************************************
2 * Name: buttonContainerSettings.h
3 * Purpose: It is the ButtonGroupSettings
4 * Author: Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr)
6 * Copyright: Diego CACERES (http://www.creatis.insa-lyon.fr/~caceres/)
8 **************************************************************/
10 #ifndef BUTTONCONTAINERSETTINGS_H_
11 #define BUTTONCONTAINERSETTINGS_H_
17 #include "containerSettings.h"
20 namespace creaPanelButtonContainer
22 typedef creaButtonContainer::model::TFunctor TFunctor;
23 typedef creaButtonContainer::model::ContainerSettings ButtonGroupSettings;
24 typedef wxPanel* PanelButton;
25 //First is the button description, Second FunctionEventType
26 typedef std::pair< std::string, PanelButton > ActionButton;
27 //First is the ButtonName and Second is the ImageIconPath
28 typedef std::pair< std::string, std::string > ButtonInfo;
29 typedef std::pair< ButtonInfo*, ActionButton* > ButtonPair;
30 typedef std::list< std::string > KeyMapList;
31 typedef std::list< ButtonPair* > ButtonList;
32 typedef std::map< std::string, ButtonList > ButtonGroupMap;
33 class ButtonContainerSettings
36 ButtonContainerSettings( );
38 ~ButtonContainerSettings( );
40 GetButtonGroupContainer( );
44 GetPanelButton( const std::string &buttonName );
46 GetButtonGroupSettings( TFunctor* functor );
48 SetButtonGroupContainer( ButtonGroupMap m_ButtonGroupContainer );
50 SetGroupNameList( KeyMapList m_GroupNameList );
52 AddButton( const std::string & groupName, const std::string buttonName,
53 const std::string iconpath, const std::string buttonDescription,
57 ButtonGroupMap m_ButtonGroupContainer;
58 KeyMapList m_GroupNameList;
61 #endif /* BUTTONCONTAINERSETTINGS_H_ */