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 "structButtonContainerSettings.h"
18 #include "containerSettings.h"
21 namespace creaPanelButtonContainer
23 typedef creaButtonContainer::model::TFunctor TFunctor;
24 typedef creaButtonContainer::model::ContainerSettings ButtonGroupSettings;
25 typedef wxPanel* PanelButton;
26 //First is the button description, Second FunctionEventType
27 typedef std::pair< std::string, PanelButton > ActionButton;
28 //First is the ButtonName and Second is the ImageIconPath
29 typedef std::pair< std::string, std::string > ButtonInfo;
30 typedef std::pair< ButtonInfo*, ActionButton* > ButtonPair;
31 typedef std::list< std::string > KeyMapList;
32 typedef std::list< ButtonPair* > ButtonList;
33 typedef std::map< std::string, ButtonList > ButtonGroupMap;
34 class ButtonContainerSettings
37 ButtonContainerSettings( );
39 ~ButtonContainerSettings( );
41 GetButtonGroupContainer( );
45 GetPanelButton( const std::string &buttonName );
47 GetButtonGroupSettings( TFunctor* functor );
49 SetButtonGroupContainer( ButtonGroupMap m_ButtonGroupContainer );
51 SetGroupNameList( KeyMapList m_GroupNameList );
53 AddButton( const std::string &groupName, const std::string &buttonName,
54 const std::string &iconpath, const std::string &buttonDescription,
57 AddButton( const BCSettingsStruct &info );
60 ButtonGroupMap m_ButtonGroupContainer;
61 KeyMapList m_GroupNameList;
64 #endif /* BUTTONCONTAINERSETTINGS_H_ */