On Thu, 2009-10-22 at 15:10 -0400, Jean-Sébastien Guay wrote: > Hi Jeremy, > > Great to see you back here! > > > I will be undergoing a bone marrow transplant here in the next 3 weeks, > > That's great news! I really hope it goes well for you and that you > recover quickly. > > > I know that osgWidget has been around for a while now, but I'm not > > entirely sure people are actually using it yet. > > Yes, some of us are using it. There are occasional questions on the > list/forum, and I know I (for one) have submitted a few fixes for small > bugs. > > > I'd like to try and come > > back and start hacking at this again, so I'm what I'm looking for are > > any comments people might have or complaints that may have surfaced > > while I was away. > > Well, I have a few comments, and I'll probably have a few more later if > I can get some more work into one of my pet projects that uses it. :-) > > For now, the major comment I have is: why oh why are the argument names > omitted from the method declarations in the headers? If all you have to > work with is the headers, figuring out what you should pass as arguments > to a function like > > bool setImage (osg::Image *, bool=false, bool=false) > > can be hard. What are those two bools? Plus, they appear that way in the > doxygen documentation too... See > > http://www.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/a01066.html > > I know it'll be a painful task to go and put the argument names back, > but I think it has to be done... > > Other than that, it works well. If I remember well, I found the > interface for creating a window from a theme a bit weird, but I don't > remember exactly what I found weird, so I'll have to get back to you on > that. > > > I have lots of good ideas, but I will basically be rewriting and > > SUBSTANTIALLY simplifying osgWidget to be a bare minimum and flexible > > NodeKit for doing the basic UI stuff (supporting 3D). Then, I'll add > > another layer on top (which will not be in C++, but instead in Lua) that > > will do most of what osgWidget currently does, since no one really wants > > to write UI code in C++ anymore. It's really, really dated and Lua is so > > small, sandboxed, and efficient there's truly no excuse not to use > > it. :) > > I would recommend, instead of removing the C++ code, why not just wrap > it (basically exposing it to Lua) instead? Then you have the best of > both worlds. People who want to do GUI in C++ (and there are some cases > where it's desirable) can still do so. > > One of the hardest things when designing an API is that you need to keep > in mind that people will want to use it in different ways. So even if in > your projects you would much rather use Lua exclusively for your GUI > code, other people will want to use it from C++ since they're used to > using OSG that way, and your API needs to cater to both.
I totally understand where you're coming from here--and indeed, there would have to be SOME low-level interface in C++ to build off of--but the bottom line is, you simply can't (or rather, I can't) build sophisticated, intelligent, and easy-to-use containers and GUI logic in C++ without it becoming unimaginably huge and unwieldy. :( I'll definitely keep what you said in mind though. Perhaps prototyping it in Lua first will make it a lot easier to go back in C++ and do it "right"... > Note that I've diplomatically avoided saying what language I'd prefer to > code my own GUIs in. Honestly, if I can build the Lua support easily on > all platforms, I don't really care, but others will feel differently. > > > Anyway, I'm glad to have some of my motivation back. :) With the > > transplant happening soon and a fairly decent chance of it being > > successful, there is much to be optimistic about! > > Excellent! Good to hear from you, and I'm glad you've got a better > outlook on life now! > > J-S _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

