X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FcreaPanelButtonContainer%2FcreaPanelButtonContainer.cxx;h=2302bafc8b966f585881e0cae4b81b9ba6787c7b;hb=61eda98a85b405293afb689aced08b0bf5556213;hp=70a5a6973533dc796852dbf26fcdd1e3614f325c;hpb=b2ac7f59e78e33f8e11065cffa2f2072aa9a9ee5;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer/creaPanelButtonContainer.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer/creaPanelButtonContainer.cxx index 70a5a69..2302baf 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer/creaPanelButtonContainer.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer/creaPanelButtonContainer.cxx @@ -32,19 +32,22 @@ #include "creaPanelButtonContainer.h" + namespace creaPanelButtonContainer { BEGIN_EVENT_TABLE(PanelButtonContainer,wxPanel) + //EVT_LIST_ITEM_SELECTED(-1, ListWx::ListEvent) + //(*EventTable(ButtonContainerPanel) //*) END_EVENT_TABLE() // ---------------------------------------------------------------------------------- typedef creaButtonContainer::model::TConcreteFunctor< PanelButtonContainer > TConcreteFunctor; // ---------------------------------------------------------------------------------- - PanelButtonContainer::PanelButtonContainer( wxWindow* parent, ButtonContainerSettings* bcSettings, std::string type ) + 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 ); @@ -55,14 +58,36 @@ namespace creaPanelButtonContainer // 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 + + this->m_ListPanel = new wxPanel(this); + + if(type == 0) + { + std::cout << "tipo 0; new ButtonContainerPanel"<m_ButtonContainerPanel = new ButtonContainerPanel( this, this->m_ButtonContainerSettings->GetButtonGroupSettings( functor ),type ); + } +// else if( type == 1) +// { +// std::cout << "tipo 1; new LIstWx"<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 - this->m_AuiManager->AddPane( this->m_ButtonContainerPanel,wxAuiPaneInfo( ).Name( _T("creaButtonContainer") ).Caption(_("creaButtonContainer") ). CaptionVisible( false ).CloseButton(false ).Center( ).Resizable( true ) ); + if(type == 0) + 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( ); } // ---------------------------------------------------------------------------------- @@ -75,16 +100,19 @@ namespace creaPanelButtonContainer { 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 "<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( ); @@ -102,9 +130,53 @@ namespace creaPanelButtonContainer void PanelButtonContainer::GenericButtonEvent( const std::string &buttonName ) { + std::cout<< "MLER | creaPanelButtonContainer:: GenericButtonEvent() " << std::endl; + std::cout<< buttonName << "---testEvento 1 "<UpdatePanel( buttonName ); } // ---------------------------------------------------------------------------------- + +/* + void + PanelButtonContainer::UpdateListPanel( const std::string &buttonName ) + { + try{ + + std::cout<< "MLER | creaPanelButtonContainer:: UpdateListPanel() " << std::endl; + std::cout<< buttonName << " --- test 2 "<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 "<UpdateListPanel( buttonName ); + } + + }//ecapseman