Package com.googlecode.mgwt.ui.client

Source Code of com.googlecode.mgwt.ui.client.MGWTStyle

package com.googlecode.mgwt.ui.client;

import com.google.gwt.core.client.Scheduler;
import com.google.gwt.core.client.Scheduler.ScheduledCommand;
import com.google.gwt.dom.client.Document;
import com.google.gwt.dom.client.Element;
import com.google.gwt.dom.client.LinkElement;
import com.google.gwt.dom.client.NodeList;

/**
* The {@link MGWTStyle} class provides an easy access to the default theme of every gwt app.
*
* If widgets are created without a specific theme they ask MGWTStyle for the default theme.
*
* The default theme can be changed at start up time of an mgwt app <b>once</b>.
*
* After startup the bundle can not be changed. If no bundle is set, MGWTStyle creates the MGWT
* Default theme.
*
* If you like to create your own theme consult the docs at: <a
* href="http://code.google.com/p/mgwt/wiki/Styling" >http://code.google.com/p/mgwt/wiki/Styling</a>
*
*
* @author Daniel Kurka
*/
public class MGWTStyle {


  /**
   * Inject a given css file at the end of the head
   *
   * @param url the url of the css file
   */
  public static void injectStyleSheet(String url) {
    NodeList<Element> nodeList = Document.get().getElementsByTagName("head");
    if (nodeList.getLength() != 1) {
      throw new RuntimeException("can not find head element, does your html include a head section?");
    }
    final Element head = nodeList.getItem(0);
    final LinkElement linkElement = Document.get().createLinkElement();
    linkElement.setRel("stylesheet");
    linkElement.setType("text/css");
    linkElement.setHref(url);
    Scheduler.get().scheduleDeferred(new ScheduledCommand() {

      @Override
      public void execute() {
        head.appendChild(linkElement);

      }
    });

  }

  /**
   * this routine provides access to match media from java
   *
   * @param mediaQuery the query to perform
   * @return true if the query matches otherwise false
   */
  public native boolean matchMedia(String mediaQuery)/*-{
    return $wnd.matchMedia(mediaQuery);
  }-*/;
TOP

Related Classes of com.googlecode.mgwt.ui.client.MGWTStyle

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.