As I am approaching the v0.2 release of PyUI2, a release that includes many extensive and wonderful changes, I'm looking at the widgets and other doohickeys with a critical eye.
Much of the change in this release fundamentally alters how the themes and renderers work. In fact, while the themes have had radical surgery, the existing renderers have pretty much been amputated. This has changed how all of the widgets and windows are created and drawn.
Now, there are some things in the system, that need some work before I do a release. However, as I look at some of these widgets and windows, I have to wonder about their usefulness. In some cases, I'd like to dump them altogether, but here's the thing. I don't want to radically break anything that you already have going... unless it is your own theme or renderer implementations, in that case the changes will have messed them up completely, sorry. ;-)
So please tell me what parts of PyUI2 you use, especially if you think they're a bit obscure, so I can make provision for their inclusion in this release.
This is important. If no-one tells me what they are using, then please don't complain if something useful goes missing next build.
It would probably be easier if you list the ones you consider dumping.
I do think most of them would be usefull to keep.
Fair enough. I don't necessarily want to dump all of these either, I'd like to work out if they are important to get fully working in the upcoming release, or if they can wait a bit. Some of the window items don't appear to be complete in anycase, though I haven't had a good enough look yet to be sure.
The modules I am considering dropping or delaying are: ViewPanel, ViewWindow, FormPanel, Desktop3DWindow, AttachedWindow, Html, and the Entry widget.
I'm thinking the Edit widget should have the functionality of the Entry widget. There's no point in having two widgets that do pretty much the same thing. So unless it's important, I'll leave it for the time being and implement it in the Edit next release. Otherwise, I'll fix Entry now, and then reimplement in Edit later.
The html functionality is important, but unless it is being used by anyone, I'll get it working in the next release or two.
Unfortunately I'm on a bit of a clock here as I am getting ready to leave the US for home after being here for two years of contract work. Next week I move out of my apartment for temporary accomodation for a month, then I finish work and take six week holiday before moving back to Australia. So, I want to get a release out the door soon, because if I don't it will be several months before I do, and I don't want to keep everyone hanging.
Sounds reaasonable to drop/delay the ones you listed to me. They can always be work on again later.
Btw, I noticed there are some hardcoded paths in some files (for the icons), I hope you are considering having a config file where one can set the paths or something similar since they differ from install to install.
You say that most of the existing renderers have been 'amputated'. Are you abandoning the interchangeable-renderer model, or are the renderers being reimplemented?
My interest in PyUI2 is fairly dependent on having an OpenGL renderer.
Don't worry, there will be an OpenGL renderer available, both using Pygame and GLUT. Selecting renderers is done in the same way as it is now, by passing the renderer string to the init function.
However, now the interfaces to the renderer are different. I've seperated them into Device and Graphics Contexts (The OpenGL graphics device works with both the Pygame and GLUT Devices.)Also, there are now a bunch of classes available to specify graphics objects like rectangles, lines, circles, and polygons. The new theme system uses these to draw with instead of calling the renderer directly.
It will still be possible to write new renderers for PyUI2 using other systems. For instance, I'm considering writing one for PyOgre at some point. However, new renderers will still need to be incorporated into the PyUI2 framework (pretty much as they did with PyUI1.)
Everything is currently in CVS. If you're interested check out the pyui2/system folder. This contains all the new rendering. Although at this point the OpenGL renderer and GLUT device doesn't work completely, its nearly there and I'm hoping to have that finished and checked in tomorrow.
Also be aware that I'm working on version 0.2 of PyUI2, so even when I release it, not everything will be complete. There's a lot more work necessary before I'll be happy with it.