1 /***************************************************************
2 * Name: ButtonContainerPanel.h
3 * Purpose: Defines the main panel of the button container
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 BUTTONCONTAINERPANEL_H
11 #define BUTTONCONTAINERPANEL_H
13 #include <wx/scrolwin.h>
14 #include <wx/button.h>
19 #include "buttonGroup.h"
20 #include "groupManager.h"
21 #include "buttonGroupFactory.h"
22 #include "containerSettings.h"
23 #include "buttonContainerController.h"
25 namespace creaButtonContainer
29 class ButtonContainerController;
36 class ButtonContainerPanel : public wxScrolledWindow
40 typedef creaButtonContainer::view::ButtonGroup ButtonGroup;
41 typedef creaButtonContainer::view::GroupManager GroupManager;
42 typedef std::list< ButtonGroup* > ButtonGroupList;
43 typedef std::map< long, GroupManager* > GroupManagerList;
44 typedef wxFlexGridSizer Sizer;
45 typedef std::list< long > KeyList;
46 typedef creaButtonContainer::model::ContainerSettings
48 typedef creaButtonContainer::model::ButtonGroupFactory
50 typedef creaButtonContainer::controller::ButtonContainerController
52 //end of typedef definition
54 ButtonContainerPanel( wxWindow* parent, ButtonGroupSettings* settings );
56 ~ButtonContainerPanel( );
58 SetGroupContainer( ButtonGroupList groupContainer );
64 friend class creaButtonContainer::controller::ButtonContainerController;
66 GroupManagerList m_GroupManagerList;
67 ButtonGroupList m_ButtonGroupList;
68 BCController* m_ButtonCController;
74 #endif // BUTTONCONTAINERPANEL_H