]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/system.h
012a5bfcb277f36cbb6f6242464b851d810e7d1d
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / creaButtonContainer / model / system.h
1 /*!
2  * @file system.h
3  * @brief Contains a system typedefs used to reuse code.
4  * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr)
5  * @date  2011-06-02
6  */
7
8 #ifndef SYSTEM_H_
9 #define SYSTEM_H_
10
11 #include <list>
12 #include <map>
13 #include <iostream>
14 #include <exception>
15 #include <string>
16 #include "functor.h"
17
18 /*!     @namespace <creaButtonContainer>
19  *      @brief Contains the creaButtonContainer library included in creaMaracasVisu.
20  */
21 namespace creaButtonContainer
22 {
23         // ----------------------------------------------------------------------------------
24         /*!     @typedef std::string* StringType;
25          *      @brief Defines the StringType type.
26          */
27         typedef std::string StringType;
28         // ----------------------------------------------------------------------------------
29         /*!     @typedef model::TFunctor* FunctionEventType;
30          *      @brief Defines the FunctionEventType type.
31          */
32         typedef model::TFunctor* FunctionEventType;
33         // ----------------------------------------------------------------------------------
34         /*!     @typedef creaButtonContainer::view::Button Button;
35          *      @brief Defines the ActionButton type.
36          *      First is the button description, Second FunctionEventType
37          */
38         typedef std::pair< StringType, FunctionEventType > ButtonAction;
39         // ----------------------------------------------------------------------------------
40         /*!     @typedef std::pair< std::string, std::string > ButtonInfo;
41          *      @brief Defines the ButtonInfo type.
42          *      First is the ButtonName and Second is the IconPath
43          */
44         typedef std::pair< StringType, StringType > ButtonInfo;
45         // ----------------------------------------------------------------------------------
46         /*!     @typedef std::pair< ButtonInfo*, ActionButton* > ButtonPair;
47          *      @brief Defines the ButtonPair type.
48          */
49         typedef std::pair< ButtonInfo*, ButtonAction* > ButtonPair;
50         // ----------------------------------------------------------------------------------
51         /*!     @typedef std::list< std::string > KeyMapList;
52          *      @brief Defines the KeyMapList type.
53          */
54         typedef std::list< StringType > KeyMapList;
55         // ----------------------------------------------------------------------------------
56         /*!     @typedef std::list< ButtonPair* > ButtonList;
57          *      @brief Defines the ButtonList type.
58          */
59         typedef std::list< ButtonPair* > ButtonList;
60         // ----------------------------------------------------------------------------------
61         /*!     @typedef std::map< std::string, ButtonList > ButtonGroupMap;
62          *      @brief Defines the ButtonGroupMap type.
63          */
64         typedef std::map< StringType, ButtonList > ButtonGroupMap;
65 // ----------------------------------------------------------------------------------
66 }
67
68 #endif /* SYSTEM_H_ */