AUI for wxpython resize error with miniframe

I am using Andrea's AUI for python and when panes are floated on OSX
there is no resize handle shown. Resizable() is set to true. The only
way that the resize handle is shown is when Fixed() is added. This
error does not show up on windows. any ideas?

Thanks

-Tim

concussionGFX wrote:

I am using Andrea's AUI for python and when panes are floated on OSX
there is no resize handle shown. Resizable() is set to true. The only
way that the resize handle is shown is when Fixed() is added. This
error does not show up on windows. any ideas?

Is it specifying the wx.BORDER_RESIZE style for the window?

···

--
Robin Dunn
Software Craftsman

I put a breakpoint in framemanager.py and when a pane is floated it
runs through the following code in the AuiFloatingFrame class

    if pane and pane.IsResizeable():

        style += wx.RESIZE_BORDER

and the style changes from 4194318 to 4194382

-Tim

Robin Dunn wrote:

···


Tim Vazquez

(407) 341-5377

CGM Studios

Concussion Graphics and Media

www.cgmstudios.com

www.concussion.cc

Concussion GFX - Tim wrote:

I put a breakpoint in framemanager.py and when a pane is floated it runs through the following code in the AuiFloatingFrame class

        if pane and pane.IsResizeable():
            style += wx.RESIZE_BORDER

and the style changes from 4194318 to 4194382

-Tim

Robin Dunn wrote:

concussionGFX wrote:
  

I am using Andrea's AUI for python and when panes are floated on OSX
there is no resize handle shown. Resizable() is set to true. The only
way that the resize handle is shown is when Fixed() is added. This
error does not show up on windows. any ideas?
    
Is it specifying the wx.BORDER_RESIZE style for the window?

After some experimenting and code tweaking it appears that Mac OS X does not allow windows without a caption bar to have the resize handle.[1] The wx.RESIZE_BORDER style is ignored in the wxMac code except in a few cases. (See [2]) Changing the code to not ignore the style resulted in errors from the Mac API.

Unfortunately since agw.AUI draws its own caption bar the native one is not there and so it appears that it can't have the native resize handles either. Andrea, what do we lose if we go back to the native caption bar for the floating panes?

I've CC'd Stefan in case he has any other suggestions.

[1] It's technically the WindowClass that matters (see the code in [2]) but from our perspective you could say it's whether or not there is a caption bar on the frame.

[2] wxTrac has been migrated to GitHub Issues - wxWidgets

···

--
Robin Dunn
Software Craftsman

Stefan Csomor wrote:

Unfortunately since agw.AUI draws its own caption bar the native one is
not there and so it appears that it can't have the native resize handles
either. Andrea, what do we lose if we go back to the native caption bar
for the floating panes?

I've CC'd Stefan in case he has any other suggestions.

[1] It's technically the WindowClass that matters (see the code in [2])
but from our perspective you could say it's whether or not there is a
caption bar on the frame.

could you just draw the resize handle/a.k.a. GrowBox manually? Cocoa may be more forgiving than Carbon in that sense, I haven't tried out what combinations they allow, but that's only for trunk, not for 2.8

Since the mini frame can contain any content then drawing the grow box over the top of whatever widget(s) happen to be in that corner would be tricky, plus the AUI code would have to manage doing the resize itself too...

···

--
Robin Dunn
Software Craftsman

Hi Robin & All,

2009/8/13 Robin Dunn:

Concussion GFX - Tim wrote:

I put a breakpoint in framemanager.py and when a pane is floated it runs
through the following code in the AuiFloatingFrame class

    if pane and pane\.IsResizeable\(\):
        style \+= wx\.RESIZE\_BORDER

and the style changes from 4194318 to 4194382

-Tim

Robin Dunn wrote:

concussionGFX wrote:

I am using Andrea's AUI for python and when panes are floated on OSX
there is no resize handle shown. Resizable() is set to true. The only
way that the resize handle is shown is when Fixed() is added. This
error does not show up on windows. any ideas?

Is it specifying the wx.BORDER_RESIZE style for the window?

After some experimenting and code tweaking it appears that Mac OS X does
not allow windows without a caption bar to have the resize handle.[1]
The wx.RESIZE_BORDER style is ignored in the wxMac code except in a few
cases. (See [2]) Changing the code to not ignore the style resulted in
errors from the Mac API.

Unfortunately since agw.AUI draws its own caption bar the native one is
not there and so it appears that it can't have the native resize handles
either. Andrea, what do we lose if we go back to the native caption bar
for the floating panes?

Sorry for the late reply, I am on a loooooong holiday and I'll be back
at the end of August. I remember I have tried once to go back to
native caption bars for AUI but there were so many changes to make in
the code that I gave up. I'll take a deeper look when I'll be back at
home. It would be a huge work for sure, isn't there any way to force
the Mac to have resize borders even without caption bars?

Andrea.

"Imagination Is The Only Weapon In The War Against Reality."
http://xoomer.alice.it/infinity77/

Andrea Gavana wrote:

Unfortunately since agw.AUI draws its own caption bar the native one is
not there and so it appears that it can't have the native resize handles
either. Andrea, what do we lose if we go back to the native caption bar
for the floating panes?

Sorry for the late reply, I am on a loooooong holiday and I'll be back
at the end of August. I remember I have tried once to go back to
native caption bars for AUI but there were so many changes to make in
the code that I gave up. I'll take a deeper look when I'll be back at
home. It would be a huge work for sure, isn't there any way to force
the Mac to have resize borders even without caption bars?

It doesn't look like it, at least not with Carbon. In my experiments the Carbon WindowClasses that did not result in having a caption would all return an error from the create function if I included the flag that turned on the resize border.

We can discuss this more when you get back. In the meantime, have lots of fun, and also a bit of fun for us poor slobs stuck working. :slight_smile:

···

--
Robin Dunn
Software Craftsman