Tree controls
Moderators: CEGUI MVP, CEGUI Team
- CrazyEddie
- CEGUI Project Lead
- Posts: 6760
- Joined: Wed Jan 12, 2005 12:06
- Location: England
- Contact:
Re: Tree controls
Hi,
First let me say that this decision has been a very hard one to make. I have been torn between wanting to include the widget, but also being aware of a paradigm shift for list based widgets in what will become 0.5.0 next year.
So, basically, the decision is that the TreeView will not go into CVS in it's current state. However, please let me emphasise that this is not a reflection on the quality of this widget; the code for the TreeView is of high quality. The decision is based purely on the fact that all list based widgets are being moved to a system where Window based objects are used for the list content; the old types of widgets are being deprecated (and renamed, IIRC). I mulled over the possibility of including the widget in 0.4.1, but this would basically mean deprecating or removing it again in the very next release - which would be a bad thing IMO.
What it would be possible to do, is turn this implementation of the TreeView into an external widget module. So, users could load it with a scheme file, and use it as they would any other widget, although it would live in it's own DLL module. This would also serve as a great example of how to achieve such extensions and could have an accompanying tutorial on the Wiki - if DrPain (or anyone else) is interested in taking this route, we would be willing to host the code as a cegui add-on project, we would also be able to advise on how to go about creating such an external widget.
By the time that 0.5.0 is released in 2006, either DrPain or one of the cegui devs should re-code the TreeView widget to use the same window based approach as the new list widgets (which Lindquist should be committing to CVS HEAD soon, so look at those for guidance once they're in). In the case that the TreeView is changed to use the same pattern as the other lists, it will definitely go into the core system.
I've tried very hard to make this decision in the best long-term interests of CEGUI and it's users. Please do not consider it a slight on the quality of the widget, which three or four months ago would have gone straight into the system.
CE.
First let me say that this decision has been a very hard one to make. I have been torn between wanting to include the widget, but also being aware of a paradigm shift for list based widgets in what will become 0.5.0 next year.
So, basically, the decision is that the TreeView will not go into CVS in it's current state. However, please let me emphasise that this is not a reflection on the quality of this widget; the code for the TreeView is of high quality. The decision is based purely on the fact that all list based widgets are being moved to a system where Window based objects are used for the list content; the old types of widgets are being deprecated (and renamed, IIRC). I mulled over the possibility of including the widget in 0.4.1, but this would basically mean deprecating or removing it again in the very next release - which would be a bad thing IMO.
What it would be possible to do, is turn this implementation of the TreeView into an external widget module. So, users could load it with a scheme file, and use it as they would any other widget, although it would live in it's own DLL module. This would also serve as a great example of how to achieve such extensions and could have an accompanying tutorial on the Wiki - if DrPain (or anyone else) is interested in taking this route, we would be willing to host the code as a cegui add-on project, we would also be able to advise on how to go about creating such an external widget.
By the time that 0.5.0 is released in 2006, either DrPain or one of the cegui devs should re-code the TreeView widget to use the same window based approach as the new list widgets (which Lindquist should be committing to CVS HEAD soon, so look at those for guidance once they're in). In the case that the TreeView is changed to use the same pattern as the other lists, it will definitely go into the core system.
I've tried very hard to make this decision in the best long-term interests of CEGUI and it's users. Please do not consider it a slight on the quality of the widget, which three or four months ago would have gone straight into the system.
CE.
- spannerman
- Home away from home
- Posts: 330
- Joined: Wed Jan 12, 2005 12:06
Re: Tree controls
Well thats a shame, but of course your reasoning sounds completely fair enough. Im sure Dr Pain will not take it personally.
The addon project sounds good, but perhaps a little too much work for the sake of just one extra widget?
Hmm that sounds like the best route in my humble opinion. Of course, this control is Dr Pains Baby...the decision is his. However, I would imagine that since Lindquist might be commiting the new list-based widgets soon to CVS, work can then commence to rebuild the tree view following the new design.
The reason why Im interested in this going into CVS is because I am helping someone convert their OGRE project to use CEGUI. The project is also going to be opensource and available to the public, so naturally I want to only include widgets that other people can get the latest version straight from CVS and build themselves with little hassle. Hence my initial hesitation to use this widget.
I would love to hear Dr Pains opinion on the future of his tree view widget. I will certainly be willing to help to do any testing or even coding before a patch is submitted, if that is the route he decides to take. Im not confident to do this myself, but if I have to I will.
The addon project sounds good, but perhaps a little too much work for the sake of just one extra widget?
By the time that 0.5.0 is released in 2006, either DrPain or one of the cegui devs should re-code the TreeView widget to use the same window based approach as the new list widgets (which Lindquist should be committing to CVS HEAD soon, so look at those for guidance once they're in). In the case that the TreeView is changed to use the same pattern as the other lists, it will definitely go into the core system.
Hmm that sounds like the best route in my humble opinion. Of course, this control is Dr Pains Baby...the decision is his. However, I would imagine that since Lindquist might be commiting the new list-based widgets soon to CVS, work can then commence to rebuild the tree view following the new design.
The reason why Im interested in this going into CVS is because I am helping someone convert their OGRE project to use CEGUI. The project is also going to be opensource and available to the public, so naturally I want to only include widgets that other people can get the latest version straight from CVS and build themselves with little hassle. Hence my initial hesitation to use this widget.
I would love to hear Dr Pains opinion on the future of his tree view widget. I will certainly be willing to help to do any testing or even coding before a patch is submitted, if that is the route he decides to take. Im not confident to do this myself, but if I have to I will.
Re: Tree controls
Well, at this point, I really know nothing about the new format for the list controls. Is any information available on this? I briefly browsed through the forums but didn't find anything.
I'd certainly like this control to get into CVS, both for selfish reasons (like not having to manually add it to the project every time I update to CVS), and of course to make it easier for everyone else to have access to it.
I think I will reserve my decision as to whether or not I will convert it until after reviewing the new coding style. My widget works for me fine as it is, but if I see that the new style is an improvement, I will make a stab at converting it.
So, shall I start researching this now, or should I wait until 0.5.0 is released? Is the new codebase fairly stable and is it available to start the conversion?
I'd certainly like this control to get into CVS, both for selfish reasons (like not having to manually add it to the project every time I update to CVS), and of course to make it easier for everyone else to have access to it.
I think I will reserve my decision as to whether or not I will convert it until after reviewing the new coding style. My widget works for me fine as it is, but if I see that the new style is an improvement, I will make a stab at converting it.
So, shall I start researching this now, or should I wait until 0.5.0 is released? Is the new codebase fairly stable and is it available to start the conversion?
- CrazyEddie
- CEGUI Project Lead
- Posts: 6760
- Joined: Wed Jan 12, 2005 12:06
- Location: England
- Contact:
Re: Tree controls
Lindquist had total discretion on the way the new lists were implemented; they will be similar to the way menus are implemented, although I have not seen the final implementation. The best bet is to wait until these are in CVS and then look at that code.
I too would like to see the TreeView widget in CVS, and can also understand your own reasons for wanting this to be so
The main advantages of the new style of list widgets is the ability to specify content for them via XML files. And also other advanced possibilities such as adding interactive controls to lists, and so on.
I'd not wait until 0.5.0 is released, since that will be a long-ish wait; as I say, once the new lists are in CVS, take a look at them for clues as to the kind of thing we're doing.
CVS HEAD (which is what 0.5.0 is) is exceptionally unstable. Vast chunks of the code are going to be removed and re-written, breaking everything in the process. If you decide to update the widget yourself, and do not wish to keep up with everyhing that changes, you should take a snapshot of the CVS code, and note down the date - then if you submit the new widget, let us know the date of the code it was made against, and we will be able to perform the required updates. A major thing to consider is that once the widget does get into CVS, we will then update it as required for any further breaking changes we make from that point on.
CE.
I too would like to see the TreeView widget in CVS, and can also understand your own reasons for wanting this to be so
The main advantages of the new style of list widgets is the ability to specify content for them via XML files. And also other advanced possibilities such as adding interactive controls to lists, and so on.
I'd not wait until 0.5.0 is released, since that will be a long-ish wait; as I say, once the new lists are in CVS, take a look at them for clues as to the kind of thing we're doing.
CVS HEAD (which is what 0.5.0 is) is exceptionally unstable. Vast chunks of the code are going to be removed and re-written, breaking everything in the process. If you decide to update the widget yourself, and do not wish to keep up with everyhing that changes, you should take a snapshot of the CVS code, and note down the date - then if you submit the new widget, let us know the date of the code it was made against, and we will be able to perform the required updates. A major thing to consider is that once the widget does get into CVS, we will then update it as required for any further breaking changes we make from that point on.
CE.
- martignasse
- Just can't stay away
- Posts: 227
- Joined: Thu Apr 14, 2005 08:10
- Location: Lyon, FRANCE
Re: Tree controls
hi,
and because the flexibility of CEGUI, surely we'll see other widgets extension in the futur, in addition of the "official base set".
like radar or map or toolpane of whatever...
But a treeview have to be in the "official base set", for sure
and the new list control system will be very powerfull.
it's based on the actual itementry and itemListBase, used in the menu and menuitem of the 0.4 version.
(saw that in a thread but can't remember witch one )
PS :
I'll may be use you'r treeview in my app, DrPain
(definitly want but have to find a use for it )
just to say i like the idea of "external widget module",What it would be possible to do, is turn this implementation of the TreeView into an external widget module. So, users could load it with a scheme file, and use it as they would any other widget, although it would live in it's own DLL module. This would also serve as a great example of how to achieve such extensions and could have an accompanying tutorial on the Wiki - if DrPain (or anyone else) is interested in taking this route, we would be willing to host the code as a cegui add-on project, we would also be able to advise on how to go about creating such an external widget.
and because the flexibility of CEGUI, surely we'll see other widgets extension in the futur, in addition of the "official base set".
like radar or map or toolpane of whatever...
But a treeview have to be in the "official base set", for sure
and the new list control system will be very powerfull.
it's based on the actual itementry and itemListBase, used in the menu and menuitem of the 0.4 version.
(saw that in a thread but can't remember witch one )
PS :
I'll may be use you'r treeview in my app, DrPain
(definitly want but have to find a use for it )
CEGUI Tree view
Hi there,
the tree view screenshot really looks great and I would like to use this for an Ogre scene graph browser.
But I've downloaded the CEGUI_TreeControl_2005-10-24.zip from the link in this thread and it does not work with the CEGUI 0.4.1 source release.
Is this version only for the CVS source?
The problems appear in the FalModule.cpp. I do not have the files like FalDefaultWindow.h, FalDragContainer.h, FalItemEntry.h or FalStatic.h.
And the Macro CEGUI_DEFINE_FACTORY is not defined either.
Am I doing something wrong or is the tree view example for another CEGUI version?
I have been looking at the 0.5.0 release discussions but it seems to me there is still much work to be done and I won't wait to have the new version. and someone still has to migrate the Tree control to 0.5.0.
Any answers will be great!
Thanks,
Benjamin
the tree view screenshot really looks great and I would like to use this for an Ogre scene graph browser.
But I've downloaded the CEGUI_TreeControl_2005-10-24.zip from the link in this thread and it does not work with the CEGUI 0.4.1 source release.
Is this version only for the CVS source?
The problems appear in the FalModule.cpp. I do not have the files like FalDefaultWindow.h, FalDragContainer.h, FalItemEntry.h or FalStatic.h.
And the Macro CEGUI_DEFINE_FACTORY is not defined either.
Am I doing something wrong or is the tree view example for another CEGUI version?
I have been looking at the 0.5.0 release discussions but it seems to me there is still much work to be done and I won't wait to have the new version. and someone still has to migrate the Tree control to 0.5.0.
Any answers will be great!
Thanks,
Benjamin
Sorry for the delay in the reply, I've not been lurking much lately.
The version I used was from CVS around Oct. 1st, 2005.
The only reference to a version in any of the readme's is "CVS 0.5.0" in the file ChangeLog.
If it'll help, and CrazyEddie doesn't object, I can zip up the cegui source directory I use and post it.
The version I used was from CVS around Oct. 1st, 2005.
The only reference to a version in any of the readme's is "CVS 0.5.0" in the file ChangeLog.
If it'll help, and CrazyEddie doesn't object, I can zip up the cegui source directory I use and post it.
I've posted the cegui directory I used. It's 6MB.
http://www.greygames.com/Ogre/cegui_CVS_2005_10_01.zip
http://www.greygames.com/Ogre/cegui_CVS_2005_10_01.zip
Re: Tree controls
[/code]lindquist wrote:yes.. I know. And I should have.
It was the reason for asking about your implementation...
I hope it won't discourage you completely from continuing the good work. It's very nice to see new widgets being developed, which does'nt happen too often.
Maybe you could be talked into creating the "++" version ?
And btw. There has been a little talk about doing a 0.4.1 release. Personally I think this would be a great addition to that. This could make way to include it in 0.5 as well - even though marked deprecated.
treeitem is not window type object,so you use FalagardTreeItemFactory is fail,I add your demo code to my project,they can not work,my base version is 0.4.1,also I update window base class file from cvs.perhaps I have not understand all you said,so could you tell me more??
Tree control is good ,so I perfer to your good work so.
Glad to meet all friends here,I think I can take happy to you all!
Current status on tree view and cegui?
Hi
What is the current status in cegui on tree views?
When where why?
cheers
Lee04
What is the current status in cegui on tree views?
When where why?
cheers
Lee04
- CrazyEddie
- CEGUI Project Lead
- Posts: 6760
- Joined: Wed Jan 12, 2005 12:06
- Location: England
- Contact:
Re: Current status on tree view and cegui?
Lee04 wrote:Hi
What is the current status in cegui on tree views?
When where why?
Treeview will not make the 0.5.x series of releases, they are currently pencilled in for the 0.6.x series (or maybe even a later release). 0.6.0 will debut sometime next year.
CE.
Return to “Offtopic Discussion”
Who is online
Users browsing this forum: No registered users and 3 guests