コード例 #1
0
  /**
   * Load the data needed by the presenter and update it.
   *
   * @param state
   * @param width
   * @param height
   */
  public void display(final int width, final int height, PanelState state) {
    this.state = state;
    data.setManifestCollection(null);
    data.setManifest(null);
    data.setSequence(null);
    data.setCanvas(null);

    presenter.hideContent(width, height);

    AsyncCallback<PanelData> cb =
        new AsyncCallback<PanelData>() {
          @Override
          public void onSuccess(PanelData data) {
            presenter.display(width, height, data);
          }

          @Override
          public void onFailure(Throwable err) {
            Window.alert(Messages.INSTANCE.errorOnView() + err.getMessage());
          }
        };

    switch (state.getView()) {
      case CANVAS:
        PanelData.loadManifestSequenceCanvasAndAnnotationLists(
            state.getManifestUri(), state.getObjectUri(), data, state.getCanvasIndex(), cb);
        break;
      case HOME:
        cb.onSuccess(null);
        break;
      case MANIFEST:
        PanelData.loadManifest(state.getObjectUri(), data, cb);
        break;
      case MANIFEST_COLLECTION:
        PanelData.loadManifestCollection(state.getObjectUri(), data, cb);
        break;
      case SEQUENCE:
        PanelData.loadManifestSequenceAndAnnotationLists(
            state.getManifestUri(), state.getObjectUri(), data, cb);
        break;
      default:
        throw new RuntimeException(Messages.INSTANCE.unhandledView() + state.getView());
    }
  }
コード例 #2
0
 public void setViewportPosition(int[] position) {
   data.setPosition(position);
 }
コード例 #3
0
 public void setCanvasZoomLevel(int zoom_level) {
   data.setZoomLevel(zoom_level);
 }