edu.arizona.biosemantics.gxt.theme.green.client.base.info.Css3InfoAppearance.java Source code

Java tutorial

Introduction

Here is the source code for edu.arizona.biosemantics.gxt.theme.green.client.base.info.Css3InfoAppearance.java

Source

/**
 * 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 edu.arizona.biosemantics.gxt.theme.green.client.base.info;

import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.CssResource;
import com.google.gwt.safehtml.shared.SafeHtml;
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
import com.sencha.gxt.core.client.XTemplates;
import com.sencha.gxt.core.client.dom.XElement;
import edu.arizona.biosemantics.gxt.theme.green.client.ThemeDetails;
import com.sencha.gxt.widget.core.client.info.Info.InfoAppearance;

public class Css3InfoAppearance implements InfoAppearance {
    interface Template extends XTemplates {
        @XTemplate("<div class='{infoWrap}'><div class='{info}'></div></div>")
        SafeHtml render(Styles styles);
    }

    interface Styles extends CssResource {
        String infoWrap();

        String info();
    }

    interface Resources extends ClientBundle {
        Styles info();

        ThemeDetails theme();
    }

    private final Template template;
    private final Styles styles;

    public Css3InfoAppearance() {
        this.template = GWT.create(Template.class);
        Resources res = GWT.create(Resources.class);
        styles = res.info();
        styles.ensureInjected();
    }

    @Override
    public XElement getContentElement(XElement parent) {
        return parent.getFirstChildElement().getFirstChildElement().cast();
    }

    @Override
    public void render(SafeHtmlBuilder sb) {
        sb.append(template.render(styles));
    }
}