scriptkid wrote:Maybe you can come up with something generic, usefull for the tools?
http://www.cegui.org.uk/phpBB2/viewtopic.php?t=2679So that a Project can also contain a bunch of layout file paths, looknfeels and such. Like a complete solution. Then Project can be a base-class in the tools layers. Just some thoughts
im not quite sure what you are suggesting -- could you give me an example context in which something like that might be used, so i can better understand?
if im thinking this through correctly, this would be something specific to cegui external tools? so, for instance, you create a Project object, and then call methods on this object in order to set project options? the Project class will be responsible for loading/saving your project data.
so basically, the Project file/class would be responsible for:
- Managing resource directories
- -- define a base directory (Project Home Directory)
- -- add directories that are relative to this directory
- ---- not sure how to go about preventing clashes when working on a project with multiple schemes, layouts etc.
- Managing individual project files
- -- list of .scheme files
- ---- edit with scheme editor
- -- list of .layout files
- ---- edit with layout editor (CELayoutEditor)
- -- list of .looknfeel files (although can a project actually have more than one of these? i guess you could keep this list, and switch looknfeels in the tool?)
- ---- edit with looknfeel editor
- -- list of .imageset files
- ---- edit with imagset editor (CEImagesetEditor)
- -- list of .tga, .png images for imageset files
- ---- possibly edit with an image editor
- -- ability to associate a image file with an imageset by mapping in the tool with some sort of interface.
- -- abilitiy to set default .scheme from a list of schemes, and tools to construct scheme files from available resources in the project.
- ... not sure what else ...
this is sort of off the top of my head.
another though im having is it would be nice to have a project explorer widget similar to the Solution Explorer in visual studio. here we have a hierarchy of our project -- Imagesets, Layouts, LookNFeels, Schemes, Images, etc. when accessing something in our project explorer, a tool for editing it could be created and given its own tab.
you could even then have a "Build Project" command. i could see this as compiling together any resources selected in the project explorer, setting up a project directory (if one doesnt exist), setting the resource manager on the fly, then even rendering it in a window for you to preview.
No matter where you go, there you are.