On Tue, 2008-10-07 at 15:17 -0400, Max Bandazian wrote:
> Hi,

Hello! This is all mostly good stuff, but the diff I'm generating based
on your files is over 6000 lines long. I know for sure there aren't that
many changes--it has mostly to do with indentation inconsistencies with
what is in SVN and what you worked against.

Is there any way you could submit just the output of "svn diff"?
Otherwise, I will try and integrate as much as I can pick out, but no
promises. :)

> I've been using osgWidget quite a bit, and run into a few issues. The
> attached code addresses some of them. Here's a quick list:
> 
> 
> - Windows can't live in more than one window manager

This was by design. I knew it would be something people needed though,
so I tried to make it easy to clone windows using the now OSG integrated
osg::clone() template function. I could be wrong though, can you tell me
a bit more why you'd want this?

> - Mouse buttons don't work right (left vs. right click etc.)

This has always worked for me using WindowManager::getMouseKeysDown(),
along with a number of other methods such isLeftMouseButtonDown(). Is
this not the case for you?

> - Mouse events don't have modifiers (alt, shift, etc.) associated with
> them

Well, true--but this is a keyboard event, and those events are generated
separately by a different (and optional) EventHandler object. I
certainly see the need for this, but it couldn't be information passed
with every mouse event. Similar to mouse events, it would need to be
something queried from the WindowManager object.

(Something to remember here is that osgWidget is made to be
event-agnostic, and I've been able to get it working just fine by
feeding it events from SDL--not just the ones detected by the
EventHandler objects included by default.)

> - WindowManager::childRemoved misinterprets its second parameter (it's
> # children removed, not end index)

Whoops, good catch here. :)

> - Layers seem to be global across all windows, so it seems impossible
> to use layers within two windows and then have all of one window draw
> on top of the other

Can you explain this a bit more? The resultant z value assocated with
the Layer setting is calculated during Window::update(), and should be
transformed by the Window's Z value--which is set by it's WindowManager.
I will try and test this more, but I'm not entirely sure I follow...

> - Due to some use of private scope and friend classes, it is
> impossible to subclass things to deal with the limitations/bugs from
> outside osgWidget
> 
> 
> In the attached code, I have added a keyMask parameter to all mouse
> events, so things like shift+clicking for selecting a group of widgets
> are possible. I've also fixed the childRemoved function.  Adding the
> keyMask parameter broke a few examples that relied on overriding
> functions from EventInterface, so I updated those as well and they are
> included in the attached archive. IMHO the changes are pretty
> essential to using osgWidget for making a gui, so I hope this stuff
> can make it into an OSG release at some point.
> 
> 
> I've fixed the rest of the issues above in a way that works fine for
> what I'm doing with osgWidget, but some of the fixes break various
> pieces of osgWidget that I don't use. I'm working on getting
> everything playing nicely together, and I'll make further incremental
> submissions as that happens.

Thanks a ton. :) osgWidget is my baby, and I'm willing to do whatever it
takes to make it a respectable piece of OSG.

In the future, you might want to use my osgWidget branch, which I try
and keep up-to-date with trunk as often as possible. It'll always have
the latest osgWidget codestuffs however, and will make any submissions
that much easier to deal with. :)

> Thanks,
> Max Bandazian
> _______________________________________________
> osg-submissions mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to