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 );
// TConcreteFunctor* functor = new TConcreteFunctor( this->m_ButtonPanel, &PanelButtonContainer::GenericButtonEvent );
//end of the event definition
+ TConcreteFunctor* lFunctor = new TConcreteFunctor( this, &PanelButtonContainer::GenericListEvent );
+ //MLER
- wxPanel* listPanel = new wxPanel(this);
+ this->m_ListPanel = new wxPanel(this);
if(type == 0)
+ {
+ std::cout << "tipo 0; new ButtonContainerPanel"<<std::endl;
this->m_ButtonContainerPanel = new ButtonContainerPanel( this, this->m_ButtonContainerSettings->GetButtonGroupSettings( functor ),type );
+ }
else if( type == 1)
- this->mylist = new ListWx(listPanel, -1, this->m_ButtonContainerSettings->GetItemsMap(), functor);
- //MLER
+ {
+ std::cout << "tipo 1; new LIstWx"<<std::endl;
+ this->mylist = new ListWx(this->m_ListPanel, -1,this->m_ButtonContainerSettings->GetItemsMap(), lFunctor);
+ }//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_AuiManager->AddPane(this->m_ButtonContainerPanel, wxAuiPaneInfo( ).Name( _T("ButtonPanel") ).Caption( _("Panel") ). CaptionVisible(true ).CloseButton( false ).Bottom( ).Resizable( true ) );
+ else if(type == 1)
+ this->m_AuiManager->AddPane(this->m_ListPanel, wxAuiPaneInfo( ).Name( _T("ListPanel") ).Caption( _("Panel") ). CaptionVisible(true ).CloseButton( false ).Bottom( ).Resizable( true ) );
+
//CartoButtonPanel Management
if(type == 0)
- this->m_AuiManager->AddPane( this->m_ButtonContainerPanel,wxAuiPaneInfo( ).Name( _T("creaButtonContainer") ).Caption(_("creaButtonContainer") ). CaptionVisible( false ).CloseButton(false ).Center( ).Resizable( true ) );
- else
- this->m_AuiManager->AddPane( listPanel,wxAuiPaneInfo( ).Name( _T("creaButtonContainer") ).Caption(_("creaButtonContainer") ). CaptionVisible( false ).CloseButton(false ).Center( ).Resizable( true ) );
+ this->m_AuiManager->AddPane( this->m_ButtonContainerPanel,wxAuiPaneInfo( ).Name( _T("ButtonPanel") ).Caption(_("ListPanel") ). CaptionVisible( false ).CloseButton(false ).Center( ).Resizable( true ) );
+ else if(type ==1)
+ {this->m_AuiManager->AddPane( this->m_ListPanel,wxAuiPaneInfo( ).Name( _T("ListPanel") ).Caption(_("ListPanel") ). 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