> > <snip>
> > 1) Thanks to the new wxAUI_MGR_ALLOW_EXTERNAL_MOVE flag (which is an
> > extension of the ability that wxAuiNotebook always had) it it possible
> > to drag panes between managers - so one could simply give the floating
> > panes their own managers (under certain conditions) and use this flag to
> > allow the panes to be dragged between the managers. The main problem to
> > be solved here then would be to get 'multi manager serialization'
> > working properly so that serialization works properly when panes change
> > between managers (it doesn't currently) - Some function that restores
> > all the managers at the same time, instead of one at a time, could
> > probably detect the movement and handle things right.
> This is probably the way to go, as I saw that floating panes already
> have a hidden manager ...
That would make it even easier to go that route then yes.
Just to let everyone know, I've had a scan over all the changes that
have been made in your branch and they all look good to me, did not spot
anything that looked problematic, all the key things that I still
thought needed to be done seem to have been done.
Just one thing, are you 100% sure that you have got all the
wxAuiNotebook events right?
The one 'large' thing that I still needed to do was go over
wxAuiNotebook and ensure that all the events that were previously
present have been added back in and behaved in a backwards compatible
manner - I see you have added some events back in, and made some fixes
there, just want to make sure that they have all been checked.
The only thing I can't really agree with personally is the dropping of
the deprecation, while I agree that it doesn't need to be deprecated
immediately (the 2.8 compat was just a placeholder until an appropriate
point was decided) or possibly not even for a long time to come.
I do think the *option* should be there in future, so that 12 years from
now when people do decide to deprecate it is possible to do so, by not
having the replacement functions available *now* we are cementing the
use of the 'worse' API as more and more people will use it, and
essentially ensuring that deprecation will *never* be a viable option.
I personally think that actual deprecation could be turned off for now,
but kept available, and all deprecated members marked as such in
documentation (or hidden from documentation) to encourage users to use
the newer versions - I can't see any harm in this route and it seems
better than just doing nothing about it and leaving an inconsistent API
forever - having an inconsistent API means that internally we have to
use that API which makes working on the AUI code less pleasurable, at
least with the deprecation (even if turned off) the better API can be
used internally.
Anyway I can see the other side of the argument as well, especially that
it is complicating the merge, so I am fine to leave it out for now. It
is certainly no reason to stop the merge for now, deprecation can always
be revisited/discussed again later, just thought I would weigh in on
that subject.
- Malcolm