It's a bit complex to explain without pictures, but I'll try to make it 
clear.

I'm building a diagramming product similar to gModeler 
(http://www.gskinner.com/gmodeler/launch.html).

I have a view that fills 100% of the canvas.  As sub views of this I 
have the symbols in the diagram (you might also call them objects, 
images, elements, or nodes - I call them symbols).

The symbols can be "linked" to each other by lines.

When the symbols or links are selected they show selection knobs (also 
known as handles or indicators).  Each knob is an LzView. There is just 
one set of selection knobs which are re-used for which ever symbol or 
link is selected (since at the moment you can only have one link or 
symbol selected at a time).  These knobs are all sub views of a 
"selection" view that also fills 100% of the canvas and sits on top of 
the symbols and links.

Clicking on a certain type of knob (the linking knob) creates a link 
that tracks with the mouse when the mouse is either up or down.  As the 
mouse moves over a symbol, hot spot knobs show up over the target 
symbol, giving the user feedback as to where their link will connect.

Because I need to track the mouse while it it down, the normal 
onmouseover, onmouseout events don't even reach the views that are under 
the mouse, unless I use <basetrackgroup> (see 
http://www.openlaszlo.org/lps-latest/docs/guide/input-devices.html).  
Unfortunately basetrackgroup only works with it's immediate sub views, 
and ignores sub-sub views.

To make a long story short, it was much simpler to just do my own 
tracking using containsPt rather than design everything so it could be 
an immediate sub view of the basetrackgroup.  If I had done that I'd 
have had to write a lot more code to manage the layering of the sub views.

I'm not sure if this long explanation has given you any enlightenment.  
Just trust me that it would make my life a lot easier to have a way to 
test if a point is within the clickRegion of a given view.

Thanks for your time,

-Jason



Dan Stowell wrote:
>> I'm doing some very complex mouse tracking stuff with complex shapes, 
>> and I can't use the normal onmouse events.
>
> What exactly are you trying to do? I was able to use clickregions and 
> onmouseover, onmouseout, and onclick events on a project several 
> months ago.
>
> Dan
>

-- 
Jason Stafford
Principal Developer
Inspiration Software, Inc.
The leader in visual thinking & learning

Introducing INSPIRATION(r) 8, the essential tool to visualize, think, 
organize and learn. Students use Inspiration to plan, research and 
complete projects successfully. Learn more at www.inspiration.com. 

503-297-3004 Extension 119
503-297-4676 (Fax)
9400 SW Beaverton-Hillsdale Highway
Suite 300
Beaverton, OR 97005-3300

_______________________________________________
Laszlo-dev mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-dev

Reply via email to