Sha256: c74e7b0c66ac3f57c89971d12f32acc354063699d44a3eee15b3ee2461912cf8

Contents?: true

Size: 1.94 KB

Versions: 1

Compression:

Stored size: 1.94 KB

Contents

/**
 * Sencha GXT 3.1.1 - Sencha for GWT
 * Copyright(c) 2007-2014, Sencha, Inc.
 * licensing@sencha.com
 *
 * http://www.sencha.com/products/gxt/license/
 */
package com.dldinternet.aws.cfn.stacker.desktopapp.client.spreadsheet;

import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.Widget;
import com.dldinternet.aws.cfn.stacker.desktopapp.client.persistence.FileModel;
import com.dldinternet.aws.cfn.stacker.desktopapp.client.persistence.FileSystem;
import com.sencha.gxt.widget.core.client.Window;

/**
 * Implementation Notes:
 * <p/>
 * <ul>
 * <li>Changes in row count are handled via Store events.</li>
 * <li>Changes in column count require a call to updateChart.</li>
 * </ul>
 */
public class SpreadsheetChartPresenterImpl implements SpreadsheetChartPresenter {

  private SpreadsheetChartView spreadsheetChartView;
  private FileModel fileModel;
  private FileSystem fileSystem;

  public SpreadsheetChartPresenterImpl(FileSystem fileSystem) {
    this.fileSystem = fileSystem;
  }

  @Override
  public void configure(FileModel fileModel, Worksheet worksheet) {
    this.fileModel = fileModel;
    getSpreadsheetChartView().configure(worksheet);
  }

  @Override
  public void go(HasWidgets hasWidgets) {
    Widget widget = getSpreadsheetChartView().asWidget();
    if (widget instanceof Window) {
      Window window = (Window) widget;
      window.show();
    }
  }

  @Override
  public void updateTitle() {
    String newTitle = getTitle();
    getSpreadsheetChartView().setTitle(newTitle);
  }

  private FileModel getFileModel() {
    return fileModel;
  }

  private FileSystem getFileSystem() {
    return fileSystem;
  }

  private SpreadsheetChartView getSpreadsheetChartView() {
    if (spreadsheetChartView == null) {
      spreadsheetChartView = new SpreadsheetChartViewImpl(this);
    }
    return spreadsheetChartView;
  }

  private String getTitle() {
    return "Chart - " + getFileSystem().getPath(getFileModel());
  }

}

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
aws-cfn-stacker-0.0.6 ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/SpreadsheetChartPresenterImpl.java