From: Tom N. <tho...@gm...> - 2008-04-26 23:30:12
|
I suppose you could insert code into the picking plugin so that, if the Layout is an IterativeContext, get the Relaxer from the VisualizationModel, and pause or stop it until the mouse is released... I don't think that the Layout itself should have any knowledge of picking going on in some visual component. Tom Nelson On Sat, Apr 26, 2008 at 6:21 PM, Martin B. Smith <ma...@be...> wrote: > Nevermind -- it looks like the demo apps have the same behavior with the > mouse. When I'm dragging and I stay still for a moment, the two Spring > layouts in JUNG also move the node away. I guess I just didn't like the > behavior :) > > Thanks again for the responses, > > Martin > > > > -----Original Message----- > > From: jun...@li... > > [mailto:jun...@li...] On Behalf > > Of Martin B. Smith > > Sent: Saturday, April 26, 2008 6:15 PM > > To: jm...@ic... > > Cc: jun...@li... > > > > Subject: Re: [Jung-support] More layout implementation questions > > > > Hi Josh, > > > > Thanks for your reply. > > > > > > - How do I know when a node is being dragged and when it is > > > > released? I implement setLocation() correctly, but when someone > > > > drags a node, my layout moves it before they stop the > > drag, making > > > > the mouse lose sync with the node. Right now, I've > > decided to lock > > > > any node being modified outside the layout, but I'd like to > > > let them ago again once they finish being dragged. > > > > > > To find out when a vertex is being moved around (and in > > particular to > > > get notified when it's released), take a look at the GraphMouse > > > plugins. You'll want to listen to the mouseReleased event, I think. > > > Also, of course, take a look at our various sample apps. > > > > I'm making a layout though, not an application, and for some > > reason my layout does get asked to lock nodes if they are > > being dragged. I didn't think that was the layout's > > responsibility. I had browsed through some of the layouts, > > but I didn't see anything in something like SpringLayout that > > watched for mouse events. > > > > Is the layout the right place to notice a node drag and lock > > the node? My layout keeps moving the node during the drag =/. > > Maybe a visualization viewer is supposed to be locking nodes > > during a drag, but I'm not seeing that. And I don't see any > > mouse handling in other layouts. > > > > > > - Is there any easier to find out a new node/edge was > > added or an > > > > old node/edge was removed? It seems like the current > > > method is just > > > > to 'be surprised' when I find new vertexes and edges. > > > Unfortunately, > > > > my layout adds some extra repulsion forces to anything not > > > attached > > > > by a spring. This quickly becomes a headache to re-compute > > > all those > > > > every time I notice a vertex, and my other option is to > > > add even more > > > > state to the layout. I'd love an interface or some way to get > > > > notified of exactly what changes were made. > > > > > > There's a decorator that you can wrap your graph with that notifies > > > you of changes. > > > > > > Identifying those vertices that aren't attached to anything > > should be > > > easy enough; just ask each vertex what its degree is. Or is there > > > something else you're trying to do that I don't understand? > > > > I guess I'm just being lazy -- I can implement it correctly, > > but it's some extra work and I was hoping for a way out like > > having AbstractLayout handle it for me :) > > > > Thanks, > > > > Martin > > > > > > -------------------------------------------------------------- > > ----------- > > This SF.net email is sponsored by the 2008 JavaOne(SM) > > Conference Don't miss this year's exciting event. There's > > still time to save $100. > > Use priority code J8TL2D2. > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java > > .sun.com/javaone > > _______________________________________________ > > Jung-support mailing list > > Jun...@li... > > https://lists.sourceforge.net/lists/listinfo/jung-support > > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Jung-support mailing list > Jun...@li... > https://lists.sourceforge.net/lists/listinfo/jung-support > |