Page 5 of 5

Posted: Sun Mar 08, 2009 8:19 am
by NinjaNL
red_team316 wrote:NinjaNL and jjn, I have to agree with tierra for the most part about the patches. They really should be put on Trac. I did see NinjaNL added something about 6 days ago, so right on. If the patches are on Trac, as well as Kirix, then nobody can come back and point fingers.
I have added other patches. One implements a sort of minimize function for frames http://trac.wxwidgets.org/ticket/10185

Unfortunately, although I think this is a subtle improvement, there has been no comment/reaction even just to say thanks but no thanks. This is why I despair a little of wxAUI. I am aware that Ben is very busy, as are all the wxWidgets developers. Even a comment of "looks nice but it doesn't fullfill our desires" would be welcome. Anything. I understand eveyones comments about submitting to trac and will do so again, but the lack of any sort of feedback is depressing. (Note that I am really only commenting on wxAui feedback here - I don't believe that I can complain about other aspects of wxWidgets)
red_team316 wrote:NinjaNL, I have been testing a variation your ToolBar Orientation Horizontal/Vertical patch on wxGTK that does not modify the framemanager files and I must say, your patch is very clean looking and straight-forward other than the gripper comment possibly. I do not see it on Trac, I would like to see it there as this is one of the main reasons I decided to use wxWidgets rather than something else for my project. The only thing that seems a little odd about it is that when undocking a vertical toolbar, I think it should switch to a horizontal float.
You are probably correct there, I'll look into it.
red_team316 wrote:I don't think there is any problem with the way it is now, but it is odd since the caption cannot be read and that I have never used a program that undocks to a vertical floating toolbar. Possibly add a optional flag that forces the floating toolbar to be horizontal?...
This does make sense.
red_team316 wrote:Also since my variation of your patch doesn't modify wxAUI, I think it might be able to be encapsulated into a derived class(such as wxAUISmartToolBar) that overrides

Code: Select all

wxAuiManager::ProcessDockResult

bool ProcessDockResult(wxAuiPaneInfo& target, const wxAuiPaneInfo& new_pos)

ProcessDockResult() is a protected member of the wxAUI layout manager. It can be overridden by derived classes to provide custom docking calculations.
and in the overrrided function, call the DOCK/FLOATING events from there. My code uses wxIdleEvents at the moment since I traced back the actual dock/floating switch point is actually triggered at an IDLE event. The one thing that your toolbar patch shows is that these types of events are really needed.

What are your thoughts on a derived class that doesn't modify current wxAUI code?
If it works, then by all means use it. You could either generate the patch yourself, or post your code here (if it effectively becomes a derived class of wxAuiToolbar).

However I think that this sort of functionality SHOULD be contained within the standard wxAui system. So if you get to the point where you can get my code to do everything you want, then consider making a patch for the actual source of wxAui and of course submit a patch to trac.

Good luck.

Posted: Wed Mar 11, 2009 1:52 am
by jjn
red_team316 wrote:NinjaNL and jjn, I have to agree with tierra for the most part about the patches.
When you post some patches for wxAUI to Trac by yourself, you may change your mind. :roll:

Posted: Tue Mar 17, 2009 11:38 am
by jacmoe
I just posted a small patch on the tracker:
http://trac.wxwidgets.org/ticket/10602

It enables wxAuiToolBar to handle radio buttons. :)
Small patch, which does not touch the interface at all.

Posted: Tue Mar 17, 2009 2:57 pm
by Infinity_77
Hi jjn, NinjaNL and All,

I have translated the whole wxAUI to wxPython, including all the modifications made by jjn and NinjaNL. It's working quite well, but I have few questions for you as it looks like you know much better than I do the internals of wxAUI:

1) The official wxAUI has the AUI_MGR_LIVE_RESIZE style, which allows you to see the resize of any sashes immediadely instead of drawing the sash on screen. Do you think it would be possible to add this style back to jjn's version of wxAUI? If the answer is yes, where should I look to implement it?

2) Once you float a pane, this pane lives in a AuiFloatingFrame which has its own manager: however, when you float another pane and you move it inside the AuiFloatingFrame there are no docking guides shown (as this second pane can not be docked inside the AuiFloatingFrame). Do you think it would be possible to enable the docking of a floating pane inside a AuiFloatingFrame (which has its own manager)? If yes, could you suggest a good place where to start hacking the code?

3) Have any of you made any other improvements to the modified wxAUI? If yes, would it be possible for you to share them?

Thank you for your suggestions and for your time.

Andrea.

Posted: Wed Mar 18, 2009 1:13 am
by jjn
Infinity_77 wrote:1) The official wxAUI has the AUI_MGR_LIVE_RESIZE style, which allows you to see the resize of any sashes immediadely instead of drawing the sash on screen. Do you think it would be possible to add this style back to jjn's version of wxAUI? If the answer is yes, where should I look to implement it?
It is a feature added in 2.8.10. You can see the following to implement it.
http://trac.wxwidgets.org/changeset/57885
Infinity_77 wrote:2) Once you float a pane, this pane lives in a AuiFloatingFrame which has its own manager: however, when you float another pane and you move it inside the AuiFloatingFrame there are no docking guides shown (as this second pane can not be docked inside the AuiFloatingFrame). Do you think it would be possible to enable the docking of a floating pane inside a AuiFloatingFrame (which has its own manager)? If yes, could you suggest a good place where to start hacking the code?
Maybe possible but hard work. I think the starting point for that is OnMotion_DragFloatingPane().
Infinity_77 wrote:3) Have any of you made any other improvements to the modified wxAUI? If yes, would it be possible for you to share them?
This file includes some small fixes. (Allow tab moving in auto notebooks, etc.)
http://www.mediafire.com/download.php?1g2nmmztjtn

If you have done more work on my modification, please post it here.

Posted: Wed Mar 18, 2009 4:37 am
by NinjaNL
jacmoe wrote:I just posted a small patch on the tracker:
http://trac.wxwidgets.org/ticket/10602
I posted an updated patch (based upon work done by r.u.10). Imagine my surprise when Ben responded almost immediately, wanting to apply the patch.

Unfortunately Vadim put the kibosh on it.

I understand his reasoning though, so now someone needs to reimplement the wxAuiMDI classes using a different base class for wxAuiMDIParentFrame (currently wxFrame derived needs to be wxMDIParentBase derived) and the event ProcessEvent stuff needs changing to the new TryBefore stuff. Also the whole code needs looking at as far as wxWidgets coding styles are concerned.

Then I can look at redoing the patch for the wxAuiDocMDI classes.

Posted: Wed Mar 18, 2009 1:13 pm
by jacmoe
NinjaNL wrote:
jacmoe wrote:I just posted a small patch on the tracker:
http://trac.wxwidgets.org/ticket/10602
I posted an updated patch (based upon work done by r.u.10). Imagine my surprise when Ben responded almost immediately, wanting to apply the patch.
Is it related to my patch?
Was just a small modification to auibar.cpp, which makes it handle radio buttons properly. :)
It is a dead simple patch, not touching any interface.
That way it is real easy to apply: it doesn't break, nor change anything, only add a feature.
I asked about the feature on the Kirix forum, and Ben asked me to have a go at it, and I did. Which is probably why he responded so quickly. :wink:

Posted: Wed Mar 18, 2009 1:41 pm
by NinjaNL
jacmoe wrote:
NinjaNL wrote:
jacmoe wrote:I just posted a small patch on the tracker:
http://trac.wxwidgets.org/ticket/10602
I posted an updated patch (based upon work done by r.u.10). Imagine my surprise when Ben responded almost immediately, wanting to apply the patch.
Is it related to my patch?
No, nothing to do with your patch. This was a patch adding Doc/View functionality/classes to wxAui.

Posted: Wed Mar 18, 2009 1:46 pm
by jacmoe
Oh, I see.
Let's hope it means that Ben is back in business. :)

Posted: Wed Mar 18, 2009 6:55 pm
by Infinity_77
Hi jjn & All,
jjn wrote: It is a feature added in 2.8.10. You can see the following to implement it.
http://trac.wxwidgets.org/changeset/57885
Thank you for the info, I got it working without too much effort...
jjn wrote:
Infinity_77 wrote:2) Once you float a pane, this pane lives in a AuiFloatingFrame which has its own manager: however, when you float another pane and you move it inside the AuiFloatingFrame there are no docking guides shown (as this second pane can not be docked inside the AuiFloatingFrame). Do you think it would be possible to enable the docking of a floating pane inside a AuiFloatingFrame (which has its own manager)? If yes, could you suggest a good place where to start hacking the code?
Maybe possible but hard work. I think the starting point for that is OnMotion_DragFloatingPane().
Uhm, I'll try to poke with the code but my feeling is that it will be way over my wxPython skills.
jjn wrote:
Infinity_77 wrote:3) Have any of you made any other improvements to the modified wxAUI? If yes, would it be possible for you to share them?
This file includes some small fixes. (Allow tab moving in auto notebooks, etc.)
http://www.mediafire.com/download.php?1g2nmmztjtn

If you have done more work on my modification, please post it here.
Thank you for the link, I updated my Python copy with modifications you have made. I will for sure contribute back any enhancements I will make: the only issue at the moment is which way to go: what are the missing features? Which kind of improvements needs to be made to this version of wxAUI?

If you have any interesting idea, please let me know! I'll code it in Python and try to contribute back a reasonable C++ implementation.

Thank you.

Posted: Wed Mar 25, 2009 10:01 am
by Infinity_77
Hi jjn, NinjaNL and All,

I was wondering if you had an answer for a small problem I am facing. Basically, it is related to automatic notebooks vs developer-created notebooks (i.e., explicitely created as wxAuiNotebook and then added as panes to the AuiManager).

The behaviour of the 2 notebooks is fairly different: automatic notebooks do not "split" when a tab is dragged. The dragged tab becomes immediately a floating pane. On the contrary, when you drag a tab on developer-created AuiNotebooks, the notebook can split but a dragged tab can never become a floating pane (which would be very useful to have).

Do you have any suggestion on how to make the 2 notebooks more coherent? I would be happy even simply by having developer-created AuiNotebooks create a floating pane when a tab is dragged outside the notebook.

If you could point me to a good place in the code on where to start hacking I would be very glad.

Thank you for your suggestions.

Andrea.

Posted: Mon Jun 15, 2009 10:38 am
by ngpaton
Hi,

What is the status of this? It's unclear from the posts as to whether this will ever make it into the official wxWidgets releases.

If risk to existing wxAUI users is the problem maybe this should be changed to wxAUI2 and both can live in the wx release. The original wxAUI can then be deprecated over a few releases.

Cheers

Nigel

Posted: Tue Jun 16, 2009 8:08 am
by NinjaNL
ngpaton wrote:What is the status of this? It's unclear from the posts as to whether this will ever make it into the official wxWidgets releases.
It is hoped that these improvements will make it into the official wxAui tree, but there will need to be some work done on these classes in order to separate each improvement/bug fix into its own patch for submission to the wxWidgets trac system for examination.
ngpaton wrote:If risk to existing wxAUI users is the problem maybe this should be changed to wxAUI2 and both can live in the wx release. The original wxAUI can then be deprecated over a few releases.
I would rather see that someone do the work and merge these improvements/bugfixes into the official wxAui tree. I had hoped to be able to do this myself, but I recently started a new job and don't have the time at the moment.

I see no reason to create a wxAui2 project since with some work, the official version can be such a good thing.

Re: wxAUI Improvements

Posted: Wed Jun 03, 2020 10:06 am
by TobiasA
Just being curious: Did those improvements ever make it into the official AUI code?

Re: wxAUI Improvements

Posted: Thu Jun 04, 2020 6:35 pm
by ONEEYEMAN
Hi,
Why don't you get the sources and check yourself.?

Its very easy to compile it and then compile the sample and see for yourself.

And if it doesn't - it is an open-source project. You can try to implement whatever you need and submit it as a patch/pull request.

Thank you.