@Pecan: the "always on top" flag also works on linux, but they always show a focused state. maybe a wxAUI bug?
Anyway...
I'm attaching what I've done for now in patch form. A win32 build of Rev 4207 with patch applied (but without contrib plugins) can be found here:
http://www.savefile.com/files/859819. Unfortunately, it is not as elaborate as planned because CBs dockable event handlers aren't fully fleshed out.
How to use the build: (after downloading and extracting the files or building the patched source and starting CB) :
1. You should be able to right click on any editor or message tab and select "detach" (except for the start page - it behaves strangely)
2. the editor/message log will move to a floating dockable (you will have to move the dockable window each time as I have not written any persistent placement code yet - I suspect I will need to use a dockable window registry to do this). The tab will remain in place (this is due to point 5 below)
3. The editor/message page of the notebook will now be empty if you click on that tab (but the detached window will be focused).
4. In the editor, I've used a broken file link to indicate the detached state of the file (my attempt at artwork was uninspired, so I reverted to one of the standard icons). There is no indication of the detached state in the message log (could maybe use a greyed out text/icon for the message tab and a greyed out text for the editor tab?)
5. To reattach the editor/message window into its notebook right click on the tab and select "reattach" (unfortunately, getting the editor to reattach upon clicking the close check box turned out to be non-trivial, as is any kind of dragging and dropping, but hopefully we'll get to this eventually)
If anyone plans to apply the patch I suggest doing so over a fresh checkout of code::blocks... I've tried to keep ugly hacks to a minimum but this is still at a very experimental stage, so a few hacks were necessary
, especially to
wxFlatNotebook. The only substantive changes to flatnotebook that needed to be made is to declare
TearawayNotebook a friend in
wxPageContainer, to make the Add/Remove/Delete/DeleteAll/SetSelection methods of
wxFlatNotebook virtual and to make private members of
wxFlatNotebook protected.
[attachment deleted by admin]