-/***************************************************************
- * Name: @file buttonContainerController.h
- * Purpose: @brief This contains ContainerSettings class
+/************************************************************************************//*!
+ * Name: @file buttonContainerController.cxx
+ * Purpose: @brief This contains the ButtonContainerController class implementation
* Author: @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr)
- * Modified: 2011-05-09
- * Copyright: Diego CACERES (http://www.creatis.insa-lyon.fr/~caceres/)
+ * Modified: 2011-05-17
+ * Copyright:
* License:
- **************************************************************/
+ ***************************************************************************************/
+//! @include "buttonContainerController.h"
#include "buttonContainerController.h"
-using namespace std;
+//! @namespace<creaButtonContainer>
namespace creaButtonContainer
{
+ //! @namespace<controller>
namespace controller
{
+ // ----------------------------------------------------------------------------------
ButtonContainerController::ButtonContainerController( BCPanel* panel )
{
this->m_BCPanel = panel;
}
+ // ----------------------------------------------------------------------------------
ButtonContainerController::~ButtonContainerController( )
{
}
+ // ----------------------------------------------------------------------------------
void
ButtonContainerController::AddEvents( )
{
- //Adding ButtonManagerEvents
- for( GroupManagerList::iterator it =
- this->m_BCPanel->m_GroupManagerList.begin( ); it
- != this->m_BCPanel->m_GroupManagerList.end( ); ++it )
+ try
{
- this->Connect( ( *it ).first, wxEVT_COMMAND_BUTTON_CLICKED,
- (wxObjectEventFunction) &ButtonContainerController::ButtonExpEvent );
- }//rof
+ //Adding ButtonManagerEvents
+ for( GroupManagerList::iterator it =
+ this->m_BCPanel->m_GroupManagerList.begin( ); it
+ != this->m_BCPanel->m_GroupManagerList.end( ); ++it )
+ {
+ this->Connect(
+ ( *it ).first,
+ wxEVT_COMMAND_BUTTON_CLICKED,
+ ( wxObjectEventFunction )
+ & ButtonContainerController::ButtonExpEvent );
+ }//rof
- //Adding ButtonEvents
- for( ButtonGroupList::iterator it =
- this->m_BCPanel->m_ButtonGroupList.begin( ); it
- != this->m_BCPanel->m_ButtonGroupList.end( ); ++it )
- {
- KeyList keylist = ( *it )->GetButtonIdContainer( );
- for( KeyList::iterator it2 = keylist.begin( ); it2 != keylist.end( ); ++it2 )
+ //Adding ButtonEvents
+ for( ButtonGroupList::iterator it =
+ this->m_BCPanel->m_ButtonGroupList.begin( ); it
+ != this->m_BCPanel->m_ButtonGroupList.end( ); ++it )
{
- this->Connect( ( *it2 ), wxEVT_COMMAND_BUTTON_CLICKED,
- (wxObjectEventFunction) &ButtonContainerController::ButtonEvent );
+ KeyList keylist = ( *it )->GetButtonIdContainer( );
+ for( KeyList::iterator it2 = keylist.begin( ); it2 != keylist.end( ); ++it2 )
+ {
+ this->Connect(
+ ( *it2 ),
+ wxEVT_COMMAND_BUTTON_CLICKED,
+ ( wxObjectEventFunction )
+ & ButtonContainerController::ButtonEvent );
+ }//rof
}//rof
- }//rof
+ }
+ catch ( std::exception& e )
+ {
+ std::cerr
+ << "ButtonContainerController::ButtonExpEvent( wxCommandEvent& event ) exception: "
+ << e.what( ) << std::endl;
+ }
}
- // -------------------------------------------------------------------
+ // ----------------------------------------------------------------------------------
void
ButtonContainerController::ButtonExpEvent( wxCommandEvent& event )
{
long id = event.GetId( );
-
- if ( this->m_BCPanel->m_GroupManagerList[ id ]->GetButton( )->GetLabel( ).Cmp(
- _("+") ) == 0 )
+ try
{
- this->m_BCPanel->m_GroupManagerList[ id ]->GetButton( )->SetLabel(
- _("-") );
- this->m_BCPanel->m_GroupManagerList[ id ]->HideSubPanel( false );
+ if ( this->m_BCPanel->m_GroupManagerList[ id ]->GetButton( )->GetLabel( ).Cmp(
+ _( "+" ) ) == 0 )
+ {
+ this->m_BCPanel->m_GroupManagerList[ id ]->GetButton( )->SetLabel(
+ _( "-" ) );
+ this->m_BCPanel->m_GroupManagerList[ id ]->HideSubPanel( false );
+ }
+ else if ( this->m_BCPanel->m_GroupManagerList[ id ]->GetButton( )->GetLabel( ).Cmp(
+ _( "-" ) ) == 0 )
+ {
+ this->m_BCPanel->m_GroupManagerList[ id ]->GetButton( )->SetLabel(
+ _( "+" ) );
+ this->m_BCPanel->m_GroupManagerList[ id ]->HideSubPanel( true );
+ }
+ this->m_BCPanel->FitSizer( );
}
- else if ( this->m_BCPanel->m_GroupManagerList[ id ]->GetButton( )->GetLabel( ).Cmp(
- _("-") ) == 0 )
+ catch ( std::exception& e )
{
- this->m_BCPanel->m_GroupManagerList[ id ]->GetButton( )->SetLabel(
- _("+") );
- this->m_BCPanel->m_GroupManagerList[ id ]->HideSubPanel( true );
+ std::cerr << "ButtonContainerController::AddEvents( ) exception: "
+ << e.what( ) << std::endl;
}
- this->m_BCPanel->FitSizer( );
}
- // -------------------------------------------------------------------
+ // ----------------------------------------------------------------------------------
void
ButtonContainerController::ButtonEvent( wxCommandEvent& event )
{
this->m_BCPanel->m_ButtonGroupList.begin( ); it
!= this->m_BCPanel->m_ButtonGroupList.end( ); ++it )
{
- if ( ( *it )->GetButton( event.GetId( ) ) != NULL )
+ try
+ {
( *it )->GetButton( event.GetId( ) )->Execute( );
+ }
+ catch ( std::exception& e )
+ {
+ std::cerr
+ << "ButtonContainerController::ButtonExpEvent( wxCommandEvent& event ) exception: "
+ << e.what( ) << std::endl;
+ }
}
}
+ // ----------------------------------------------------------------------------------
}//ecapsename
}//ecapsename