aui - multiple panels in a auiNotebook sizing problem

In my app I have a pane with three listctrl's and I like them to take about 1/3 each of available space.

I am sure you guessed by know, I can't get it working.

I put two small samples together using just wx.Panel instead of wx.Listctrl, it works fine if the panels are directly on the frame and managed by AUI (auiMultiPanel.py), if I then add a auiNotebook the sizing does not work anymore.

I see the same issue with wx.AUI, so maybe I am doing something wrong with the way I handle the notebook, but I can not see it.

Thanks for any hints
Werner

auiMultiPanelInNB.py (3.3 KB)

auiMultiPanel.py (2.91 KB)

Hello,

···

On Thu, Jul 30, 2009 at 10:35 AM, Werner F. Bruhin<wbruhin@gmail.com> wrote:

In my app I have a pane with three listctrl's and I like them to take
about 1/3 each of available space.

I am sure you guessed by know, I can't get it working.

I put two small samples together using just wx.Panel instead of
wx.Listctrl, it works fine if the panels are directly on the frame and
managed by AUI (auiMultiPanel.py), if I then add a auiNotebook the
sizing does not work anymore.

I see the same issue with wx.AUI, so maybe I am doing something wrong
with the way I handle the notebook, but I can not see it.

If I remove your mgr.Update call then it appears to work fine. With
the update call there if I do a maximize then restore (by clicking on
pane button) the layout also ends up correcting itself.

Cody

Cody Precord wrote:

Hello,

In my app I have a pane with three listctrl's and I like them to take
about 1/3 each of available space.

I am sure you guessed by know, I can't get it working.

I put two small samples together using just wx.Panel instead of
wx.Listctrl, it works fine if the panels are directly on the frame and
managed by AUI (auiMultiPanel.py), if I then add a auiNotebook the
sizing does not work anymore.

I see the same issue with wx.AUI, so maybe I am doing something wrong
with the way I handle the notebook, but I can not see it.
    
If I remove your mgr.Update call then it appears to work fine. With
the update call there if I do a maximize then restore (by clicking on
pane button) the layout also ends up correcting itself.
  

Interesting.

wx.CallAfter(self._mgr.Update)
works too.

But resizing of the windows, does not nicely/correctly resize the
sub-windows.

Maybe a wx.EVT_SIZE is being eaten up by AUI or ...?

Werner

···

On Thu, Jul 30, 2009 at 10:35 AM, Werner F. Bruhin<wbruhin@gmail.com> wrote:

Cody

>

Cody Precord wrote:

Hello,

In my app I have a pane with three listctrl's and I like them to take
about 1/3 each of available space.

I am sure you guessed by know, I can't get it working.

I put two small samples together using just wx.Panel instead of
wx.Listctrl, it works fine if the panels are directly on the frame and
managed by AUI (auiMultiPanel.py), if I then add a auiNotebook the
sizing does not work anymore.

I see the same issue with wx.AUI, so maybe I am doing something wrong
with the way I handle the notebook, but I can not see it.
    
If I remove your mgr.Update call then it appears to work fine. With
the update call there if I do a maximize then restore (by clicking on
pane button) the layout also ends up correcting itself.
  

In my real application I can't get this to work. I.e. it behaves same/similar to when one leaves the mgr.Update call in, however it never resizes itself correctly.

In my real application the sub-panels are listctrl's, and I wonder if the problem has to do with the mixin I use.

Anyhow attached is the smallish version showing the problem - the listctrl's are empty, so they look a bit funny.

Werner

auiMultiPanelInNB.py (4.87 KB)

···

On Thu, Jul 30, 2009 at 10:35 AM, Werner F. Bruhin<wbruhin@gmail.com> wrote:

Werner F. Bruhin wrote:

Cody Precord wrote:
  

Hello,

In my app I have a pane with three listctrl's and I like them to take
about 1/3 each of available space.

I am sure you guessed by know, I can't get it working.

I put two small samples together using just wx.Panel instead of
wx.Listctrl, it works fine if the panels are directly on the frame and
managed by AUI (auiMultiPanel.py), if I then add a auiNotebook the
sizing does not work anymore.

I see the same issue with wx.AUI, so maybe I am doing something wrong
with the way I handle the notebook, but I can not see it.
    

If I remove your mgr.Update call then it appears to work fine. With
the update call there if I do a maximize then restore (by clicking on
pane button) the layout also ends up correcting itself.
  

In my real application I can't get this to work. I.e. it behaves same/similar to when one leaves the mgr.Update call in, however it never resizes itself correctly.

In my real application the sub-panels are listctrl's, and I wonder if the problem has to do with the mixin I use.

Anyhow attached is the smallish version showing the problem - the listctrl's are empty, so they look a bit funny.
  

Oops, I cut a bit much.

A sizer is needed in ListCtrlPanel:
        sizer = wx.BoxSizer()
        sizer.Add(self.list, 1, wx.EXPAND)
        self.SetSizer(sizer)

Werner

···

On Thu, Jul 30, 2009 at 10:35 AM, Werner F. Bruhin<wbruhin@gmail.com> wrote: