]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/controller/include/buttonContainerController.h
Diego Caceres: creaButtonContainer and creaPanelButtonContainer has been added to...
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / creaButtonContainer / controller / include / buttonContainerController.h
1 /***************************************************************
2  * Name:      @file buttonContainerController.h
3  * Purpose:   @brief This fhile contains the ButtonContainerController Class
4  * Author:    @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr)
5  * Modified:  2011-05-09
6  * Copyright: Diego CACERES (http://www.creatis.insa-lyon.fr/~caceres/)
7  * License:
8  **************************************************************/
9
10 #ifndef BUTTONCONTAINERCONTROLLER_H_
11 #define BUTTONCONTAINERCONTROLLER_H_
12
13 #include <wx/event.h>
14 #include "buttonContainerPanel.h"
15
16 ///@namespace<creaButtonContainer>
17 namespace creaButtonContainer
18 {
19         ///@namespace<view>
20         namespace view
21         {
22                 //Predefinition of ButtonContainerPanel FriendClass!!
23                 ///@class ButtonContainerPanel buttonContainerPanel.h "buttonContainerPanel.h"
24                 class ButtonContainerPanel;
25         }
26         ///@namespace<controller>
27         namespace controller
28         {
29                 /*!@class ButtonContainerController buttonContainerController.h "buttonContainerController.h"
30                 *       @brief This class contains the ButtonContainerPanel controller
31                 * This class describes the panel and button events.
32                 */
33                 class ButtonContainerController : public wxEvtHandler
34                 {
35                         public:
36                                 ///@typedef creaButtonContainer::view::ButtonGroup ButtonGroup
37                                 ///@typedef typedef creaButtonContainer::view::GroupManager GroupManager;
38                                 ///@typedef std::list< ButtonGroup* > ButtonGroupList;
39                                 ///@typedef std::map< long, GroupManager* > GroupManagerList;
40                                 ///@typedef wxFlexGridSizer Sizer;
41                                 ///@typedef std::list< long > KeyList;
42                                 ///@typedef creaButtonContainer::model::ContainerSettings ButtonGroupSettings;
43                                 ///@typedef creaButtonContainer::view::ButtonContainerPanel BCPanel;
44                                 //typedef definition
45                                 typedef creaButtonContainer::view::ButtonGroup ButtonGroup;
46                                 typedef creaButtonContainer::view::GroupManager GroupManager;
47                                 typedef std::list< ButtonGroup* > ButtonGroupList;
48                                 typedef std::map< long, GroupManager* > GroupManagerList;
49                                 typedef wxFlexGridSizer Sizer;
50                                 typedef std::list< long > KeyList;
51                                 typedef creaButtonContainer::model::ContainerSettings
52                                     ButtonGroupSettings;
53                                 typedef creaButtonContainer::view::ButtonContainerPanel BCPanel;
54                                 //end of typedef definition
55                         public:
56                                 ///!The Parameterized Constructor
57                                 ButtonContainerController( BCPanel* );
58                                 virtual
59                                 ~ButtonContainerController( );
60                                 void
61                                 AddEvents( );
62                                 void
63                                 ButtonExpEvent( wxCommandEvent& event );
64                                 void
65                                 ButtonEvent( wxCommandEvent& event );
66                         private:
67                                 BCPanel* m_BCPanel;
68                 };
69         }//ecapsename
70 }//ecapsename
71
72 #endif //BUTTONCONTAINERCONTROLLER_H_