/**
   * This method is called when the tile pattern is changed.
   *
   * @param tilePattern the tile pattern to represent in this view (can be null)
   */
  public void update(TilePattern tilePattern) {

    this.tilePattern = tilePattern;
    if (tilePattern == null) {
      sequenceField.setEnabled(false);
      separationField.setEnabled(false);
    } else {
      Animation sequence = tilePattern.getAnimation();
      sequenceField.setEnabled(true);
      sequenceField.setValue(sequence);

      if (tilePattern.isAnimated()) {
        separationField.setValue(tilePattern.getAnimationSeparation());
        separationField.setEnabled(true);
      } else {
        separationField.setEnabled(false);
      }
    }
  }