view flys-client/src/main/java/de/intevation/flys/client/client/ui/FLYSHeader.java @ 4205:0dd8963cec9c

Set also the width of the GaugeTree when resizing the GaugePanel GWT is no longer able to calculate and set the correct width of the GaugeTree since the GaugeTree is added via a Canvas wrapper. Therefore set the width manually when resizing the GaugeTree.
author Björn Ricks <bjoern.ricks@intevation.de>
date Mon, 22 Oct 2012 15:33:16 +0200
parents 047a44270348
children 33bb8bf3899a
line wrap: on
line source
package de.intevation.flys.client.client.ui;

import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.ImageResource;

import com.smartgwt.client.types.Alignment;
import com.smartgwt.client.widgets.Img;
import com.smartgwt.client.widgets.Label;
import com.smartgwt.client.widgets.layout.HLayout;
import com.smartgwt.client.widgets.layout.VLayout;

import de.intevation.flys.client.client.FLYSConstants;


/**
 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
 */
public class FLYSHeader extends HLayout {

    /** The interface that provides the message resources. */
    private FLYSConstants MESSAGES = GWT.create(FLYSConstants.class);

    /** The height used for this header.*/
    public static final int HEIGHT = 75;

    /** The height used for the images.*/
    public static final int IMG_HEIGHT = 50;


    public FLYSHeader() {
        init();
    }

    public void init() {
        setWidth100();
        setHeight(HEIGHT);
        setLayoutLeftMargin(5);
        setLayoutRightMargin(5);

        String baseUrl = GWT.getHostPageBaseURL();

        Img flys = new Img(
            baseUrl + MESSAGES.flysLogo(),
            50,
            IMG_HEIGHT);

        Img bfg  = new Img(
            baseUrl + MESSAGES.bfgLogo(),
            112,
            HEIGHT);

        Label fullname = new Label(MESSAGES.fullname());
        fullname.setHeight(HEIGHT - IMG_HEIGHT);
        fullname.setStyleName ("fontNormalMid");

        VLayout left = new VLayout();
        left.addMember(flys);
        left.addMember(fullname);

        HLayout right = new HLayout();
        right.setAlign(Alignment.RIGHT);
        right.addMember(bfg);

        addMember(left);
        addMember(right);
    }


    /**
     * This method calculates the wight of an image relative to the given
     * height.
     *
     * @param res The ImageResource that points to the image.
     * @param height The pre-defined height.
     *
     * @return the calculated width that should be used for the image.
     */
    protected int calcWidth(ImageResource res, int height) {
        int widthOrig  = res.getWidth();
        int heightOrig = res.getHeight();

        double factor = (double)heightOrig / height;
        double width  = (double)widthOrig / factor;

        return (int) width * 10 / 10;
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org