/*************************************************************** * Name: ButtonContainerPanel.h * Purpose: Defines the main panel of the button container * Author: Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) * Modified: 2011-05-09 * Copyright: Diego CACERES (http://www.creatis.insa-lyon.fr/~caceres/) * License: **************************************************************/ #ifndef BUTTONCONTAINERPANEL_H #define BUTTONCONTAINERPANEL_H #include #include #include #include #include #include "buttonGroup.h" #include "groupManager.h" #include "buttonGroupFactory.h" #include "containerSettings.h" #include "buttonContainerController.h" namespace creaButtonContainer { namespace controller { class ButtonContainerController; } namespace view { /** Class Description: **/ class ButtonContainerPanel : public wxScrolledWindow { public: //typedef definition typedef creaButtonContainer::view::ButtonGroup ButtonGroup; typedef creaButtonContainer::view::GroupManager GroupManager; typedef std::list< ButtonGroup* > ButtonGroupList; typedef std::map< long, GroupManager* > GroupManagerList; typedef wxFlexGridSizer Sizer; typedef std::list< long > KeyList; typedef creaButtonContainer::model::ContainerSettings ButtonGroupSettings; typedef creaButtonContainer::model::ButtonGroupFactory ButtonGroupFactory; typedef creaButtonContainer::controller::ButtonContainerController BCController; //end of typedef definition public: ButtonContainerPanel( wxWindow* parent, ButtonGroupSettings* settings ); virtual ~ButtonContainerPanel( ); void SetGroupContainer( ButtonGroupList groupContainer ); void PanelInit( ); void FitSizer( ); public: friend class creaButtonContainer::controller::ButtonContainerController; private: GroupManagerList m_GroupManagerList; ButtonGroupList m_ButtonGroupList; BCController* m_ButtonCController; Sizer* m_Sizer; }; }//ecapseman }//ecapseman #endif // BUTTONCONTAINERPANEL_H