#include "creaPanelButtonContainer.h"
+
namespace creaPanelButtonContainer
{
BEGIN_EVENT_TABLE(PanelButtonContainer,wxPanel)
+ //EVT_LIST_ITEM_SELECTED(-1, ListWx::ListEvent)
+
//(*EventTable(ButtonContainerPanel)
//*)
END_EVENT_TABLE()
PanelButtonContainer::PanelButtonContainer( wxWindow* parent, ButtonContainerSettings* bcSettings, int type )
: wxPanel( parent, -1, wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("creaPanelButtonContainer") )
{
- std::cout<< std::endl << " MLER creaPanelButtonContainer.cxx / PanelButtonContainer() " << std::endl;
+ std::cout<< "MLER | creaPanelButtonContainer:: PanelButtonContainer() " << std::endl;
this->m_ButtonContainerSettings = bcSettings;
- this->m_ButtonPanel = new wxPanel( this );
+
//Class that manages the event!!!
//EED 20/01/2012
// TConcreteFunctor* functor = new TConcreteFunctor( this->m_ButtonPanel, &PanelButtonContainer::GenericButtonEvent );
//end of the event definition
- this->m_ButtonContainerPanel = new ButtonContainerPanel( this, this->m_ButtonContainerSettings->GetButtonGroupSettings( functor ),type );
+ TConcreteFunctor* lFunctor = new TConcreteFunctor( this, &PanelButtonContainer::GenericListEvent );
+ //MLER
//Using AuiManager to Manage the Panels
this->m_AuiManager = new wxAuiManager( this, wxAUI_MGR_DEFAULT );
- this->m_AuiManager->AddPane(this->m_ButtonPanel, wxAuiPaneInfo( ).Name( _T("ButtonPanel") ).Caption( _("Panel") ). CaptionVisible(true ).CloseButton( false ).Bottom( ).Resizable( true ) );
+
+ if(type == 0)
+ {
+ this->m_ButtonPanel = new wxPanel( this );
+ std::cout << "tipo 0; new ButtonContainerPanel"<<std::endl;
+ this->m_ButtonContainerPanel = new ButtonContainerPanel( this, this->m_ButtonContainerSettings->GetButtonGroupSettings( functor ),type );
+
+ this->m_AuiManager->AddPane( this->m_ButtonContainerPanel,wxAuiPaneInfo( ).Name( _T("ButtonContainerPanel") ).Caption(_("ButtonContainerPanel") ). CaptionVisible( true ).CloseButton(false ).Center( ).Resizable( true ) );
+ this->m_AuiManager->AddPane(this->m_ButtonPanel, wxAuiPaneInfo( ).Name( _T("ButtonPanel") ).Caption( _("ButtonPanel") ). CaptionVisible(true ).CloseButton( false ).Bottom( ).Resizable( true ) );
+ }
+ else if( type == 1)
+ {
+ this->m_ListPanel = new wxPanel(this);
+ std::cout << "tipo 1; new LIstWx"<<std::endl;
+ this->mylist = new ListWx(this, -1,this->m_ButtonContainerSettings->GetItemsMap(), lFunctor);
+
+ this->m_AuiManager->AddPane( this->mylist,wxAuiPaneInfo( ).Name( _T("ListContainerPanel") ).Caption(_("ListContainerPanel") ). CaptionVisible( true ).CloseButton(false ).Center( ).Resizable( true ) );
+ this->m_AuiManager->AddPane(this->m_ListPanel, wxAuiPaneInfo( ).Name( _T("ListPanel") ).Caption( _("ListPanel") ). CaptionVisible(true ).CloseButton( false ).Bottom( ).Resizable( true ) );
+ }//MLER
+
+
//CartoButtonPanel Management
- this->m_AuiManager->AddPane( this->m_ButtonContainerPanel,wxAuiPaneInfo( ).Name( _T("creaButtonContainer") ).Caption(_("creaButtonContainer") ). CaptionVisible( false ).CloseButton(false ).Center( ).Resizable( true ) );
+
+
this->m_AuiManager->Update( );
}
// ----------------------------------------------------------------------------------
{
try
{
+ std::cout<< "MLER | creaPanelButtonContainer:: UpdatePanel() " << std::endl;
+
//Hiding the last CartoSettingsPanel
this->m_ButtonPanel->Show( false );
//Finding the CartoSettingsPanel of the ButtonClicket
this->m_ButtonPanel = this->m_ButtonContainerSettings->GetPanelButton(buttonName );
+ std::cout<< buttonName << "---testEvento 2 "<<std::endl;
//changing the parent of the panel!
if ( this->m_ButtonPanel->GetParent( ) != this )
{
this->m_ButtonPanel->Reparent( this );
}//fi
- //CartoSettingsPanel Management
+ //Panel Management
this->m_AuiManager->GetPane( _T("ButtonPanel") ).window = this->m_ButtonPanel;
//Updating the manager
this->m_AuiManager->Update( );
void
PanelButtonContainer::GenericButtonEvent( const std::string &buttonName )
{
+ std::cout<< "MLER | creaPanelButtonContainer:: GenericButtonEvent() " << std::endl;
+ std::cout<< buttonName << "---testEvento 1 "<<std::endl;
this->UpdatePanel( buttonName );
}
// ----------------------------------------------------------------------------------
+
+ void
+ PanelButtonContainer::UpdateListPanel( const std::string &buttonName )
+ {
+ try{
+
+ std::cout<< "MLER | creaPanelButtonContainer:: UpdateListPanel() " << std::endl;
+ std::cout<< buttonName << " --- test 2 "<<std::endl;
+
+ this->m_ListPanel->Show( false );
+
+ this->m_ListPanel = this->m_ButtonContainerSettings->GetPanelList(buttonName );
+
+ if ( this->m_ListPanel->GetParent( ) != this )
+ {
+ this->m_ListPanel->Reparent( this );
+ }//fi
+ //Panel Management
+ this->m_AuiManager->GetPane( _T("ListPanel") ).window = this->m_ListPanel;
+ //Updating the manager
+ this->m_AuiManager->Update( );
+
+ }catch( const std::exception& e )
+ {
+ std::cerr
+ << "PanelButtonContainer::UpdatePanel( const std::string &buttonName )"
+ << "exception: " << e.what( ) << std::endl;
+ std::cout << "Maybe the panel of the list is NULL" << std::endl;
+ exit( 1 );
+ }//hctac
+ }
+
+ void
+ PanelButtonContainer::GenericListEvent( const std::string &buttonName )
+ {
+ std::cout<< "MLER | creaPanelButtonContainer:: GenericListEvent() " << std::endl;
+ std::cout<< buttonName << " --- test 3 "<<std::endl;
+ this->UpdateListPanel( buttonName );
+ }
+
+
}//ecapseman