changeset 4609:7898117a0730

Remove obsolete MainMenu MainMenu got merged into FLYSHeader
author Björn Ricks <bjoern.ricks@intevation.de>
date Fri, 30 Nov 2012 10:21:09 +0100
parents 7a9aa2e52a3a
children 497bc73ca64a
files flys-client/src/main/java/de/intevation/flys/client/client/ui/MainMenu.java
diffstat 1 files changed, 0 insertions(+), 269 deletions(-) [+]
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/MainMenu.java	Fri Nov 30 10:19:02 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,269 +0,0 @@
-package de.intevation.flys.client.client.ui;
-
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.i18n.client.LocaleInfo;
-import com.google.gwt.user.client.Window;
-import com.google.gwt.user.client.rpc.AsyncCallback;
-import com.smartgwt.client.types.Alignment;
-import com.smartgwt.client.util.BooleanCallback;
-import com.smartgwt.client.util.SC;
-import com.smartgwt.client.widgets.Button;
-import com.smartgwt.client.widgets.Label;
-import com.smartgwt.client.widgets.events.ClickEvent;
-import com.smartgwt.client.widgets.events.ClickHandler;
-import com.smartgwt.client.widgets.layout.HLayout;
-
-import de.intevation.flys.client.client.FLYS;
-import de.intevation.flys.client.client.FLYSConstants;
-import de.intevation.flys.client.client.services.UserService;
-import de.intevation.flys.client.client.services.UserServiceAsync;
-import de.intevation.flys.client.shared.model.User;
-
-
-/**
- * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
- */
-public class MainMenu extends HLayout {
-
-    /** The interface that provides i18n messages. */
-    private final FLYSConstants messages = GWT.create(FLYSConstants.class);
-
-    /** An instance to FLYS.*/
-    protected FLYS flys;
-
-    /** The user that is currently logged in. */
-    protected User currentUser;
-
-    /** The label that displays the current logged in user. */
-    protected Label userText;
-
-    /** The button to log the current user out.*/
-    protected Button logout;
-
-    /** The button to open the project list.*/
-    protected Button projectList;
-
-    /** The button to switch between the english and german version.*/
-    protected Button language;
-
-    /** The button to open an info panel.*/
-    protected Button info;
-
-    protected UserServiceAsync userService =
-        GWT.create(UserService.class);
-
-    /**
-     * The default constructor for creating a new MainMenu.
-     */
-    public MainMenu(FLYS flys) {
-        this.flys     = flys;
-
-        String guest = messages.user() + " " + messages.guest();
-
-        userText    = new Label(guest);
-        projectList = new Button(messages.manage_projects());
-        logout      = new Button(messages.logout());
-        language    = new Button(messages.switch_language());
-        info        = new Button(messages.info());
-
-        projectList.addClickHandler(new ClickHandler() {
-            @Override
-            public void onClick(ClickEvent event) {
-                GWT.log("Clicked 'Open ProjectList' button.");
-                ProjectList list = getFlys().getProjectList();
-                if (list.isVisible())
-                    list.hide();
-                else
-                    list.show();
-            }
-        });
-
-        logout.addClickHandler(new ClickHandler() {
-            @Override
-            public void onClick(ClickEvent event) {
-                GWT.log("Clicked 'logout' button.");
-                userService.logoutCurrentUser(new AsyncCallback<Void>() {
-                    public void onFailure(Throwable caught) {
-                    }
-
-                    public void onSuccess(Void result) {
-                        /* Just reload the page. GGInAFilter is goint to redirect
-                         * to the correct login page */
-                        Window.Location.reload();
-                    }
-                });
-
-            }
-        });
-
-        language.addClickHandler(new ClickHandler() {
-            @Override
-            public void onClick(ClickEvent event) {
-                LocaleInfo info            = LocaleInfo.getCurrentLocale();
-                final String currentLocale = info.getLocaleName();
-                final String newLocale     = currentLocale.equals("de")
-                    ? "en"
-                    : "de";
-
-                SC.confirm(messages.warning(), messages.warning_language(),
-                    new BooleanCallback() {
-                        @Override
-                        public void execute(Boolean value) {
-                            if (value) {
-                                switchLanguage(currentLocale, newLocale);
-                            }
-                        }
-                    });
-            }
-        });
-
-        info.addClickHandler(new ClickHandler() {
-            @Override
-            public void onClick(ClickEvent event) {
-                GWT.log("Clicked 'info' button.");
-                GWT.log("IMPLEMENT the 'open info panel' function.");
-            }
-        });
-
-        init();
-    }
-
-
-    /**
-     * This method is called by the constructor after creating the necessary
-     * components. It initializes layout specific stuff like width, height,
-     * colors and so on and appends the components.
-     */
-    protected void init() {
-        setStyleName("bgBlueDark");
-        setHeight("25px");
-        setLayoutMargin(5);
-
-        projectList.setStyleName("fontLightSmall");
-        userText.setStyleName("fontLightSmall");
-        logout.setStyleName("fontLightSmall");
-        language.setStyleName("fontLightSmall");
-        info.setStyleName("fontLightSmall");
-
-        projectList.setWidth("140px");
-
-        HLayout leftPanel = new HLayout();
-        leftPanel.setWidth("80%");
-        leftPanel.setMembersMargin(5);
-        leftPanel.addMember(projectList);
-
-        userText.setAlign(Alignment.RIGHT);
-        userText.setWidth(200);
-        logout.setWidth(70);
-        info.setWidth(40);
-        language.setWidth(70);
-
-        HLayout rightPanel = new HLayout();
-        rightPanel.setAlign(Alignment.RIGHT);
-        rightPanel.setMembersMargin(3);
-        rightPanel.setLayoutRightMargin(5);
-        rightPanel.addMember(userText);
-        rightPanel.addMember(logout);
-        rightPanel.addMember(language);
-        rightPanel.addMember(info);
-
-        addMember(leftPanel);
-        addMember(rightPanel);
-    }
-
-
-    /**
-     * Returns the FLYS instance stored in this class.
-     *
-     * @return the flys instance.
-     */
-    protected FLYS getFlys() {
-        return flys;
-    }
-
-
-    /**
-     * Set the current {@link User} and call {@link updateCurrentUser()}
-     * afterwards.
-     *
-     * @param user the new user.
-     */
-    public void setCurrentUser(User currentUser) {
-        this.currentUser = currentUser;
-
-        updateCurrentUser();
-    }
-
-
-    /**
-     * Update the text field that shows the current user. If no user is
-     * currently logged in, the text will display {@link FLYSConstants.guest()}.
-     */
-    public void updateCurrentUser() {
-        String name = currentUser != null
-            ? currentUser.getName()
-            : messages.guest();
-
-        GWT.log("Update the current user: " + name);
-
-        String username = messages.user() + " " + name;
-        userText.setContents(username);
-    }
-
-
-    /**
-     * Create a new project by calling FLYS.newProject().
-     */
-    protected void createNewProject() {
-        flys.newProject();
-    }
-
-
-    /**
-     * This method triggers the language switch between the <i>currentLocale</i>
-     * and the <i>newLocale</i>. The switch is done by replacing a "locale="
-     * parameter in the url of the application. We could use the GWT UrlBuilder
-     * class to create a new URL, but - in my eyes - this class is a bit
-     * inconsistens in its implementation.
-     *
-     * @param currentLocale The current locale string (e.g. "en").
-     * @param newLocale The new locale string (e.g. "de").
-     */
-    protected void switchLanguage(String currentLocale, String newLocale) {
-        String newLocation = Window.Location.getHref();
-
-        if (newLocation.endsWith("/")) {
-            newLocation = newLocation.substring(0, newLocation.length()-1);
-        }
-
-        String replace     = null;
-        String replaceWith = null;
-
-        if (newLocation.indexOf("&locale=") >= 0) {
-            replace = currentLocale.equals("de")
-                ? "&locale=de"
-                : "&locale=en";
-
-            replaceWith = "&locale=" + newLocale;
-        }
-        else if (newLocation.indexOf("?locale=") >= 0) {
-            replace = currentLocale.equals("de")
-                ? "?locale=de"
-                : "?locale=en";
-
-            replaceWith = "?locale=" + newLocale;
-        }
-        else {
-            newLocation += newLocation.indexOf("?") >= 0
-                ? "&locale=" + newLocale
-                : "?locale=" + newLocale;
-        }
-
-        if (replace != null && replaceWith != null) {
-            newLocation = newLocation.replace(replace, replaceWith);
-        }
-
-        Window.open(newLocation, "_self", "");
-    }
-}
-// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org