]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer/creaPanelButtonContainer.cxx
Feature #1606 Add a new entry to ColorLayerImageView to select the fitting mode betwe...
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / creaPanelButtonContainer / creaPanelButtonContainer.cxx
index a9318da37b1040c04fd24a6a64e9d923d9c86329..9e77d001a742315363c8e8edff3ba9ba11e8ade1 100644 (file)
@@ -2,48 +2,40 @@
  * @file creaPanelButtonContainer.h
  * @brief implements PanelButtonContainer class
  * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr)
- * @date  2011-05-24
+ * @date  2011-06-02
  */
 
 #include "creaPanelButtonContainer.h"
 
 namespace creaPanelButtonContainer
 {
+       BEGIN_EVENT_TABLE(PanelButtonContainer,wxPanel)
+       //(*EventTable(ButtonContainerPanel)
+       //*)
+       END_EVENT_TABLE()
        // ----------------------------------------------------------------------------------
-       typedef creaButtonContainer::model::TConcreteFunctor< PanelButtonContainer >
-           TConcreteFunctor;
+       typedef creaButtonContainer::model::TConcreteFunctor< PanelButtonContainer >   TConcreteFunctor;
        // ----------------------------------------------------------------------------------
-       PanelButtonContainer::PanelButtonContainer( wxWindow* parent,
-           ButtonContainerSettings* bcSettings ) :
-                   wxPanel( parent, -1, wxDefaultPosition, wxSize( 300, 700 ),
-                       wxDEFAULT_FRAME_STYLE, _T("creaPanelButtonContainer") )
+       PanelButtonContainer::PanelButtonContainer( wxWindow* parent,  ButtonContainerSettings* bcSettings ) 
+               : wxPanel( parent, -1, wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("creaPanelButtonContainer") )
        {
                this->m_ButtonContainerSettings = bcSettings;
                this->m_ButtonPanel = new wxPanel( this );
 
-               //Class that manages the cartobutton event!!!
-               TConcreteFunctor* functor = new TConcreteFunctor( this,
-                   &PanelButtonContainer::GenericButtonEvent );
+               //Class that manages the event!!!
+       //EED 20/01/2012
+               TConcreteFunctor* functor = new TConcreteFunctor( this, &PanelButtonContainer::GenericButtonEvent );
+//             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 ) );
+               this->m_ButtonContainerPanel = new ButtonContainerPanel( this, this->m_ButtonContainerSettings->GetButtonGroupSettings( functor ) );
 
                //Using AuiManager to Manage the Panels
                this->m_AuiManager = new wxAuiManager( this, wxAUI_MGR_DEFAULT );
 
-               // CartoSettingsPanel Management
-               this->m_AuiManager->AddPane(
-                   this->m_ButtonPanel,
-                   wxAuiPaneInfo( ).Name( _T("ButtonPanel") ).Caption( _("Panel") ). CaptionVisible( ).CloseButton(
-                       false ).Left( ).MinSize( wxSize( 300, 300 ) ) );
-
+               this->m_AuiManager->AddPane(this->m_ButtonPanel, wxAuiPaneInfo( ).Name( _T("ButtonPanel") ).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( ).CloseButton( false ).Left( ) .MinSize(
-                       wxSize( 300, 300 ) ) );
+               this->m_AuiManager->AddPane( this->m_ButtonContainerPanel,wxAuiPaneInfo( ).Name( _T("creaButtonContainer") ).Caption(_("creaButtonContainer") ). CaptionVisible( false ).CloseButton(false ).Center( ).Resizable( true ) );
                this->m_AuiManager->Update( );
        }
        // ----------------------------------------------------------------------------------
@@ -59,11 +51,14 @@ namespace creaPanelButtonContainer
                        //Hiding the last CartoSettingsPanel
                        this->m_ButtonPanel->Show( false );
                        //Finding the CartoSettingsPanel of the ButtonClicket
-                       this->m_ButtonPanel = this->m_ButtonContainerSettings->GetPanelButton(
-                           buttonName );
+                       this->m_ButtonPanel = this->m_ButtonContainerSettings->GetPanelButton(buttonName );
+                       //changing the parent of the panel!
+                       if ( this->m_ButtonPanel->GetParent( ) != this )
+                       {
+                               this->m_ButtonPanel->Reparent( this );
+                       }//fi
                        //CartoSettingsPanel Management
-                       this->m_AuiManager->GetPane( _T("ButtonPanel") ).window
-                           = this->m_ButtonPanel;
+                       this->m_AuiManager->GetPane( _T("ButtonPanel") ).window = this->m_ButtonPanel;
                        //Updating the manager
                        this->m_AuiManager->Update( );
                }//yrt
@@ -72,8 +67,8 @@ namespace creaPanelButtonContainer
                        std::cerr
                            << "PanelButtonContainer::UpdatePanel( const std::string &buttonName )"
                            << "exception: " << e.what( ) << std::endl;
-                       std::cout<<"Maybe the panel of the button is NULL"<<std::endl;
-                       exit(1);
+                       std::cout << "Maybe the panel of the button is NULL" << std::endl;
+                       exit( 1 );
                }//hctac
        }
        // ----------------------------------------------------------------------------------