Package org.timepedia.chronoscope.client.browser

Source Code of org.timepedia.chronoscope.client.browser.BrowserView

package org.timepedia.chronoscope.client.browser;

import org.timepedia.chronoscope.client.Cursor;
import org.timepedia.chronoscope.client.canvas.Canvas;
import org.timepedia.chronoscope.client.canvas.Layer;
import org.timepedia.chronoscope.client.canvas.View;
import org.timepedia.chronoscope.client.canvas.ViewReadyCallback;
import org.timepedia.chronoscope.client.gss.GssContext;
import org.timepedia.chronoscope.client.gss.MockGssProperties;
import org.timepedia.exporter.client.Export;
import org.timepedia.exporter.client.ExportPackage;
import org.timepedia.exporter.client.Exportable;
import org.timepedia.exporter.client.Exporter;

import com.google.gwt.core.client.GWT;
import com.google.gwt.i18n.client.NumberFormat;
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.Element;
import com.google.gwt.user.client.ui.impl.FocusImpl;

/**
* A realization of a View on the browser using Safari JavaScript CANVAS and DOM
* Level 2 CSS
*
*/
@ExportPackage("chronoscope")
public class BrowserView extends GwtView
    implements Exportable, CssGssViewSupport, DOMView {

  static final FocusImpl focusImpl = FocusImpl.getFocusImplForPanel();

  public void exportFunctions() {
    Exporter exporter = (Exporter) GWT.create(BrowserView.class);
    Exporter exporter2 = (Exporter) GWT.create(BrowserInfoWindow.class);
    Exporter exporter3 = (Exporter) GWT.create(MockGssProperties.class);
  }


  /**
   * Use an internal focus listener to ensure keyboard focus events are picked
   * up
   */
  public void focus() {
//    focusImpl.focus(containerDiv);
  }

  public void init() {
     ((BrowserCanvas)getCanvas()).onAttach();
  }

  public void initialize(final Element element, final int width,
      final int height, final boolean interactive, GssContext gssContext,
      final ViewReadyCallback callback) {

    this.element = element;
    DOM.setStyleAttribute(element, "position", "relative");
    initTargetElementId(element);
    super.initialize(width, height, false, gssContext, callback);
    menuFactory = new BrowserChronoscopeMenuFactory();
  }

  public void initialize(Element element, boolean interactive, GssContext ctx,
      ViewReadyCallback callback) {
    initialize(element, getClientWidthRecursive(element),
        getClientHeightRecursive(element), interactive, ctx, callback);
  }

  public String numberFormat(String labelFormat, double value) {
    return NumberFormat.getFormat(labelFormat).format(value);
  }

//  public void onAttach() {
//    super.onAttach();
//  }

  public native double remainder(double numerator, double modulus) /*-{
    return numerator % modulus;
  }-*/;


  /**
   * Return a Browser (CANVAS tag) canvas.
   */
  protected Canvas createCanvas(int width, int height) {
    return new BrowserCanvas(this, width, height);
  }

  protected Element getElement(Layer layer) {
    if (layer instanceof BrowserCanvas) {
      return ((BrowserCanvas) layer).getElement();
    }
    return null;
  }

  @Export
  @Override
  public void resize(int width, int height) {
    super.resize(width, height);
    initialize(element, width, height, true, gssContext,
        new ViewReadyCallback() {
          @Override
          public void onViewReady(View view) {
            view.getChart().reloadStyles();
          }
        });
    onAttach();
  }

}
TOP

Related Classes of org.timepedia.chronoscope.client.browser.BrowserView

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.