/** * Update the x-coordinate of an item. The current x value will become the * new starting x value, while the given value will become the new current * x and ending x values. This method also supports an optional referrer * item, whose x coordinate will become the new starting x coordinate * of item if item's current x value is NaN. * @param item the VisualItem to update * @param referrer an optional referrer VisualItem * @param x the x value to set */ public static void setX(VisualItem item, VisualItem referrer, double x) { double sx = item.getX(); if ( Double.isNaN(sx) ) sx = (referrer != null ? referrer.getX() : x); item.setStartX(sx); item.setEndX(x); item.setX(x); }
/** * @see prefuse.controls.Control#itemDragged(prefuse.visual.VisualItem, java.awt.event.MouseEvent) */ public void itemDragged(VisualItem item, MouseEvent e) { if (!SwingUtilities.isLeftMouseButton(e)) return; dragged = true; Display d = (Display)e.getComponent(); d.getAbsoluteCoordinate(e.getPoint(), temp); double dx = temp.getX()-down.getX(); double dy = temp.getY()-down.getY(); double x = item.getX(); double y = item.getY(); item.setStartX(x); item.setStartY(y); item.setX(x+dx); item.setY(y+dy); item.setEndX(x+dx); item.setEndY(y+dy); if ( repaint ) item.getVisualization().repaint(); down.setLocation(temp); if ( action != null ) d.getVisualization().run(action); }
/** * @see prefuse.action.ItemAction#process(prefuse.visual.VisualItem, double) */ public void process(VisualItem item, double frac) { double sx = item.getStartX(); double sy = item.getStartY(); item.setX(sx + frac*(item.getEndX()-sx)); item.setY(sy + frac*(item.getEndY()-sy)); }
protected static void move(VisualItem item, double dx, double dy) { if ( item instanceof AggregateItem ) { Iterator items = ((AggregateItem)item).items(); while ( items.hasNext() ) { move((VisualItem)items.next(), dx, dy); } } else { double x = item.getX(); double y = item.getY(); item.setStartX(x); item.setStartY(y); item.setX(x+dx); item.setY(y+dy); item.setEndX(x+dx); item.setEndY(y+dy); } }
while ( iter.hasNext() ) { VisualItem item = (NodeItem)iter.next(); item.setX(anchor.getX()); item.setY(anchor.getY());
public void run (double frac) { VisualItem item = null; SwimlanesStatePalette pal = new SwimlanesStatePalette(); Iterator<?> curr_group_items = this.m_vis.items(this.m_group); while (curr_group_items.hasNext()) { item = (VisualItem) curr_group_items.next(); double start_time = item.getDouble(START_FIELD_NAME); double finish_time = item.getDouble(END_FIELD_NAME); item.setShape(Constants.POLY_TYPE_LINE); item.setX(0.0); item.setY(0.0); float [] coords = new float[4]; coords[0] = (float) cs.get_x_coord(start_time); coords[1] = (float) cs.get_y_coord((double)item.getInt("ycoord")); coords[2] = (float) cs.get_x_coord(finish_time); coords[3] = (float) cs.get_y_coord((double)item.getInt("ycoord")); item.set(VisualItem.POLYGON,coords); item.setStrokeColor(pal.getColour(item.getString("state_name"))); } } } // SwimlanesStateAction
/** * @see prefuse.action.ItemAction#process(prefuse.visual.VisualItem, double) */ public void process(VisualItem item, double frac) { double v = item.getStartX(); item.setX(v + frac*(item.getEndX()-v)); v = item.getStartY(); item.setY(v + frac*(item.getEndY()-v)); v = item.getDouble(VisualItem.STARTX2); v = v + frac*(item.getDouble(VisualItem.ENDX2)-v); item.setDouble(VisualItem.X2, v); v = item.getDouble(VisualItem.STARTY2); v = v + frac*(item.getDouble(VisualItem.ENDY2)-v); item.setDouble(VisualItem.Y2, v); int c = ColorLib.interp(item.getStartStrokeColor(), item.getEndStrokeColor(), frac); item.setStrokeColor(c); int tc = ColorLib.interp(item.getStartTextColor(), item.getEndTextColor(), frac); item.setTextColor(tc); int fc = ColorLib.interp(item.getStartFillColor(), item.getEndFillColor(), frac); item.setFillColor(fc); }