当前位置: 首页>>代码示例>>Java>>正文


Java Node类代码示例

本文整理汇总了Java中org.eclipse.draw2d.graph.Node的典型用法代码示例。如果您正苦于以下问题:Java Node类的具体用法?Java Node怎么用?Java Node使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


Node类属于org.eclipse.draw2d.graph包,在下文中一共展示了Node类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: setDummyEdges

import org.eclipse.draw2d.graph.Node; //导入依赖的package包/类
protected void setDummyEdges() {
	Node targetNode = null;
	int nodeCount = nodeList.size();

	// if node count is only one then we don't have to worry about whether
	// the nodes are connected
	if (nodeCount > 1) {
		for (Iterator iter = nodeList.iterator(); iter.hasNext();) {
			Node sourceNode = (Node) iter.next();
			// we will need to set up a dummy relationship for any table not
			// in one already
			if (sourceNode.outgoing.size() == 0 && sourceNode.incoming.size() == 0) {
				targetNode = findTargetNode(sourceNode);
				Edge edge = newDummyEdge(targetNode, sourceNode);
				edgesAdded.add(edge);
			}
		}
	}
}
 
开发者ID:OpenSoftwareSolutions,项目名称:PDFReporter-Studio,代码行数:20,代码来源:DummyEdgeCreator.java

示例2: addEdges

import org.eclipse.draw2d.graph.Node; //导入依赖的package包/类
protected void addEdges(AbstractGraphicalEditPart diagram) {
	for (Object obj : diagram.getChildren()) {
		AbstractGraphicalEditPart part = (AbstractGraphicalEditPart) obj;
		for (Object item : part.getSourceConnections()) {
			RelationshipPart rpart = (RelationshipPart) item;
			Node source = (Node) partToNodesMap.get(rpart.getSource());
			Node target = (Node) partToNodesMap.get(rpart.getTarget());
			if (source != null && target != null) {
				Edge e = new Edge(rpart, source, target);
				e.weight = 2;
				graph.edges.add(e);
				partToNodesMap.put(rpart, e);
			}
		}
	}
}
 
开发者ID:OpenSoftwareSolutions,项目名称:PDFReporter-Studio,代码行数:17,代码来源:DirectedGraphLayoutVisitor.java

示例3: applyChildrenResults

import org.eclipse.draw2d.graph.Node; //导入依赖的package包/类
protected void applyChildrenResults(AbstractGraphicalEditPart diagram) {
	List<AbstractGraphicalEditPart> children = diagram.getChildren();
	Rectangle r = diagram.getFigure().getBounds();
	for (AbstractGraphicalEditPart tp : children) {
		Node n = (Node) partToNodesMap.get(tp);
		IFigure f = tp.getFigure();

		Dimension psize = f.getPreferredSize();
		f.setBounds(new Rectangle(r.x + n.x, r.y + n.y, psize.width,
				psize.height));

		List<RelationshipPart> sc = tp.getSourceConnections();
		for (RelationshipPart rp : sc)
			applyResults(rp);
	}
}
 
开发者ID:OpenSoftwareSolutions,项目名称:PDFReporter-Studio,代码行数:17,代码来源:DirectedGraphLayoutVisitor.java

示例4: locateNode

import org.eclipse.draw2d.graph.Node; //导入依赖的package包/类
/**
 * Locates the nodes.
 */
private void locateNode() {
    int xPoint = BASE_POINT_X;
    int yPoint = BASE_POINT_Y;

    NodeList baseNodeList = getGraph().getBaseNodeList();
    for (int i = 0; i < baseNodeList.size(); i++) {
        Node node = baseNodeList.getNode(i);
        NodeEx nodeEx = getNodeEx(node);

        Rectangle rect = nodeEx.getBlockBounds();
        locateNode(nodeEx, xPoint, yPoint);
        if (ArrangeAngle.createInstance().getAngle() == ArrangeAngle.Direction.Vertical) {
            xPoint += rect.width + HORIZONTAL_SPACING;
        } else {
            yPoint += rect.height + VERTICAL_SPACING;
        }
    }
}
 
开发者ID:d-case,项目名称:d-case_editor,代码行数:22,代码来源:LocateNodeGraphVisitor.java

示例5: getSouthNodes

import org.eclipse.draw2d.graph.Node; //导入依赖的package包/类
/**
 * Returns the children those should be locate to the south.
 * 
 * @return the children those should be locate to the south.
 */
@SuppressWarnings("unchecked")
public NodeList getSouthNodes() {
    EdgeList edgeList = new EdgeList();
    NodeList nodeList = new NodeList();
    for (Object obj : node.outgoing) {
        if (!DcaseDirectedGraph.isEast((Node) ((Edge) obj).target)) {
            edgeList.add(obj);
        }
    }
    // sorts by the sibling order.
    if (edgeList.size() > 1) {
        Collections.sort(edgeList, new DcaseEditPartLayoutComparator());
    }
    for (int i = 0; i < edgeList.size(); i++) {
        nodeList.add(((Edge) edgeList.get(i)).target);
    }
    return nodeList;
}
 
开发者ID:d-case,项目名称:d-case_editor,代码行数:24,代码来源:NodeEx.java

示例6: getEastNodes

import org.eclipse.draw2d.graph.Node; //导入依赖的package包/类
/**
 * Returns the children those should be locate to the east.
 * 
 * @return the children those should be locate to the east.
 */
@SuppressWarnings("unchecked")
public NodeList getEastNodes() {
    EdgeList edgeList = new EdgeList();
    NodeList nodeList = new NodeList();
    for (Object obj : node.outgoing) {
        if (DcaseDirectedGraph.isEast((Node) ((Edge) obj).target)) {
            edgeList.add(obj);
        }
    }
    // sorts by the sibling order.
    if (edgeList.size() > 1) {
        Collections.sort(edgeList, new DcaseEditPartLayoutComparator());
    }
    for (int i = 0; i < edgeList.size(); i++) {
        nodeList.add(((Edge) edgeList.get(i)).target);
    }
    return nodeList;
}
 
开发者ID:d-case,项目名称:d-case_editor,代码行数:24,代码来源:NodeEx.java

示例7: collectBaseNode

import org.eclipse.draw2d.graph.Node; //导入依赖的package包/类
/**
 * Collects the first node.
 * 
 * @param node the node.
 */
private void collectBaseNode(Node node) {
    NodeEx nodeEx = getNodeEx(node);
    if (nodeEx != null) {
        if (stack.contains(nodeEx)) {
            nodeEx.setLooped(true);
        }
        return;
    }
    nodeEx = addNodeEx(node);
    stack.push(nodeEx);
    NodeList list = nodeEx.getChildren();
    for (int i = 0; i < list.size(); i++) {
        Node child = list.getNode(i);
        collectBaseNode(child);
    }
    if (nodeEx.getParentCount() > 1) {
        list = nodeEx.getParent();
        for (int i = 0; i < list.size(); i++) {
            Node parent = list.getNode(i);
            getRootParent(parent);
        }
    }
    nodeEx.setDepth(stack.size());
    stack.pop();
}
 
开发者ID:d-case,项目名称:d-case_editor,代码行数:31,代码来源:CollectNodeGraphVisitor.java

示例8: getRootParent

import org.eclipse.draw2d.graph.Node; //导入依赖的package包/类
/**
 * Returns the root of the specified node.
 * 
 * @param node the node.
 */
private void getRootParent(Node node) {
    if (getNodeEx(node) != null) {
        return;
    }
    if (workStack.contains(node)) {
        return;
    }
    workStack.push(node);
    EdgeList edgeList = node.incoming;
    if (edgeList.size() > 0) {
        for (int i = 0; i < edgeList.size(); i++) {
            Node parent = ((Edge) edgeList.get(i)).source;
            getRootParent(parent);
        }
    } else {
        addBaseNodeList(node);
        collectBaseNode(node);
    }
    workStack.pop();
    return;
}
 
开发者ID:d-case,项目名称:d-case_editor,代码行数:27,代码来源:CollectNodeGraphVisitor.java

示例9: calcBlockSize

import org.eclipse.draw2d.graph.Node; //导入依赖的package包/类
/**
 * Calculates the preferred size of the area to show the specified node and its children.
 * 
 * @param node the root node.
 */
private void calcBlockSize(Node node) {
    NodeEx nodeEx = getNodeEx(node);

    if (stack.contains(nodeEx)) {
        return;
    }
    stack.push(nodeEx);

    NodeList list = nodeEx.getChildren();
    for (int i = 0; i < list.size(); i++) {
        Node child = list.getNode(i);
        NodeEx childEx = getNodeEx(child);
        if (nodeEx.getDepth() < childEx.getDepth()) {
            calcBlockSize(child);
        }
    }
    Dimension dim = nodeEx.calcBlockSize();
    Rectangle rect = nodeEx.getBlockBounds();
    rect.width = dim.width;
    rect.height = dim.height;
    stack.pop();
}
 
开发者ID:d-case,项目名称:d-case_editor,代码行数:28,代码来源:CalcNodeSizeGraphVisitor.java

示例10: contributeNodesToGraph

import org.eclipse.draw2d.graph.Node; //导入依赖的package包/类
public void contributeNodesToGraph(DirectedGraph graph, HashMap map){
	Node node = new Node(this);
	node.width = getFigure().getBounds().width;//getNode().getWidth();
	int height = 22;
	if (((CFGNode)getModel()).getBefore() != null){
		height += ((CFGNode)getModel()).getBefore().getChildren().size() * 22;
	}
	if (((CFGNode)getModel()).getAfter() != null){
		height += ((CFGNode)getModel()).getAfter().getChildren().size() * 22;
	}
	node.height = height;//getFigure().getBounds().height;
	graph.nodes.add(node);
	map.put(this, node);
}
 
开发者ID:flankerhqd,项目名称:JAADAS,代码行数:15,代码来源:CFGNodeEditPart.java

示例11: applyGraphResults

import org.eclipse.draw2d.graph.Node; //导入依赖的package包/类
public void applyGraphResults(DirectedGraph graph, HashMap map){
	Node node = (Node)map.get(this);
	((CFGNodeFigure)getFigure()).setBounds(new Rectangle(node.x, node.y, node.width, node.height));//getFigure().getBounds().height));//getFigure().getBounds().height));
	List outgoing = getSourceConnections();
	for (int i = 0; i < outgoing.size(); i++){
		CFGEdgeEditPart edge = (CFGEdgeEditPart)outgoing.get(i);
		edge.applyGraphResults(graph, map);
	}

}
 
开发者ID:flankerhqd,项目名称:JAADAS,代码行数:11,代码来源:CFGNodeEditPart.java

示例12: execute

import org.eclipse.draw2d.graph.Node; //导入依赖的package包/类
@Override
@SuppressWarnings("unchecked")
public void execute(ICustomContext context) {

	Diagram diagram = getDiagram();
	CompoundDirectedGraph draw2dGrap = new CompoundDirectedGraph();
	BiMap<PictogramElement, Node> draw2dGraphMap = HashBiMap.create();
	for (Shape shape : diagram.getChildren()) {
		final EObject eObject = Graphiti.getLinkService().getBusinessObjectForLinkedPictogramElement(shape);
		if (eObject instanceof ProcessingUnit || eObject instanceof Medium) {
			Node node = new Node();
			draw2dGrap.nodes.add(node);
			node.setSize(new Dimension(SHAPE_WIDTH, SHAPE_HEIGHT));
			draw2dGraphMap.put(shape, node);
		}
	}

	for (Connection connection : diagram.getConnections()) {
		Node start = draw2dGraphMap.get(connection.getEnd().getParent());
		Node end = draw2dGraphMap.get(connection.getStart().getParent());
		Edge edge = new Edge(start, end);
		draw2dGrap.edges.add(edge);
	}

	new CompoundDirectedGraphLayout().visit(draw2dGrap);

	for (Entry<PictogramElement, Node> e : draw2dGraphMap.entrySet()) {
		PictogramElement pe = e.getKey();
		Node n = e.getValue();
		Graphiti.getGaService().setLocation(pe.getGraphicsAlgorithm(), n.x, n.y);
	}

	hasDoneChanges = true;

}
 
开发者ID:turnus,项目名称:turnus,代码行数:36,代码来源:AutoLayoutFeauture.java

示例13: visit

import org.eclipse.draw2d.graph.Node; //导入依赖的package包/类
public void visit(DirectedGraph graph) {
	try {
		this.graph = graph;
		this.nodeList = graph.nodes;
		this.edgeList = graph.edges;

		// iterate through all of the nodes in the node list
		for (Iterator iter = nodeList.iterator(); iter.hasNext();) {
			Node node = (Node) iter.next();

			// check whether we have already come across this node
			if (!encountered.contains(node)) {
				// create a new cluster for this node
				currentCluster = new Cluster();
				clusters.add(currentCluster);
				encountered.add(node);
				currentCluster.set.add(node);

				// System.out.println("Adding to NEW cluster: " + node + ", cluster: "
				// + currentCluster);
				// recursively add any other nodes reachable from it
				int depth = INITIAL_RECURSION_DEPTH;
				recursivelyAddToCluster(node, depth);
			} else {
				// System.out.println("Already encountered: " + node);
			}
		}
		coalesceRemainingClusters();

		// System.out.println("");
		joinClusters();
	} catch (RuntimeException e) {
		e.printStackTrace();
		throw e;
	}
}
 
开发者ID:OpenSoftwareSolutions,项目名称:PDFReporter-Studio,代码行数:37,代码来源:ClusterEdgeCreator.java

示例14: newDummyEdge

import org.eclipse.draw2d.graph.Node; //导入依赖的package包/类
/**
 * creates a new dummy edge to be used in the graph
 */
private Edge newDummyEdge(Node sourceNode, Node targetNode) {
	DummyEdgePart edgePart = new DummyEdgePart();
	Edge edge = new Edge(edgePart, sourceNode, targetNode);
	edge.weight = 2;
	// add the new edge to the edge list
	edgeList.add(edge);
	targetNode = sourceNode;
	return edge;
}
 
开发者ID:OpenSoftwareSolutions,项目名称:PDFReporter-Studio,代码行数:13,代码来源:ClusterEdgeCreator.java

示例15: newDummyEdge

import org.eclipse.draw2d.graph.Node; //导入依赖的package包/类
/**
 * creates a new dummy edge to be used in the graph
 */
private Edge newDummyEdge(Node targetNode, Node sourceNode) {
	DummyEdgePart edgePart = new DummyEdgePart();
	Edge edge = new Edge(edgePart, sourceNode, targetNode);
	edge.weight = 2;
	edgeList.add(edge);
	targetNode = sourceNode;
	return edge;
}
 
开发者ID:OpenSoftwareSolutions,项目名称:PDFReporter-Studio,代码行数:12,代码来源:DummyEdgeCreator.java


注:本文中的org.eclipse.draw2d.graph.Node类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。