Esempio n. 1
0
  private void init() {
    node = new FlowNodeWindow(this);

    node.setTitle(getModel().getTitle());
    node.setLayoutX(getModel().getX());
    node.setLayoutY(getModel().getY());
    node.setPrefWidth(getModel().getWidth());
    node.setPrefHeight(getModel().getHeight());

    registerListeners(getModel());

    modelProperty.addListener(
        new ChangeListener<VNode>() {
          @Override
          public void changed(ObservableValue<? extends VNode> ov, VNode oldVal, VNode newVal) {

            removeListeners(oldVal);
            registerListeners(newVal);
          }
        });

    for (Connector connector : getModel().getConnectors()) {
      addConnector(connector);
    }

    getModel()
        .getConnectors()
        .addListener(
            new ListChangeListener<Connector>() {
              @Override
              public void onChanged(ListChangeListener.Change<? extends Connector> change) {
                while (change.next()) {
                  if (change.wasPermutated()) {
                    for (int i = change.getFrom(); i < change.getTo(); ++i) {
                      // permutate
                    }
                  } else if (change.wasUpdated()) {
                    // update item
                  } else if (change.wasRemoved()) {
                    // removed
                    for (Connector connector : change.getRemoved()) {
                      removeConnector(connector);
                    }
                  } else if (change.wasAdded()) {
                    // added
                    for (Connector connector : change.getAddedSubList()) {
                      addConnector(connector);
                    }
                  }
                } // end while change.next()
              }
            });

    //        skinFactory.connectionFillColorTypes().addListener(new MapChangeListener<String,
    // Color>() {
    //            @Override
    //            public void onChanged(MapChangeListener.Change<? extends String, ? extends Color>
    // change) {
    //                if (change.wasAdded()) {
    //                    for (Connector connector : getModel().getConnectors()) {
    //
    //                        if (connector.getType().equals(change.getKey())) {
    //                            Shape cN = connectors.get(connector.getId());
    //                            cN.setFill(change.getValueAdded());
    //                        }
    //                    }
    //                }
    //            }
    //        });
    //
    //        skinFactory.connectionStrokeColorTypes().addListener(new MapChangeListener<String,
    // Color>() {
    //            @Override
    //            public void onChanged(MapChangeListener.Change<? extends String, ? extends Color>
    // change) {
    //                if (change.wasAdded()) {
    //                    for (Connector connector : getModel().getConnectors()) {
    //
    //                        if (connector.getType().equals(change.getKey())) {
    //                            Shape cN = connectors.get(connector.getId());
    //                            cN.setStroke(change.getValueAdded());
    //                        }
    //                    }
    //                }
    //            }
    //        });
  }