Editing presentations

This page shows some examples for how to edit Rectangle presentations (INodePresentation) and Line Presentations (ILinkPresentation)).

Transaction Operation

To modify presentations, you need the transaction operation first.

Rectangle presentations

Set location
public void setLocation(INodePresentation ps, Point2D location) {
    try {
      TransactionManager.beginTransaction();
      ps.setLocation(location);
      TransactionManager.endTransaction();
    } catch (InvalidEditingException e) {
      e.printStackTrace();
      TransactionManager.abortTransaction();
    }
  }
Set width
public void setWidth(INodePresentation ps, double width) {
    try {
      TransactionManager.beginTransaction();
      ps.setWidth(width);
      TransactionManager.endTransaction();
    } catch (InvalidEditingException e) {
      e.printStackTrace();
      TransactionManager.abortTransaction();
    }
  }
Set hight
public void setHeight(INodePresentation ps, double height) {
    try {
      TransactionManager.beginTransaction();
      ps.setHeight(height);
      TransactionManager.endTransaction();
    } catch (InvalidEditingException e) {
      e.printStackTrace();
      TransactionManager.abortTransaction();
    }
  }
Set Label
public void setLabel(INodePresentation ps, String label) {
    try {
      TransactionManager.beginTransaction();
      ps.setLabel(label);
      TransactionManager.endTransaction();
    } catch (InvalidEditingException e) {
      e.printStackTrace();
      TransactionManager.abortTransaction();
    }
  }
Set background color
//(EX)red:color="#FF0000" green:color="#00FF00" blue:color="#0000FF"
  public void setColor(INodePresentation ps, String color) {
    try {
      TransactionManager.beginTransaction();
      ps.setProperty("fill.color", color);
      TransactionManager.endTransaction();
    } catch (InvalidEditingException e) {
      e.printStackTrace();
      TransactionManager.abortTransaction();
    }
  }
  • ※setProperty() method accepts "fill.color" key only.
  • Line Presentation

    Set start and end points
    public void setPoints(ILinkPresentation ps, Point2D[] points) {
        try {
          ps.setPoints(points);
          TransactionManager.endTransaction();
        } catch (InvalidEditingException e) {
          e.printStackTrace();
          TransactionManager.abortTransaction();
        }
      }