wxDev.fr, le portail francophone consacré à wxWidgets ! ( The french portal for wxWidgets )  
Esp. membre
Recheche rapide



Recherche avancée
Statistiques
Membres inscrits :668

Membres en ligne : 0
Invités en ligne : 7
Pub hébergeur
Pourquoi cette pub ?

Valid XHTML 1.0 Transitional

Valid CSS2

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Utilisation générale wxWidgets
» wxauinotebook
Conversation : wxauinotebook
21-07-2011 16:14:10  wxauinotebook #1
sajaris (Membre)
Inscrit le : 23-11-2010
Messages: 47
Snippets: 0
Tutoriels: 0
Hors ligne
bonjour,

j'ai une application avec un wxAuiManager qui contient un wxAUiNotebook
J'ai un menu qui  instanice des classe derivés de wxPanel et les incorpore dans wxAUiNotebook:

auicenter->AddPage(panParamAgence,_("Parametrage agence"),true);

le auicenter possede un bouton close sur le Pane activé.

Ce que je souhaite faire c'est si je clic sur le menu et que j'ouvre le parametrage agence, il n'ouvre pas un autre pane mais selectionne deja le pane s'il il est ouvert.

Si je ferme le pane avec le bouton close des panes, alors si je clique a nouveau sur PArametrage agence, qu'il ouvre a nouveau le pane

J'ai essayé mais il voure plusieur pane de PArametrage agence.

quelqu'un a t'il deja fait cela?

J'ai capturer l'evenement wxEVT_COMMAND_AUINOTEBOOK_PAGE_CLOSE, et j'ai mis le code suivant:

    int pageSelect=auicenter->GetSelection();
     //ON CACHE LA PAGE SELECTIONNEE
    ((wxPanel*)auicenter->GetPage(pageSelect))->Hide();
   //ET ON L'ENLEVE DE LA LISTE
    auicenter->RemovePage(pageSelect);


Ca plante avec un main_idx.....


Je sais plus comment faire. Je m'y predn mal surement.

Merci de m'aider
----------
voici l'erreur que j'obtient quand je captutre l'evenement de fermeture des pane:

../../aui/auibook.cpp(4385): assert "main_idx != (-1)" failed in OnTabButton no page to delete? do you want to stop the program?

voici comment j'ouvre aussi les classe derivé de wxPAnel(comme je l'ai dit plus haut):

if(panParamAgence==NULL)
   {
        panParamAgence=new PanParamAgence(auicenter);
     }
     int32_t pageindex=auicenter->GetPageIndex(panParamAgence);
     //TEST SI PANE DEJA OUVERT
     if(pageindex!=wxNOT_FOUND)
     {
         auicenter->SetSelection(pageindex);
     }
     else
     {
         auicenter->AddPage(panParamAgence,_("Parametrage agence"),true);
     }
     panParamAgence->Reparent(auicenter);

Lorsque je ne capture pas l'evenement de fermeture des panes, et bien quand je ferme une pane et je le reouvre l'application se plante aussi.

En gros comment ouvrir et fermer proprement une pane? comment selectionner une pane deja ouvert?

Dernière modification par sajaris (21-07-2011 17:41:22)

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Utilisation générale wxWidgets
» wxauinotebook