view flys-client/src/main/java/de/intevation/flys/client/client/ui/FLYSHeader.java @ 4215:c179cd02177d

Logout the current user Add code to the logout button to remove the current user from the session and to redirect the browser window to the login page. Part of flys/issue916 (Logout: "Abmelden" Knopf mit Funktion belegen)
author Björn Ricks <bjoern.ricks@intevation.de>
date Tue, 23 Oct 2012 09:59: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