Kirix Support Forums
wxAUInotebook question
42 posts
• Page 1 of 2 • 1, 2
wxAUInotebook question
It seems that pages from a wxAUInotebook can be moved from one notebook to another, but they *can't* be :
1) ripped out of the notebook and into their own floating window,
2) ripped out of the notebook and docked as its own floating panel.
Is that correct?
If so, are there any plans to add that feature?
1) ripped out of the notebook and into their own floating window,
2) ripped out of the notebook and docked as its own floating panel.
Is that correct?
If so, are there any plans to add that feature?
- Brian
- Registered User
- Posts: 9
- Joined: Thu Nov 30, 2006 4:39 pm
Brian,
Yes, you are correct. At this time, we're still tidying up wxAUI for the upcoming wxWidgets 2.8 release, so we aren't planning to implement this particular feature in the near future.
Do you have a particular application in mind?
Best Regards,
Aaron
Yes, you are correct. At this time, we're still tidying up wxAUI for the upcoming wxWidgets 2.8 release, so we aren't planning to implement this particular feature in the near future.
Do you have a particular application in mind?
Best Regards,
Aaron
-
Aaron - Kirix Support Team
- Posts: 120
- Joined: Fri Dec 16, 2005 3:01 pm
I'm not sure its an application-specific feature. But...
With bigger monitors and dual monitors becoming more and more common, people want the flexibility to tear off and put tools in separate windows, or separate monitors, or to have them docked into a single TabControl. Adobe Photoshop does it. Microsoft Visual Studio does it. Its kind of a "common" thing.
Keep up the good work! AuiNotebook and AuiManager Rock!!
With bigger monitors and dual monitors becoming more and more common, people want the flexibility to tear off and put tools in separate windows, or separate monitors, or to have them docked into a single TabControl. Adobe Photoshop does it. Microsoft Visual Studio does it. Its kind of a "common" thing.
Keep up the good work! AuiNotebook and AuiManager Rock!!
- Brian
- Registered User
- Posts: 9
- Joined: Thu Nov 30, 2006 4:39 pm
If it's possible, there is another feature that I'd like to see in AUI -- container tabs.
I'd like to be able to create a tab that contains more tabs inside it. Either all on one row, or docked in any configuration possible, but all contained inside a tab.
This kind of a feature would allow the user to create many different views of a certain data set, and group them however that user likes, and switch between them easily.
I'd like to be able to create a tab that contains more tabs inside it. Either all on one row, or docked in any configuration possible, but all contained inside a tab.
This kind of a feature would allow the user to create many different views of a certain data set, and group them however that user likes, and switch between them easily.
- disasm
- Registered User
- Posts: 16
- Joined: Tue Jan 10, 2006 8:56 pm
Hi disasm,
We would like to see this feature, too. It should be eventually possible to do this in combination with wxAuiManager. Right now, it can't yet be done in the way you are describing.
Best,
Ben
We would like to see this feature, too. It should be eventually possible to do this in combination with wxAuiManager. Right now, it can't yet be done in the way you are describing.
Best,
Ben
-
Ben - Kirix Support Team
- Posts: 525
- Joined: Mon Dec 19, 2005 6:29 am
Ah. Don't bother putting in tear-off wxAuiNotebook pages, unless you want to get sued by Adobe. They have a patent on it. They sued Macromedia over it (and won), before buying them. Rats.
http://www.internetnews.com/dev-news/article.php/435371
http://www.internetnews.com/dev-news/article.php/435371
- Brian
- Registered User
- Posts: 9
- Joined: Thu Nov 30, 2006 4:39 pm
Don't Listen!
No offense to Brian, but don't listen to him. Eclipse has had the feature for ages and is used as a basis for commercial projects. Please add this, wxAUI is so close to becoming super flexible.
You just need to unify the notebook and non-notebook windows. Panes should switch back and forth as needed. So if there were a notebook that would just have one tab it should look just like a normal pane then when you drag it over another pane it instantly becomes a notebook with two panes.
You just need to unify the notebook and non-notebook windows. Panes should switch back and forth as needed. So if there were a notebook that would just have one tab it should look just like a normal pane then when you drag it over another pane it instantly becomes a notebook with two panes.
- Game_Ender
- Registered User
- Posts: 5
- Joined: Sat Feb 18, 2006 12:33 pm
Actually, good point --- in my case, I won't be selling the software I'm working on, so go ahead and add it.
- Brian
- Registered User
- Posts: 9
- Joined: Thu Nov 30, 2006 4:39 pm
Re: Don't Listen!
Game_Ender wrote:You just need to unify the notebook and non-notebook windows. Panes should switch back and forth as needed. So if there were a notebook that would just have one tab it should look just like a normal pane then when you drag it over another pane it instantly becomes a notebook with two panes.
Hi,
Firstly, guys good work on wxAUI.
I also really agree that this is the way tabs/panes should work. I don't think notebooks should be explicitly added - they should just appear out of thin air as required. If the end user wants to group certain items, who are we to tell them otherwise? As a programmer, I just want to say "Here's a pane for you to control - stick it where you want".
As far as implementation goes, I think it is similar to stacking 3 items vertically on a dock with splitters - instead you are just sticking them "on top" of each other with some changes to the title display to show tabs.
Keep up the good work.
- Huge
- Registered User
- Posts: 25
- Joined: Thu Dec 28, 2006 1:12 am
Hi,
I have just submitted a patch 1629361 to sourceforge http://sourceforge.net/patch/?group_id=9863 to allow tabs to be moved between docked/frames and notebooks. This should cover most of the points here, excepth tabs-within-tabs. From the description:
This mod adds "automatic notebooks" to wxAUI. This allows panes to be dragged over the top of other eligible panes for form notebooks, and then you can drag the tabs out to for normal panes again.
To dock on another pane, firstly both panes must have the "optionNotebookDockable" flag (now on by default) and not be "Fixed" size. Then you drag over the centre 1/3 of the pane to cause a notebook-drop. You can globally disable this mod using wxAUI_MGR_NO_AUTO_NOTEBOOK flag on the manager.
This mod replaces 1626617 (wxAUI wxFrames), as the changes are too intertwined.
You can programatically create a notebook by first creating a notebook id at a certain position, and then adding pages to it:
int notebook = mManager->AddNotebook(wxAuiPaneInfo().Left().BestSize(250,500));
mManager->AddPane( pane1, wxAuiPaneInfo().BestSize(200,400).NotebookPage(notebook) );
mManager->AddPane( pane2, wxAuiPaneInfo().BestSize(200,400).NotebookPage(notebook) );
If you remove all-but-one pane, the notebook will convert to a normal pane.
Known issues: The notebook gets the "BestSize" from the first pane - perhaps some other thing would be better? MinSize/MaxSize are currently ignored. The notebooks are simple arrays of tabs - you can't split them like you can the wxAuiNotebook - although you don't really need to. The tab-order is currently hard to change. The active tab is not remembered.
You will also need patch 1626610 for MSW MDI children.
Let me know if anyone has any luck applying this.
Huge
I have just submitted a patch 1629361 to sourceforge http://sourceforge.net/patch/?group_id=9863 to allow tabs to be moved between docked/frames and notebooks. This should cover most of the points here, excepth tabs-within-tabs. From the description:
This mod adds "automatic notebooks" to wxAUI. This allows panes to be dragged over the top of other eligible panes for form notebooks, and then you can drag the tabs out to for normal panes again.
To dock on another pane, firstly both panes must have the "optionNotebookDockable" flag (now on by default) and not be "Fixed" size. Then you drag over the centre 1/3 of the pane to cause a notebook-drop. You can globally disable this mod using wxAUI_MGR_NO_AUTO_NOTEBOOK flag on the manager.
This mod replaces 1626617 (wxAUI wxFrames), as the changes are too intertwined.
You can programatically create a notebook by first creating a notebook id at a certain position, and then adding pages to it:
int notebook = mManager->AddNotebook(wxAuiPaneInfo().Left().BestSize(250,500));
mManager->AddPane( pane1, wxAuiPaneInfo().BestSize(200,400).NotebookPage(notebook) );
mManager->AddPane( pane2, wxAuiPaneInfo().BestSize(200,400).NotebookPage(notebook) );
If you remove all-but-one pane, the notebook will convert to a normal pane.
Known issues: The notebook gets the "BestSize" from the first pane - perhaps some other thing would be better? MinSize/MaxSize are currently ignored. The notebooks are simple arrays of tabs - you can't split them like you can the wxAuiNotebook - although you don't really need to. The tab-order is currently hard to change. The active tab is not remembered.
You will also need patch 1626610 for MSW MDI children.
Let me know if anyone has any luck applying this.
Huge
- Huge
- Registered User
- Posts: 25
- Joined: Thu Dec 28, 2006 1:12 am
The comments on the patch say that it works but does not integrate with the saving and loading mechanisms. Has this feature been added yet and if not what version of wxWidgets is it on the roadmap for?
- Game_Ender
- Registered User
- Posts: 5
- Joined: Sat Feb 18, 2006 12:33 pm
Re: wxAUInotebook question
Brian wrote:It seems that pages from a wxAUInotebook can be moved from one notebook to another, but they *can't* be :
1) ripped out of the notebook and into their own floating window,
2) ripped out of the notebook and docked as its own floating panel.
Is that correct?
If so, are there any plans to add that feature?
Hi,
I just want to tell what I succed to do :
I declare the main class as a wxMDIParentFrame (which could be another class such as this one) with its wxAuiManager. And my wxMDIParentFrame is managed by the wxAuiManager.
Then, I declared a class derived from wxAuiNotebook, Notebook, and I overrided the OnTabEndDrag method. So, if we begin to drag a tab out of the wxAuiTabCtrl, I add a pane to the wxAuiManager of my wxMDIParentFrame, with AddPane(dragged_page_content,wxAuiPaneInfo().Float() or .Dock() [,wxPoint().... ]) and I remove the page from the Notebook. So I obtain a FloatingFrame with the content of the page dragged. So, I think that your first point is possible (maybe needs some improvement..). the second one is also possible for me.
But I the most would be to do the revese operation, I mean drag a floating frame to the notebook that I can't do since many weeks. It's due to that I can't override the OnLeftDown method of the wxAuiManager. So if you can help, me, go to see my questions here :
http://www.kirix.com/community/forums/viewtopic.php?t=425.
Thanks a lot and tell me if you have any questions.
Best
- mikael.delsol
- Registered User
- Posts: 13
- Joined: Fri Mar 02, 2007 11:22 am
- Location: Montpellier, France
Hi,
I have gathered my mods into something that may be easier to play with. You can see them at http://gamemosaic.com/auimod/. This includes a demo that lets you move panes between windows/notebooks/mdi/full-frame windows. The layout loading and saving should be pretty good too. Let me know what you think.
Huge.
I have gathered my mods into something that may be easier to play with. You can see them at http://gamemosaic.com/auimod/. This includes a demo that lets you move panes between windows/notebooks/mdi/full-frame windows. The layout loading and saving should be pretty good too. Let me know what you think.
Huge.
- Huge
- Registered User
- Posts: 25
- Joined: Thu Dec 28, 2006 1:12 am
Huge wrote:Hi,
I have gathered my mods into something that may be easier to play with. You can see them at http://gamemosaic.com/auimod/. This includes a demo that lets you move panes between windows/notebooks/mdi/full-frame windows. The layout loading and saving should be pretty good too. Let me know what you think.
Huge.
Hi!
Very good job, it rocks!!
Best
- mikael.delsol
- Registered User
- Posts: 13
- Joined: Fri Mar 02, 2007 11:22 am
- Location: Montpellier, France
I don't know to much about the wxAUI internals, can you give me a few quick tips about how I would remove the MSW specific code? I am interested getting this to work with wxPython.
- Game_Ender
- Registered User
- Posts: 5
- Joined: Sat Feb 18, 2006 12:33 pm
Hi,
I don't think I used any MSW specific stuff - but I might have. If you post some compile errors, I could have a look. The biggest problem I see is with the MDI. I use the "wxMDIParentFrame" etc, which I think are fairly generic. However I think the easiest way to do the port would be to ignore the MDI stuff and just create a "Centre" panel. You should then be able to drag in and out tabs getting a kind-of MDI working.
My comment about MSW was that I have only tested it on MSW - so it is possible it will work otherwise. However with any software, if it's not tested, it probably not going to work the first time
I don't think I used any MSW specific stuff - but I might have. If you post some compile errors, I could have a look. The biggest problem I see is with the MDI. I use the "wxMDIParentFrame" etc, which I think are fairly generic. However I think the easiest way to do the port would be to ignore the MDI stuff and just create a "Centre" panel. You should then be able to drag in and out tabs getting a kind-of MDI working.
My comment about MSW was that I have only tested it on MSW - so it is possible it will work otherwise. However with any software, if it's not tested, it probably not going to work the first time
- Huge
- Registered User
- Posts: 25
- Joined: Thu Dec 28, 2006 1:12 am
Re: wxAUInotebook question
[Edit: Forum Transition Issue, Ken re-posted for sickboy]
Hi Huge, thanks for your wxAUIMod !
Unfortunately i found two bugs:
1. When you close all tabs of a notebook an empty container remains.
If your try to close it the app crash.
2. When you drag the the last tab of a notebook it crash too.
Both bugs are reproduceable with your AuiMod.exe
Are you going to commit another patch for the wxWidgets repository ?
I see that the current existing patch is much older than your wxAUImod.
It would be nice to see your mod as part of the wxUAU !
Hi Huge, thanks for your wxAUIMod !
Unfortunately i found two bugs:
1. When you close all tabs of a notebook an empty container remains.
If your try to close it the app crash.
2. When you drag the the last tab of a notebook it crash too.
Both bugs are reproduceable with your AuiMod.exe
Are you going to commit another patch for the wxWidgets repository ?
I see that the current existing patch is much older than your wxAUImod.
It would be nice to see your mod as part of the wxUAU !
Ken Kaczmarek
Kirix Support Team
Kirix Support Team
-
Ken - Kirix Support Team
- Posts: 147
- Joined: Mon Dec 19, 2005 10:36 am
Re: wxAUInotebook question
Hi Ken,
Well, I'm actually using this code so I must already have a fix for this
I can do a new release if people are interested. This is a bit of
a difficult one because I'm hoping this mod will be made redundant.
But then again, i've got several months milage out of it, so maybe it
is worth it.
I don't think the patches are going to make it into the standard tree
because I believe they conflict with basic roadmap set out here,
that is why I moved to an unofficial "mod" release.
The main problem is because it is a snapshot, it is missing out on
the updates to the wxWindows cvs tree. There are a lot of changes
so diff-based patching is difficult.
I'll have a look and see if the crash-fix is an easy one, and release a
new mod if it is easy or there is sufficient community desire.
Huge.
Well, I'm actually using this code so I must already have a fix for this
I can do a new release if people are interested. This is a bit of
a difficult one because I'm hoping this mod will be made redundant.
But then again, i've got several months milage out of it, so maybe it
is worth it.
I don't think the patches are going to make it into the standard tree
because I believe they conflict with basic roadmap set out here,
that is why I moved to an unofficial "mod" release.
The main problem is because it is a snapshot, it is missing out on
the updates to the wxWindows cvs tree. There are a lot of changes
so diff-based patching is difficult.
I'll have a look and see if the crash-fix is an easy one, and release a
new mod if it is easy or there is sufficient community desire.
Huge.
- Huge
- Registered User
- Posts: 25
- Joined: Thu Dec 28, 2006 1:12 am
Re: wxAUInotebook question
Hi Huge,
i've merged your latest released wxAUImod and 2.8.4 with no problems. It works nice except of the mentioned bugs. Could you track them ?
i've merged your latest released wxAUImod and 2.8.4 with no problems. It works nice except of the mentioned bugs. Could you track them ?
- sickboy
- Registered User
- Posts: 7
- Joined: Wed Jun 06, 2007 8:40 am
Re: wxAUInotebook question
Hi sickboy,
There should be some new code at the original URL.
Just a few changes the framemanager.cpp
See how that goes for you.
Huge.
There should be some new code at the original URL.
Just a few changes the framemanager.cpp
See how that goes for you.
Huge.
- Huge
- Registered User
- Posts: 25
- Joined: Thu Dec 28, 2006 1:12 am
Re: wxAUInotebook question
I've also successfully merged your code into 8.4. I'm using the auto notebooking feature, it's very nice. One thing I would like to do is get tab bitmaps to work. Is there a way to do that now, or are there additional features to come? I exposed GetNotebooks() and am able to set a bitmap whenever I want by grabbing the wxAUINotebook object and calling SetPageBitmap(). The problem is when I drag a page out of a notebook and the drag it back in again it doesn't "remember" the bitmap. Any suggestions? I'd be happy to make whatever mods may be necessary to accomplish this. This could also be said of any of the Tab decorations (Maximize, Minimize, etc.)
Thanks.
Awesome job!
-Bob
Thanks.
Awesome job!
-Bob
- reast
- Registered User
- Posts: 2
- Joined: Wed Jun 27, 2007 10:04 am
Re: wxAUInotebook question
Hi,
I've been thinking about bitmaps on pages too.
The maximise/minimise could be done globally and
separately (can it be done already with TabArt ?)
Originally, I though to attach the bitmap to the paneinfo.
This seems like the "right" idea, since we may also be able
to use the bitmap for, say, frame icons. It poses a
little problem with serialising, unless it's done via
name/resource (windows only?), or requires you to
set them up at the beginning, and are not changed.
Another easy idea may be to simply generate an
"OnNotebookPaged" event for the item - then you could
do whatever you want. Alternately, I could generate
a "GetPaneBitmap" event for a similar result.
Any ideas? Presumably the main trunk development
may also be looking to do something here.
Huge
I've been thinking about bitmaps on pages too.
The maximise/minimise could be done globally and
separately (can it be done already with TabArt ?)
Originally, I though to attach the bitmap to the paneinfo.
This seems like the "right" idea, since we may also be able
to use the bitmap for, say, frame icons. It poses a
little problem with serialising, unless it's done via
name/resource (windows only?), or requires you to
set them up at the beginning, and are not changed.
Another easy idea may be to simply generate an
"OnNotebookPaged" event for the item - then you could
do whatever you want. Alternately, I could generate
a "GetPaneBitmap" event for a similar result.
Any ideas? Presumably the main trunk development
may also be looking to do something here.
Huge
- Huge
- Registered User
- Posts: 25
- Joined: Thu Dec 28, 2006 1:12 am
Re: wxAUInotebook question
Yeah, that's exactly what I did. I create a global wxImageList for any bitmap decorations I might want on my tabs, to which I assign to each panel and then just do the following...
void MyFrame::OnNotebookPageChange(wxAuiNotebookEvent&event)
{
wxAuiNotebook *notebook = (wxAuiNotebook *)event.GetEventObject();
if ((notebook != NULL) && (event.GetOldSelection() != -1))
AssignBitmapToPage(notebook, event.GetSelection());
event.Skip();
}
Where AssignBitmapToPage() just does the following for any page tab I want to place a bitmap...
wxString name = auiNotebook->GetPageText(page);
if (name.IsEmpty())
return;
if (name.Cmp(wxT("TestPane0"))==0)
auiNotebook->SetPageBitmap(page, Panel0->GetBitmap());
And if I want to use those same bitmaps in menus or other places I can access them via the global list or the panel. Whichever is most convenient.
-Bob
void MyFrame::OnNotebookPageChange(wxAuiNotebookEvent&event)
{
wxAuiNotebook *notebook = (wxAuiNotebook *)event.GetEventObject();
if ((notebook != NULL) && (event.GetOldSelection() != -1))
AssignBitmapToPage(notebook, event.GetSelection());
event.Skip();
}
Where AssignBitmapToPage() just does the following for any page tab I want to place a bitmap...
wxString name = auiNotebook->GetPageText(page);
if (name.IsEmpty())
return;
if (name.Cmp(wxT("TestPane0"))==0)
auiNotebook->SetPageBitmap(page, Panel0->GetBitmap());
And if I want to use those same bitmaps in menus or other places I can access them via the global list or the panel. Whichever is most convenient.
-Bob
- reast
- Registered User
- Posts: 2
- Joined: Wed Jun 27, 2007 10:04 am
Re: wxAUInotebook question
Thanks for your fix Huge ! It works without problems now.
- sickboy
- Registered User
- Posts: 7
- Joined: Wed Jun 06, 2007 8:40 am
Re: wxAUInotebook question
Hi Huge,
there is another bug which cause a crash in framemanager.cpp
It appears (wxWidgets 2.8.4) when i try to drag one of two existing notebook items out of the notebook. I can't give a callstack because it crash at diffrent positions unreproduceable. Mostly when it tries to delete the old sizer in wxAUIManager::Update() (ln. 2865) which will be called from OnTabBeginDrag -> actionDragFloatingPane.
I fixed it this way:
wxFrameManager.cpp
line 2644: add "wxNotebook* notebookToDestroy = NULL;"
line 2729: Replace "notebook->Destroy();" with "notebook->Hide(); notebookToDestroy = notebook;"
line 2989: add "if (notebookToDestroy) notebookToDestroy->Destroy();"
I think that this is just a workaround, but i'm not sure if it's a problem of 2.8.4 or that we don't handle the first few lines of wxAuiManager::OnMotion(...) correctly...
I'm not using the wxAUI_MGR_MANAGE_DOCUMENT but wxMDI and haven't merged the src/msw/mdi.cpp. But i don't think that this will be the reason for the crash.
there is another bug which cause a crash in framemanager.cpp
It appears (wxWidgets 2.8.4) when i try to drag one of two existing notebook items out of the notebook. I can't give a callstack because it crash at diffrent positions unreproduceable. Mostly when it tries to delete the old sizer in wxAUIManager::Update() (ln. 2865) which will be called from OnTabBeginDrag -> actionDragFloatingPane.
I fixed it this way:
wxFrameManager.cpp
line 2644: add "wxNotebook* notebookToDestroy = NULL;"
line 2729: Replace "notebook->Destroy();" with "notebook->Hide(); notebookToDestroy = notebook;"
line 2989: add "if (notebookToDestroy) notebookToDestroy->Destroy();"
I think that this is just a workaround, but i'm not sure if it's a problem of 2.8.4 or that we don't handle the first few lines of wxAuiManager::OnMotion(...) correctly...
I'm not using the wxAUI_MGR_MANAGE_DOCUMENT but wxMDI and haven't merged the src/msw/mdi.cpp. But i don't think that this will be the reason for the crash.
- sickboy
- Registered User
- Posts: 7
- Joined: Wed Jun 06, 2007 8:40 am
Re: wxAUInotebook question
Hi,
A few days ago I patched a bad bug in the wx 2.8 branch (as well as the trunk). It fixes a crash with page removing. Your symptoms sound like it could be caused by that bug. Can you get the latest and try your code with that?
Thanks,
Ben
A few days ago I patched a bad bug in the wx 2.8 branch (as well as the trunk). It fixes a crash with page removing. Your symptoms sound like it could be caused by that bug. Can you get the latest and try your code with that?
Thanks,
Ben
Ben Williams
Kirix Support Team
Kirix Support Team
-
Ben - Kirix Support Team
- Posts: 525
- Joined: Mon Dec 19, 2005 6:29 am
Re: wxAUInotebook question
Hi,
If I were to date my changes, which version would you recommend I do it against?
A CVS checkout (HEAD?), or last stable or something else.
Huge
If I were to date my changes, which version would you recommend I do it against?
A CVS checkout (HEAD?), or last stable or something else.
Huge
- Huge
- Registered User
- Posts: 25
- Joined: Thu Dec 28, 2006 1:12 am
Re: wxAUInotebook question
Huge wrote:A CVS checkout (HEAD?), or last stable or something else.
If I were you, I would make a patch against SVN TRUNK, and also check it against WX_2_8_BRANCH.
This way your code (hopefully) will be taken up into the future release tree, but also can be applied to the current release branch.
If I read the code correctly, the patch generated against TRUNK should also correctly alter WX_2_8_BRANCH.
Mal
- NinjaNL
- Registered User
- Posts: 40
- Joined: Thu Jun 14, 2007 6:53 am
Re: wxAUInotebook question
Huge wrote:Hi,
If I were to date my changes, which version would you recommend I do it against?
A CVS checkout (HEAD?), or last stable or something else.
Simply get the latest 2.8 branch. Either that, or the change will be integrated in wxWidgets 2.8.5 (I don't know when this release is due).
CVS is no longer used for wxWidgets development, so you'll need to install subversion.
Once you've installed subverison, simply install run this command:
- Code: Select all
svn co https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH/ wxWidgets
-
Ben - Kirix Support Team
- Posts: 525
- Joined: Mon Dec 19, 2005 6:29 am
Re: wxAUInotebook question
Hi all,
I have updated the code to match the latest code on the branch.
I have also added the ability to specify an icon for a pane - this will show up in the frame or the notebook, as required. I have submitted the MDI code as a separate patch - if you are interested I can provide more details. You will need to comment out a line in the sample code if you do not get this patch.
Get it here: http://gamemosaic.com/auimod/index.html
I have updated the code to match the latest code on the branch.
I have also added the ability to specify an icon for a pane - this will show up in the frame or the notebook, as required. I have submitted the MDI code as a separate patch - if you are interested I can provide more details. You will need to comment out a line in the sample code if you do not get this patch.
Get it here: http://gamemosaic.com/auimod/index.html
- Huge
- Registered User
- Posts: 25
- Joined: Thu Dec 28, 2006 1:12 am
Re: wxAUInotebook question
So Ben, are there any plans to incorporate these changes into the HEAD?
I guess that it would make sense.
Thanks
I guess that it would make sense.
Thanks
- NinjaNL
- Registered User
- Posts: 40
- Joined: Thu Jun 14, 2007 6:53 am
Re: wxAUInotebook question
Hi there,
We definitely want these abilities incorporated into the library. However, we need the ability to have them fully integrated into the existing functionality of the library, i.e. they need to be able to be saved and loaded as perspectives.
Please let me know if I'm wrong about this.
All the best,
Ben
We definitely want these abilities incorporated into the library. However, we need the ability to have them fully integrated into the existing functionality of the library, i.e. they need to be able to be saved and loaded as perspectives.
Please let me know if I'm wrong about this.
All the best,
Ben
Ben Williams
Kirix Support Team
Kirix Support Team
-
Ben - Kirix Support Team
- Posts: 525
- Joined: Mon Dec 19, 2005 6:29 am
Re: wxAUInotebook question
Hi,
These changes are "mostly" compatible with the load/save perspective.
The load/save certainly works well enough to use in a production application,
the main issue is to do with tab-order, but this can be seen more like a bug
fix than an architectural change requirement. You can check out the
"Load/Save Layout" menu options on the demo to see if these meet your requirements.
I don't think you need to load/save the icon because the icon can be linked at
window creation time, and need not change.
I would like to see these incoprorated, since it would make bug-fixing and improvements
easier.
Huge.
These changes are "mostly" compatible with the load/save perspective.
The load/save certainly works well enough to use in a production application,
the main issue is to do with tab-order, but this can be seen more like a bug
fix than an architectural change requirement. You can check out the
"Load/Save Layout" menu options on the demo to see if these meet your requirements.
I don't think you need to load/save the icon because the icon can be linked at
window creation time, and need not change.
I would like to see these incoprorated, since it would make bug-fixing and improvements
easier.
Huge.
- Huge
- Registered User
- Posts: 25
- Joined: Thu Dec 28, 2006 1:12 am
Re: wxAUInotebook question
Hey Huge,
Ok-- sounds great, I'll check it out.
Thanks,
Ben
Ok-- sounds great, I'll check it out.
Thanks,
Ben
Ben Williams
Kirix Support Team
Kirix Support Team
-
Ben - Kirix Support Team
- Posts: 525
- Joined: Mon Dec 19, 2005 6:29 am
Re: wxAUInotebook question
Any idea how to make the MinSize/MaxSize work again, Huge ?
- sickboy
- Registered User
- Posts: 7
- Joined: Wed Jun 06, 2007 8:40 am
Re: wxAUInotebook question
On the notebooks?
Well, that would require me to implement it
My main problem was for a notebook, how to combine the min/max sizes?
Obviously it may not be possible to satisfy all constraints, but I'm open to ideas.
Or is it that the pane "loses" some info when it goes in and out of a notebook?
That should certainly be fixed.
Huge
Well, that would require me to implement it
My main problem was for a notebook, how to combine the min/max sizes?
Obviously it may not be possible to satisfy all constraints, but I'm open to ideas.
Or is it that the pane "loses" some info when it goes in and out of a notebook?
That should certainly be fixed.
Huge
sickboy wrote:Any idea how to make the MinSize/MaxSize work again, Huge ?
- Huge
- Registered User
- Posts: 25
- Joined: Thu Dec 28, 2006 1:12 am
Re: wxAUInotebook question
Hi,
I'm greatly interseted in this patch, however I can't found it on the wxwidgets patch page and I didn't saw corresponding svn updates.
May somebody point me in the right direction, please.
Thanx for all.
Pascal
I'm greatly interseted in this patch, however I can't found it on the wxwidgets patch page and I didn't saw corresponding svn updates.
May somebody point me in the right direction, please.
Thanx for all.
Pascal
- phi
- Registered User
- Posts: 2
- Joined: Mon May 19, 2008 2:28 am
Re: wxAUInotebook question
This hasn't yet been officially incorporated into wxAUI. I believe you can get the latest patch here:
http://gamemosaic.com/auimod/index.html
http://gamemosaic.com/auimod/index.html
Ken Kaczmarek
Kirix Support Team
Kirix Support Team
-
Ken - Kirix Support Team
- Posts: 147
- Joined: Mon Dec 19, 2005 10:36 am
Re: wxAUInotebook question
Hi,
I should warn you that I have pretty much stopped work on this project.
The decision was hard, but the logic goes like this:
1. wxAUI layout is based on laying out windows, not objects such as "window groups"
2. wxAUI will not accept a patch that uses child windows in place of objects
therefore,
-> wxAUI will not allow objects such as "window groups" to be laid out heirarchically - all the positions must be marshalled from the central, Manager, location, and all changes must be made through it too.
Changing the manager to this extent would require new data structures and changes I do not really want to make. It would be easier to relax point 1. (the "proper" way to do it), or point 2. (the "easy" way to do it, as is done by this patch). Anything else, IMHO, is just too hard.
The irony is, that the current recommend way around this is to "Just create and extra notebook - for layout purposes - but since it is you doing it, it does not violate our 'no extra window' policy, even it it is a bit more work"
Huge
I should warn you that I have pretty much stopped work on this project.
The decision was hard, but the logic goes like this:
1. wxAUI layout is based on laying out windows, not objects such as "window groups"
2. wxAUI will not accept a patch that uses child windows in place of objects
therefore,
-> wxAUI will not allow objects such as "window groups" to be laid out heirarchically - all the positions must be marshalled from the central, Manager, location, and all changes must be made through it too.
Changing the manager to this extent would require new data structures and changes I do not really want to make. It would be easier to relax point 1. (the "proper" way to do it), or point 2. (the "easy" way to do it, as is done by this patch). Anything else, IMHO, is just too hard.
The irony is, that the current recommend way around this is to "Just create and extra notebook - for layout purposes - but since it is you doing it, it does not violate our 'no extra window' policy, even it it is a bit more work"
Huge
- Huge
- Registered User
- Posts: 25
- Joined: Thu Dec 28, 2006 1:12 am
Re: wxAUInotebook question
Thanx for these informations,
I already started the port of your code for an integration into the 2.8 branch (currently against the 2.8.7 stable release).
I removed everything that was related to document handling, MDI (the 2.8 branch already has another MDI handling), and also full frame for floating frames. So I left only the bare minimum for auto-creation of notebook panes and handling of drap-n-drop with center drop.
There are no changes to auibook.cpp, little change to floatpane.cpp and some changes to framemanager.cpp.
The current load/save perspective code correctly handles persistance (as you've done in your code).
I still have to investigate a bug near notebook destruction time.
What should I do to have a chance the patch being accepted? I don't really catch those conceptual views about hierarchical window layout or not. Ben, What are the current concerns about the philosophy of Aui knowing that the changes will be source compatible with older code?
Thanx.
Pascal
I already started the port of your code for an integration into the 2.8 branch (currently against the 2.8.7 stable release).
I removed everything that was related to document handling, MDI (the 2.8 branch already has another MDI handling), and also full frame for floating frames. So I left only the bare minimum for auto-creation of notebook panes and handling of drap-n-drop with center drop.
There are no changes to auibook.cpp, little change to floatpane.cpp and some changes to framemanager.cpp.
The current load/save perspective code correctly handles persistance (as you've done in your code).
I still have to investigate a bug near notebook destruction time.
What should I do to have a chance the patch being accepted? I don't really catch those conceptual views about hierarchical window layout or not. Ben, What are the current concerns about the philosophy of Aui knowing that the changes will be source compatible with older code?
Thanx.
Pascal
- phi
- Registered User
- Posts: 2
- Joined: Mon May 19, 2008 2:28 am
42 posts
· Page 1 of 2 · 1, 2
Return to wxAUI Questions, Thoughts & Feedback