y.view
Class HitInfo

java.lang.Object
  extended by y.view.HitInfo

public class HitInfo
extends Object

A class that collects hit information for elements of a Graph2D.

It can be used in ViewMode objects to initiate a certain behavior after a certain graph element was hit by a mouse pointer.

The hit test order can be specified by providing an appropriate Iterator for a Graph2D's elements. If no such Iterator is given, the hit test on nodes is performed in the order defined by HierarchyManager.postTraversal() for hierarchically grouped graphs and in the inherent order defined by Graph.nodes() otherwise.

 
Your browser does not support SVG content.

Field Summary
static int BEND
          Type specifier for bends used to declare the order of search precedence.
static int EDGE
          Type specifier for edges used to declare the order of search precedence.
static int ELABEL
          Type specifier for edge labels used to declare the order of search precedence.
static int NLABEL
          Type specifier for node labels used to declare the order of search precedence.
static int NODE
          Type specifier for nodes used to declare the order of search precedence.
static int PORT
          Type specifier for ports used to declare the order of search precedence.
 
Constructor Summary
protected HitInfo()
          Constructs a new HitInfo with no associated hits.
  HitInfo(Graph2D graph, double x, double y, boolean firstHitOnly)
          Deprecated.  
  HitInfo(Graph2D graph, double x, double y, boolean firstHitOnly, int p1, int p2, int p3, int p4, int p5, int p6)
          Deprecated.  
  HitInfo(Graph2D graph, double x, double y, int type)
          Deprecated.  
  HitInfo(Graph2D graph, double x, double y, int type, boolean firstHitOnly)
          Deprecated.  
  HitInfo(Graph2D graph, Iterator elements, double x, double y, boolean firstHitOnly)
          Constructs a new HitInfo for the elements of the specified Graph2D.
  HitInfo(Graph2D graph, Iterator elements, double x, double y, boolean firstHitOnly, int p1, int p2, int p3, int p4, int p5, int p6)
          Constructs a new HitInfo for the elements of the specified Graph2D.
  HitInfo(Graph2DView view, double x, double y, boolean firstHitOnly)
          Constructs a new HitInfo for the graph elements associated to the specified Graph2DView.
  HitInfo(Graph2DView view, double x, double y, boolean firstHitOnly, int type)
          Constructs a new HitInfo for the graph elements associated to the specified Graph2DView.
  HitInfo(Graph2DView view, double x, double y, boolean firstHitOnly, int p1, int p2, int p3, int p4, int p5, int p6)
          Constructs a new HitInfo for the graph elements associated to the specified Graph2DView.
 
Method Summary
protected  void addHitBend(Bend bend)
          Adds the specified Bend as a confirmed hit for this HitInfo.
protected  void addHitEdge(Edge edge)
          Adds the specified Edge as a confirmed hit for this HitInfo.
protected  void addHitEdgeLabel(EdgeLabel label)
          Adds the specified EdgeLabel as a confirmed hit for this HitInfo.
protected  void addHitNode(Node node)
          Adds the specified Node as a confirmed hit for this HitInfo.
protected  void addHitNodeLabel(NodeLabel label)
          Adds the specified NodeLabel as a confirmed hit for this HitInfo.
protected  void addHitPort(Port port)
          Adds the specified Port as a confirmed hit for this HitInfo.
 Bend getHitBend()
          Returns the first bend that was hit or null if none were hit.
 Edge getHitEdge()
          Returns the first edge that was hit or null if none were hit.
 EdgeLabel getHitEdgeLabel()
          Returns the first edge label that was hit or null if none were hit.
 Node getHitNode()
          Returns the first node that was hit or null if none were hit.
 NodeLabel getHitNodeLabel()
          Returns the first node label that was hit or null if none were hit.
 Port getHitPort()
          Returns the first port that was hit or null if none were hit.
 boolean hasHitBends()
          Whether or not a bend was hit.
 boolean hasHitEdgeLabels()
          Whether or not an edge label was hit.
 boolean hasHitEdges()
          Whether or not an edge was hit.
 boolean hasHitNodeLabels()
          Whether or not a node label was hit.
 boolean hasHitNodes()
          Whether or not a node was hit.
 boolean hasHitPorts()
          Whether or not a port was hit.
 boolean hasHits()
          Returns whether or not something was hit.
 boolean hasMultiHits()
          Returns whether or not more than one element was hit.
 YCursor hitBends()
          Returns a cursor that grants access to all hit bends.
 YCursor hitEdgeLabels()
          Returns a cursor that grants access to all hit edge labels.
 YCursor hitEdges()
          Returns a cursor that grants access to all hit edges.
 YCursor hitNodeLabels()
          Returns a cursor that grants access to all hit node labels.
 YCursor hitNodes()
          Returns a cursor that grants access to all hit nodes.
 YCursor hitPorts()
          Returns a cursor that grants access to all hit ports
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PORT

public static final int PORT
Type specifier for ports used to declare the order of search precedence.

See Also:
HitInfo(Graph2D, double, double, boolean, int, int, int, int, int, int), Constant Field Values

BEND

public static final int BEND
Type specifier for bends used to declare the order of search precedence.

See Also:
Constant Field Values

ELABEL

public static final int ELABEL
Type specifier for edge labels used to declare the order of search precedence.

See Also:
Constant Field Values

EDGE

public static final int EDGE
Type specifier for edges used to declare the order of search precedence.

See Also:
Constant Field Values

NODE

public static final int NODE
Type specifier for nodes used to declare the order of search precedence.

See Also:
Constant Field Values

NLABEL

public static final int NLABEL
Type specifier for node labels used to declare the order of search precedence.

See Also:
Constant Field Values
Constructor Detail

HitInfo

public HitInfo(Graph2D graph,
               double x,
               double y,
               boolean firstHitOnly)
Deprecated. 

Creates a new HitInfo object for the given graph. The HitInfo takes the given coordinate and collects all graph elements that are hit by this coordinate. The value of firstHitOnly determines if the hit test should stop or continue after one element has been hit.

In case firstHitOnly is true, then it is important to know the hit test ordering, which is first ports, then nodes, then bends, then edge labels, then edges, then nodes, then node labels.


HitInfo

public HitInfo(Graph2D graph,
               double x,
               double y,
               int type)
Deprecated. 

Creates a new HitInfo object for the given graph. The HitInfo takes the given coordinate and collects the graph elements of the specified type that are hit by this coordinate.


HitInfo

public HitInfo(Graph2D graph,
               double x,
               double y,
               int type,
               boolean firstHitOnly)
Deprecated. 

Creates a new HitInfo object for the given graph. The HitInfo takes the given coordinate and collects the graph elements of the specified type that are hit by this coordinate. The value of firstHitOnly determines if the hit test should stop or continue after one element has been hit.


HitInfo

public HitInfo(Graph2D graph,
               double x,
               double y,
               boolean firstHitOnly,
               int p1,
               int p2,
               int p3,
               int p4,
               int p5,
               int p6)
Deprecated. 

Creates a new HitInfo object for the given graph. The HitInfo takes the given coordinate and collects all graph elements that are hit by this coordinate. The value of firstHitOnly determines if the hit test should stop or continue after one element was hit.

In case firstHitOnly is true, then it is important to know the hit test ordering, which can be specified by the parameters p1 to p6 where p1 identifies the objects of highest precedence and p6 the objects of lowest precedence. The parameters p1 to p6 must be a permutation of the type specifiers PORT, BEND, ELABEL, EDGE, NODE, NLABEL. By default the precedence is first ports, then bends, then edge labels, then edges, then nodes, then node labels.


HitInfo

public HitInfo(Graph2DView view,
               double x,
               double y,
               boolean firstHitOnly,
               int type)
Constructs a new HitInfo for the graph elements associated to the specified Graph2DView. If the specified Graph2DView's associated Graph2DRenderer is of type OrderRenderer the lastToFirst method of the OrderRenderer's currently appropriate painting order is used to determine the test order of the graph elements.

Parameters:
view - the Graph2DView whose associated graph elements are tested.
x - the x-coordinate of this hit test.
y - the y-coordinate of this hit test.
firstHitOnly - if true, only the first element hit at the specified coordinates is reported as a hit.
type - the element type to be tested.

HitInfo

public HitInfo(Graph2DView view,
               double x,
               double y,
               boolean firstHitOnly,
               int p1,
               int p2,
               int p3,
               int p4,
               int p5,
               int p6)
Constructs a new HitInfo for the graph elements associated to the specified Graph2DView. If the specified Graph2DView's associated Graph2DRenderer is of type OrderRenderer the lastToFirst method of the OrderRenderer's currently appropriate painting order is used to determine the test order of the graph elements.

Parameters:
view - the Graph2DView whose associated graph elements are tested.
x - the x-coordinate of this hit test.
y - the y-coordinate of this hit test.
firstHitOnly - if true, only the first element hit at the specified coordinates is reported as a hit.
p1 - element type with the highest precedence for this hit test.
p2 - element type with the second highest precedence for this hit test.
p3 - element type with the third highest precedence for this hit test.
p4 - element type with the third lowest precedence for this hit test.
p5 - element type with the second lowest precedence for this hit test.
p6 - element type with the lowest precedence for this hit test.

HitInfo

public HitInfo(Graph2DView view,
               double x,
               double y,
               boolean firstHitOnly)
Constructs a new HitInfo for the graph elements associated to the specified Graph2DView. If the specified Graph2DView's associated Graph2DRenderer is of type OrderRenderer the lastToFirst method of the OrderRenderer's currently appropriate painting order is used to determine the test order (and implicit precedence) of the graph elements.

Parameters:
view - the Graph2DView whose associated graph elements are tested.
x - the x-coordinate of this hit test.
y - the y-coordinate of this hit test.
firstHitOnly - if true, only the first element hit at the specified coordinates is reported as a hit.

HitInfo

public HitInfo(Graph2D graph,
               Iterator elements,
               double x,
               double y,
               boolean firstHitOnly,
               int p1,
               int p2,
               int p3,
               int p4,
               int p5,
               int p6)
Constructs a new HitInfo for the elements of the specified Graph2D. Which elements are tested and in which order is determined by the specified Iterator and the element type precedence arguments p1 to p6.

Parameters:
graph - the Graph2D whose elements are to be tested.
elements - the Iterator used to traverse the graph elements to be tested.
x - the x-coordinate of this hit test.
y - the y-coordinate of this hit test.
firstHitOnly - if true, only the first element hit is reported as a hit; otherwise all hits are reported.
p1 - element type with the highest precedence for this hit test.
p2 - element type with the second highest precedence for this hit test.
p3 - element type with the third highest precedence for this hit test.
p4 - element type with the third lowest precedence for this hit test.
p5 - element type with the second lowest precedence for this hit test.
p6 - element type with the lowest precedence for this hit test.

HitInfo

public HitInfo(Graph2D graph,
               Iterator elements,
               double x,
               double y,
               boolean firstHitOnly)
Constructs a new HitInfo for the elements of the specified Graph2D. Which elements are tested and in which order is determined by the specified Iterator.

Parameters:
graph - the Graph2D whose elements are to be tested.
elements - the Iterator used to traverse the graph elements to be tested.
x - the x-coordinate of this hit test.
y - the y-coordinate of this hit test.
firstHitOnly - if true, only the first element hit is reported as a hit; otherwise all hits are reported.

HitInfo

protected HitInfo()
Constructs a new HitInfo with no associated hits.

Method Detail

addHitBend

protected void addHitBend(Bend bend)
Adds the specified Bend as a confirmed hit for this HitInfo.

Parameters:
bend - the confirmed hit.

addHitEdge

protected void addHitEdge(Edge edge)
Adds the specified Edge as a confirmed hit for this HitInfo.

Parameters:
edge - the confirmed hit.

addHitEdgeLabel

protected void addHitEdgeLabel(EdgeLabel label)
Adds the specified EdgeLabel as a confirmed hit for this HitInfo.

Parameters:
label - the confirmed hit.

addHitNode

protected void addHitNode(Node node)
Adds the specified Node as a confirmed hit for this HitInfo.

Parameters:
node - the confirmed hit.

addHitNodeLabel

protected void addHitNodeLabel(NodeLabel label)
Adds the specified NodeLabel as a confirmed hit for this HitInfo.

Parameters:
label - the confirmed hit.

addHitPort

protected void addHitPort(Port port)
Adds the specified Port as a confirmed hit for this HitInfo.

Parameters:
port - the confirmed hit.

hasHits

public boolean hasHits()
Returns whether or not something was hit.


hasMultiHits

public boolean hasMultiHits()
Returns whether or not more than one element was hit.


hitNodes

public YCursor hitNodes()
Returns a cursor that grants access to all hit nodes.


hitBends

public YCursor hitBends()
Returns a cursor that grants access to all hit bends.


hitEdges

public YCursor hitEdges()
Returns a cursor that grants access to all hit edges.


hitPorts

public YCursor hitPorts()
Returns a cursor that grants access to all hit ports


hitNodeLabels

public YCursor hitNodeLabels()
Returns a cursor that grants access to all hit node labels.


hitEdgeLabels

public YCursor hitEdgeLabels()
Returns a cursor that grants access to all hit edge labels.


getHitNode

public Node getHitNode()
Returns the first node that was hit or null if none were hit.


getHitBend

public Bend getHitBend()
Returns the first bend that was hit or null if none were hit.


getHitEdge

public Edge getHitEdge()
Returns the first edge that was hit or null if none were hit.


getHitNodeLabel

public NodeLabel getHitNodeLabel()
Returns the first node label that was hit or null if none were hit.


getHitEdgeLabel

public EdgeLabel getHitEdgeLabel()
Returns the first edge label that was hit or null if none were hit.


getHitPort

public Port getHitPort()
Returns the first port that was hit or null if none were hit.


hasHitPorts

public boolean hasHitPorts()
Whether or not a port was hit.


hasHitEdgeLabels

public boolean hasHitEdgeLabels()
Whether or not an edge label was hit.


hasHitNodeLabels

public boolean hasHitNodeLabels()
Whether or not a node label was hit.


hasHitNodes

public boolean hasHitNodes()
Whether or not a node was hit.


hasHitEdges

public boolean hasHitEdges()
Whether or not an edge was hit.


hasHitBends

public boolean hasHitBends()
Whether or not a bend was hit.


© Copyright 2000-2008,
yWorks GmbH.
All rights reserved.