wxWidgets icon indicating copy to clipboard operation
wxWidgets copied to clipboard

"illegal" resizing of the AuiPane? (wxPython)

Open wxtrac opened this issue 17 years ago • 2 comments

Issue migrated from trac ticket # 4599

component: wxAui | priority: normal

2008-01-13 02:10:54: vlbrom created the issue


While tryig to use wx.aui.AuiManager() in wxPython I encountered some possibly unwanted behaviour while resizing the aui panes; (wxPython 2.8.7.1, Python 2.5.1; Win XPh SP2 )

It can be reproduced with the sample program in the wxpyhon demo: AUI_DockingWindowMgr: If I call the default startup and try to resize the lower pane, it is also possible to resize it over the whole area in the middle to the toolbar; if this happens (for whatever reason), all panes involved are virtually destroyed and cannot be returned back. I recognise, that this is not a regular use case, but I think, something like that should be prevented, not only because of the visual glitches, but because it can invalidate (parts of) the gui. I tried to set MinSize(...) and MaxSize(...) of the panes, but it seems, that these are only relevant, when resizing the actual pane - not when the neighbour pane is resized over it. (In my program I have a slightly more complex layout with 3-4 columns each with 2-3 rows, but the problem is the same.) This behaviour involves horizontal as well as vertical resizing (both can be reproduced in the same wxPython demo file using "all panes"; the attached screenshot shows this window after the top-left pane has been resized down over the neighbour pane to the bottom pane; further the pane on the left from the center has been resized to the right). The captions as well as buttons disappear, hence it is not possible to restore the invalidated panes (sometimes they reappear after some rearrangements, but most of the time they don't)

Is this a known problem, and/or are there some possibilities to prevent it? (Is it e.g. possible to use Veto() for any resize if any pane of the AuiManager would become too small or completely lost? How should it be done, if possible?) I hope, that my description is somewhat clear and that I am not missing something obvious ... :-)

Many thanks in advance, Vlastimil Brom

wxtrac avatar Jan 13 '08 02:01 wxtrac

2008-01-13 02:10:54: vlbrom uploaded file wx-AUI-illegal-resize.jpg (91.8 KiB)

wxPython demo - wx.AUI_docking window manager (all panes) - after "illegal" resizing of two panes wx-AUI-illegal-resize.jpg

wxtrac avatar Jan 13 '08 02:01 wxtrac

2008-05-23 03:44:02: @wxtrac changed status from assigned to confirmed

2008-05-23 03:44:02: @wxtrac commented

transitioning old 'assigned' status to new 'confirmed' status

wxtrac avatar May 23 '08 03:05 wxtrac