Hi

For info.

I took a look at the wxWidgets wxAuiManager implementation.
There have been quite a few changes from 2.8.10 to 2.8.12 in the 
internal size / resize code so if Padre code contains a few workarounds 
to cope with 2.8.10 behaviour perhaps these come unstuck on 2.8.12.

It may be of help to know:

Wx::AuiManager installs itself with

$window->PushEventHandler($self);

It handles, amongst others, EVT_SIZE, to handle layout.
It keeps track of size and doesn't do anything if it receives a size 
event where the frame size has not changed.

If the frame is 'Frozen', it also does nothing - but the recorded 'last' 
size is not changed.

Hence, at Window construction, when size events are received, 
$frame->Freeze at startup and $frame->Thaw at the end will force correct 
layout of components with the frame at the desired size.

Of course, this assumes there's a size event in the pending queue at the 
time  $frame->Thaw is called (which it seems there is).

Note that if you wanted to do something in Padre code in an EVT_SIZE, if 
you connect the event to the Frame, the event sub would be called after 
the Wx::AuiManager had handled the event.
To enter your own EVT_SIZE code before Wx::AuiManager, connect the event 
to your own Wx::EvtHandler and

$window->PushEventHandler($myevthandler);

Remember to $event->Skip(1);

One thing I noticed:

Docs for wxAuiManager say you must call

$frame->aui->UnInit;

in the Padre::Wx::Main destructor. Failure to do so may cause seg faults 
on exit ( apparently ).


H.T.H.


Mark



On 24/05/2011 19:32, Gabor Szabo wrote:
> hi,
>
> I sent this to be wxPerl mailing list already asking for help but it
> would be nice
> if other people on this list could report on the same bug what version of
> Padre/Wx/wxWidgets/OS they have and if they see the same problem or not.
> We have not seen it elsewhere but I am not sure if this is restricted
> to Windows or
> not.
>
> Here is the message:
>
> I see a window sizing issue with Padre on Windows.
> I am still trying to figure out if which combinations of Wx and
> wxWidgets have the issue and if we can fix it in user-land code or if
> it needs some Wx wizardry. In any case if someone here could take a
> look at the screenshot, I'd appreciate.
> Here is the ticket:   http://padre.perlide.org/trac/ticket/1225
>
> In the meantime I try to check this on other systems as well and put
> my findings in the ticket
>
> regards
>    Gabor
> _______________________________________________
> Padre-dev mailing list
> Padre-dev@perlide.org
> http://mail.perlide.org/mailman/listinfo/padre-dev

_______________________________________________
Padre-dev mailing list
Padre-dev@perlide.org
http://mail.perlide.org/mailman/listinfo/padre-dev

Reply via email to