Kirix Support Forums

minimize and maximize buttons for non dockable panes

Please post all general questions, comments, bug reports, and any other wxAUI feedback here.

minimize and maximize buttons for non dockable panes

Postby domino1011 on Sun Feb 04, 2007 2:10 pm

Hi,

At the begginging I would like to thank you for this library - it's GREAT :). However I would like to suggest a little feature, so my question is:

Is it possible to add maximize/minimize buttons for non-dockable panes? Right now only panes that are docked have these buttons. Maybe it is possible to modify the code a little and dock non-dockable pane for a time it is maximized so that it would behave like the docked one. And the minimize button should work like that from normal child window - in fact right now it works fine if you select minimize from context menu from pane caption bar, so it shouldn't be a problem I suppose. About the behaviour of maximize button - it should work as maximize in child windows, so the floating pane that has been maximized should be on top of all other panes.

There is one more thing - I'm using wxAUI in the 3D world editor and I couldn't use wxAUI_MGR_ALLOW_ACTIVE_PANE flag because my 3D view gets refreshed every time pane changes which causes ugly flicking. I couldn't disable background erasing for that window, so I assume that it's some wxAUI internal thing. I suppose that the whole pane gets refreshed instead of the active bar only. Is there some workaroud to deal with this? (currently I didn't set the wxAUI_MGR_ALLOW_ACTIVE_PANE flag).

Thanks,
Dominik
domino1011
Registered User
 
Posts: 3
Joined: Sun Feb 04, 2007 12:50 pm

Postby Ben on Sat Feb 10, 2007 7:16 am

Hi,

It sounds like a good idea to me.

So basically this would add maximize/minimize buttons to the mini frame, right? I'd have to look into whether this functionality is already on the mini frame class interface.

Regarding your other problem, one solution would definitely be disabling the background erasing, were that possible. There currently is a degree unnecessary redrawing and refreshing in wxAUI, although we've made efforts to reduce those issues. I'd like to improve it even more.

All the best,
Ben
User avatar
Ben
Kirix Support Team
 
Posts: 525
Joined: Mon Dec 19, 2005 6:29 am

Postby domino1011 on Sun Feb 11, 2007 8:35 am

bwilliams wrote:Hi,

It sounds like a good idea to me.

So basically this would add maximize/minimize buttons to the mini frame, right? I'd have to look into whether this functionality is already on the mini frame class interface.

I don't know what does mini frame means ;) however I suppose that by it you mean the class for floating panes. If so than yes - this would add maximize/minimize buttons to such frames.

bwilliams wrote:Regarding your other problem, one solution would definitely be disabling the background erasing, were that possible. There currently is a degree

I had already done this but it doesn't seem to help a lot. Fortunately active pane indicator is a cool but not necessary feature.

Thanks,
Dominik
domino1011
Registered User
 
Posts: 3
Joined: Sun Feb 04, 2007 12:50 pm

Postby Ben on Wed Feb 14, 2007 8:23 am

I don't know what does mini frame means Wink however I suppose that by it you mean the class for floating panes. If so than yes - this would add maximize/minimize buttons to such frames.


wxMiniFrame is a frame class that has a smaller window border. Usually tool panels have this style of window.

Best,
Ben
User avatar
Ben
Kirix Support Team
 
Posts: 525
Joined: Mon Dec 19, 2005 6:29 am

Postby domino1011 on Thu Feb 15, 2007 11:58 am

bwilliams wrote:wxMiniFrame is a frame class that has a smaller window border. Usually tool panels have this style of window.

Ok, so I assume that if the pane is specified as below:
Code: Select all
wxAuiPaneInfo paneInfo;

m_pMyPanel = new CMyPanel(...);

paneInfo.Name(wxT("MyPanel"));
paneInfo.Caption(wxT("My Panel"));
paneInfo.Float();
paneInfo.MaximizeButton(true);
paneInfo.MinimizeButton(true);
paneInfo.Dockable(false);      // this one is important in this case
paneInfo.FloatingSize(400, 800);
paneInfo.Show(true);

m_FrameManager.AddPane(m_pMyPanel, paneInfo);

then wxAUI will use wxMiniFrame for such pane, right? If so, then yes - I'm talking about adding maximize/minimize buttons to such frame. The thing is that if the pane is specified with
Code: Select all
paneInfo.Dockable(false);

then maximize/minimize buttons doesn't work, and my proposal is to add funcionality that will allow such frames to be minimized/maximized and they should behave as child MDI frames (standard wx MDI :) ).
domino1011
Registered User
 
Posts: 3
Joined: Sun Feb 04, 2007 12:50 pm

Return to wxAUI Questions, Thoughts & Feedback