1

それで、私は個人的なプロジェクトとして私のコースカリキュラムを構築しようとしています。それはかなり完成していると思うので、Draw2Dを使用することにしました。私はコースを長方形で表し、コース間の接続を設定して、どのコースが他のコースの前提条件であるかを示しています。次のようになります。

依存関係のあるコースリスト 私が抱えている問題は、同じポートを2つの接続のソースにしようとすると、一方を取得し、もう一方を無視することです。何か案は?以下は簡単なサンプルです。

$(window).load(function () {
    // Create the paint area. The id in the constructor must be
    // an existing DIV 
    var canvas = new draw2d.Canvas("gfx_holder");

    // create and add two nodes which contains Ports (In and OUT)
    var start = new draw2d.shape.node.Hub();
    var startLocator = new draw2d.layout.locator.BottomLocator(start);
    var startLocator2 = new draw2d.layout.locator.BottomLocator(start);

    var startPort = start.createPort("output", startLocator);
    var end   = new draw2d.shape.node.End();
    var end2   = new draw2d.shape.node.End();

    canvas.addFigure( start, 400,100);
    canvas.addFigure( end, 200,150);
    canvas.addFigure( end2, 600,150);

    var c = new draw2d.Connection();
    c.setTargetDecorator(new draw2d.decoration.connection.ArrowDecorator());
    c.setSource(startPort);
    c.setTarget(end.getInputPort(0));
    canvas.addFigure(c);


    var c2 = new draw2d.Connection();
    c2.setTargetDecorator(new draw2d.decoration.connection.ArrowDecorator());
    c2.setSource(startLocator2);
    c2.setTarget(end2.getInputPort(0));
    canvas.addFigure(c2);
});
4

1 に答える 1

2

あなたの問題はsetSource関数呼び出しにあると思います。

c.setSource(startPort);
c2.setSource(startLocator2);

1つはポートを指定し、もう1つはロケーターを指定しているようです。

于 2013-02-08T19:12:10.133 に答える