/*! * @file buttonGroupFactory.cxx * @brief Implements the ButtonGroupFactory class. * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) * @date 2011-06-02 */ #include "buttonGroupFactory.h" namespace creaButtonContainer { namespace model { // ---------------------------------------------------------------------------------- ButtonGroupFactory::ButtonGroupFactory( ) { } // ---------------------------------------------------------------------------------- ButtonGroupFactory::~ButtonGroupFactory( ) { } // ---------------------------------------------------------------------------------- ButtonGroupFactory::ButtonGroupContainer ButtonGroupFactory::CreateButtonGroupContainer( wxWindow* parent, ButtonGroupModel* settings ) { ButtonGroupContainer groupView; try { ButtonGroupMap map = settings->GetButtonGroupContainer( ); for( ButtonGroupMap::iterator it = map.begin( ); it != map.end( ); ++it ) { wxString groupNameAux( ( *it ).first.c_str( ), wxConvUTF8 ); wxStaticText* wxGroupName = new wxStaticText( parent, -1, groupNameAux, wxDefaultPosition, wxDefaultSize, 0, _T("GroupText") ); ButtonGroup* group = new ButtonGroup( wxGroupName, this->GetButtons( parent, ( *it ).second ) ); groupView.push_back( group ); }//rof }//yrt catch ( const std::exception& e ) { std::cerr << "ButtonGroupFactory::CreateButtonGroupContainer( wxWindow* parent, ButtonGroupModel* settings )" << " exception: " << e.what( ) << std::endl; }//chtac return ( groupView ); } // ---------------------------------------------------------------------------------- ButtonGroupFactory::ButtonContainer ButtonGroupFactory::GetButtons( wxWindow* parent, ButtonList buttonModel ) { ButtonContainer buttonList; try { for( ButtonList::iterator it = buttonModel.begin( ); it != buttonModel.end( ); ++it ) { long id = wxNewId( ); buttonList[ id ] = new Button( parent, id, *it ); }//rof //return ( buttonList ); // JPR }//yrt catch ( const std::exception& e ) { std::cerr << "ButtonGroupFactory::GetButtons( wxWindow* parent, ButtonList buttonModel )" << "exception: " << e.what( ) << std::endl; }//chtac return ( buttonList ); // JPR } // ---------------------------------------------------------------------------------- }//ecapseman }//ecapseman