Wx dockable panel close event

Résolu
Bonjour,

J'utilise actuellement ce genre de panel :



Initialisé ainsi :

import wx 
import wx.aui

self.mgr = wx.aui.AuiManager(self)

self.panelLeft = wx.Panel(self)
panelLeftbox = wx.BoxSizer(wx.VERTICAL)
self.panelLeft.SetSizer(panelLeftbox)
infoLeft = wx.aui.AuiPaneInfo().Left() 
self.mgr.AddPane(self.panelLeft, infoLeft)


Je souhaiterais détecter (avec un bind par exemple) lorsque je ferme le panel avec la petite croix en haut à droite du composant.

Merci d'avance pour vos réponses.

--
Cordialement,
Faure Lucas.

2 réponses

  1. J'ai trouvé ceci :

    self.mgr.Bind(wx.aui.EVT_AUI_PANE_CLOSE, self.onClosePanel)


    Qui détecte la fermeture d'un panel, mais impossible d'identifier lequel ...
    1. Pour ceux qui cherchent la solution, apparemment il suffisait de donner un nom au panel :

      infoLeft.name = 'monpanel'


      Et on peut déterminer l'état (fermé ou non) simplement ainsi (ici utilisé pour le cacher ou le montrer au clique) :

      def showOrHidePanel(self):
      	if(self.mgr.GetPane('monpanel').IsShown()):
      		self.mgr.GetPane('monpanel').Hide()
      	else:
      		self.mgr.GetPane('monpanel').Show()
      	self.mgr.Update()