annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/FLYSHeader.java @ 8856:5e38e2924c07 3.2.x

Fix code style.
author Tom Gottfried <tom@intevation.de>
date Thu, 18 Jan 2018 20:12:01 +0100
parents 9f3ffb218bc0
children b5af33e5ce1e
rev   line source
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5993
ea9eef426962 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5861
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5993
ea9eef426962 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5861
diff changeset
6 * documentation coming with Dive4Elements River for details.
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
9 package org.dive4elements.river.client.client.ui;
27
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 import com.google.gwt.core.client.GWT;
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
12 import com.google.gwt.i18n.client.LocaleInfo;
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
13 import com.google.gwt.user.client.Window;
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
14 import com.google.gwt.user.client.rpc.AsyncCallback;
6602
244beb29418e Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents: 6558
diff changeset
15 import com.google.gwt.user.client.ui.HTML;
27
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16 import com.smartgwt.client.types.Alignment;
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
17 import com.smartgwt.client.types.VerticalAlignment;
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
18 import com.smartgwt.client.util.BooleanCallback;
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
19 import com.smartgwt.client.util.SC;
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
20 import com.smartgwt.client.widgets.Button;
27
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21 import com.smartgwt.client.widgets.Img;
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22 import com.smartgwt.client.widgets.Label;
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
23 import com.smartgwt.client.widgets.events.ClickEvent;
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
24 import com.smartgwt.client.widgets.events.ClickHandler;
6437
0341504e9deb Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
25 import com.smartgwt.client.widgets.layout.HLayout;
27
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26
6437
0341504e9deb Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
27 import org.dive4elements.river.client.client.Config;
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
28 import org.dive4elements.river.client.client.FLYS;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
29 import org.dive4elements.river.client.client.FLYSConstants;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
30 import org.dive4elements.river.client.client.services.UserService;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
31 import org.dive4elements.river.client.client.services.UserServiceAsync;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
32 import org.dive4elements.river.client.shared.model.User;
27
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35 /**
6437
0341504e9deb Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
36 * Header of the FLYS webpage/app.
0341504e9deb Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
37 *
27
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39 */
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40 public class FLYSHeader extends HLayout {
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42 /** The interface that provides the message resources. */
6437
0341504e9deb Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
43 private final FLYSConstants MESSAGES = GWT.create(FLYSConstants.class);
27
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45 /** The height used for this header.*/
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
46 public static final int HEIGHT = 56;
27
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 /** The height used for the images.*/
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 public static final int IMG_HEIGHT = 50;
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
51 /** The user that is currently logged in. */
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
52 private User currentUser;
27
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
54 /** The label that displays the current logged in user. */
6437
0341504e9deb Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
55 private final Label userText;
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
56
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
57 /** The button to log the current user out.*/
6437
0341504e9deb Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
58 private final Button logout;
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
59
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
60 /** The button to open the project list.*/
6437
0341504e9deb Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
61 private final Button projectList;
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
62
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
63 /** The button to switch between the english and german version.*/
6437
0341504e9deb Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
64 private final Button language;
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
65
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
66 /** The button to open an info panel.*/
6437
0341504e9deb Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
67 private final Button info;
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
68
6437
0341504e9deb Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
69 private final UserServiceAsync userService =
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
70 GWT.create(UserService.class);
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
71
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
72 /** An instance to FLYS.*/
6437
0341504e9deb Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
73 private final FLYS flys;
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
74
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
75
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
76 public FLYSHeader(FLYS flys) {
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
77 this.flys = flys;
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
78
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
79 String guest = MESSAGES.user() + " " + MESSAGES.guest();
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
80
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
81 userText = new Label(guest);
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
82 projectList = new Button(MESSAGES.manage_projects());
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
83 logout = new Button(MESSAGES.logout());
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
84 language = new Button(MESSAGES.switch_language());
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
85 info = new Button(MESSAGES.info());
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
86
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
87 projectList.addClickHandler(new ClickHandler() {
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
88 @Override
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
89 public void onClick(ClickEvent event) {
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
90 GWT.log("Clicked 'Open ProjectList' button.");
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
91 getFlys().openProjectList();
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
92 }
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
93 });
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
94
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
95 logout.addClickHandler(new ClickHandler() {
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
96 @Override
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
97 public void onClick(ClickEvent event) {
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
98 GWT.log("Clicked 'logout' button.");
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
99 userService.logoutCurrentUser(new AsyncCallback<Void>() {
6437
0341504e9deb Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
100 @Override
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
101 public void onFailure(Throwable caught) {
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
102 }
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
103
6437
0341504e9deb Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
104 @Override
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
105 public void onSuccess(Void result) {
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8503
diff changeset
106 /* Just reload the page. GGInAFilter is going
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8503
diff changeset
107 * to redirect
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
108 * to the correct login page */
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
109 Window.Location.reload();
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
110 }
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
111 });
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
112
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
113 }
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
114 });
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
115
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
116 language.addClickHandler(new ClickHandler() {
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
117 @Override
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
118 public void onClick(ClickEvent event) {
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
119 LocaleInfo info = LocaleInfo.getCurrentLocale();
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
120 final String currentLocale = info.getLocaleName();
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
121 final String newLocale = currentLocale.equals("de")
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
122 ? "en"
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
123 : "de";
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
124
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
125 SC.confirm(MESSAGES.warning(), MESSAGES.warning_language(),
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
126 new BooleanCallback() {
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
127 @Override
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
128 public void execute(Boolean value) {
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
129 if (value) {
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
130 switchLanguage(currentLocale, newLocale);
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
131 }
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
132 }
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
133 });
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
134 }
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
135 });
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
136
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
137 info.addClickHandler(new ClickHandler() {
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
138 @Override
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
139 public void onClick(ClickEvent event) {
6437
0341504e9deb Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents: 5993
diff changeset
140 String wikiLink = Config.getInstance().getWikiUrl() + "/Info";
6546
7106f9b75004 Add SAML authentication to Info-Button.
Christian Lins <christian.lins@intevation.de>
parents: 6437
diff changeset
141
6602
244beb29418e Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents: 6558
diff changeset
142 // Create a form which contains the SAML session
6546
7106f9b75004 Add SAML authentication to Info-Button.
Christian Lins <christian.lins@intevation.de>
parents: 6437
diff changeset
143 // for the user which is currently logged in
6602
244beb29418e Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents: 6558
diff changeset
144 String html = WikiLinks.imageLinkForm(
244beb29418e Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents: 6558
diff changeset
145 getFlys(), wikiLink, "", "wikiLinkForm");
244beb29418e Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents: 6558
diff changeset
146 HTML htmlObj = new HTML(html);
244beb29418e Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents: 6558
diff changeset
147 info.addChild(htmlObj);
244beb29418e Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents: 6558
diff changeset
148 fireWikiLinkSubmit();
244beb29418e Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents: 6558
diff changeset
149 htmlObj.removeFromParent();
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
150 }
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
151 });
27
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
152 init();
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
153 }
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
154
6602
244beb29418e Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents: 6558
diff changeset
155 /**
244beb29418e Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents: 6558
diff changeset
156 * Calls the JS submit() function on the dynamically added
244beb29418e Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents: 6558
diff changeset
157 * wikiLinkForm. This is a workaround for a SmartGWT issue(?) that
244beb29418e Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents: 6558
diff changeset
158 * clears all form fields when using DynamicForm.submit() or .submitForm().
244beb29418e Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents: 6558
diff changeset
159 */
244beb29418e Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents: 6558
diff changeset
160 protected native void fireWikiLinkSubmit() /*-{
244beb29418e Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents: 6558
diff changeset
161 $doc.wikiLinkForm.submit();
244beb29418e Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents: 6558
diff changeset
162 }-*/;
244beb29418e Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents: 6558
diff changeset
163
27
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
164 public void init() {
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
165 setStyleName("header");
27
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
166 setWidth100();
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
167 setHeight(HEIGHT);
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
168 setBackgroundColor("#a9c9e6");
27
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
169 setLayoutLeftMargin(5);
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
170 setLayoutRightMargin(5);
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
171
1399
748e7c828d03 Issue312.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 211
diff changeset
172 String baseUrl = GWT.getHostPageBaseURL();
27
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
173
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
174 Img flys = new Img(
1399
748e7c828d03 Issue312.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 211
diff changeset
175 baseUrl + MESSAGES.flysLogo(),
748e7c828d03 Issue312.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 211
diff changeset
176 50,
27
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
177 IMG_HEIGHT);
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
178
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
179 Img bfg = new Img(
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
180 baseUrl + MESSAGES.bfgLogoSmall(),
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
181 150,
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
182 IMG_HEIGHT);
27
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
183
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
184 Label fullname = new Label(MESSAGES.fullname());
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
185 fullname.setHeight(HEIGHT - IMG_HEIGHT);
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
186 fullname.setStyleName("fontBlackMid");
27
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
187
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
188 HLayout left = new HLayout();
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
189 left.setDefaultLayoutAlign(VerticalAlignment.CENTER);
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
190 left.setMembersMargin(3);
27
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
191 left.addMember(flys);
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
192 left.addMember(fullname);
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
193
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
194 HLayout right = new HLayout();
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
195 right.setAlign(Alignment.RIGHT);
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
196 right.setDefaultLayoutAlign(Alignment.RIGHT);
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
197 right.setDefaultLayoutAlign(VerticalAlignment.CENTER);
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
198 right.setMembersMargin(3);
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
199 right.setLayoutRightMargin(5);
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
200
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
201 projectList.setStyleName("manageProjects");
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
202 userText.setStyleName("fontBlackSmall");
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
203 logout.setStyleName("fontLightSmall");
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
204 language.setStyleName("fontLightSmall");
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
205 info.setStyleName("fontLightSmall");
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
206
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
207 userText.setAlign(Alignment.RIGHT);
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
208 userText.setWidth(200);
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
209 logout.setWidth(70);
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
210 info.setWidth(40);
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
211 language.setWidth(70);
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
212
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
213 left.addMember(projectList);
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
214 if (this.flys.isProjectListVisible()) {
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
215 hideProjectButton();
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
216 }
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
217 else {
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
218 showProjectButton();
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
219 }
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
220
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
221 right.addMember(userText);
8503
9f3ffb218bc0 (issue1777) Hide logout button if it is configured.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 6602
diff changeset
222 if (!Config.getInstance().getHideLogout()) {
9f3ffb218bc0 (issue1777) Hide logout button if it is configured.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 6602
diff changeset
223 right.addMember(logout);
9f3ffb218bc0 (issue1777) Hide logout button if it is configured.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 6602
diff changeset
224 }
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
225 right.addMember(language);
6602
244beb29418e Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents: 6558
diff changeset
226 right.addMember(info);
27
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
227 right.addMember(bfg);
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
228
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
229 addMember(left);
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
230 addMember(right);
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
231 }
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
232
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
233 /**
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
234 * Returns the FLYS instance stored in this class.
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
235 *
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
236 * @return the flys instance.
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
237 */
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
238 private FLYS getFlys() {
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
239 return flys;
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
240 }
27
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
241
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
242 /**
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
243 * This method triggers the language switch between the <i>currentLocale</i>
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
244 * and the <i>newLocale</i>. The switch is done by replacing a "locale="
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
245 * parameter in the url of the application. We could use the GWT UrlBuilder
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
246 * class to create a new URL, but - in my eyes - this class is a bit
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
247 * inconsistens in its implementation.
27
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
248 *
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
249 * @param currentLocale The current locale string (e.g. "en").
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
250 * @param newLocale The new locale string (e.g. "de").
27
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
251 */
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
252 private void switchLanguage(String currentLocale, String newLocale) {
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
253 String newLocation = Window.Location.getHref();
27
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
254
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
255 if (newLocation.endsWith("/")) {
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
256 newLocation = newLocation.substring(0, newLocation.length()-1);
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
257 }
27
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
258
4602
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
259 String replace = null;
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
260 String replaceWith = null;
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
261
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
262 if (newLocation.indexOf("&locale=") >= 0) {
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
263 replace = currentLocale.equals("de")
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
264 ? "&locale=de"
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
265 : "&locale=en";
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
266
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
267 replaceWith = "&locale=" + newLocale;
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
268 }
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
269 else if (newLocation.indexOf("?locale=") >= 0) {
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
270 replace = currentLocale.equals("de")
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
271 ? "?locale=de"
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
272 : "?locale=en";
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
273
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
274 replaceWith = "?locale=" + newLocale;
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
275 }
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
276 else {
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
277 newLocation += newLocation.indexOf("?") >= 0
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
278 ? "&locale=" + newLocale
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
279 : "?locale=" + newLocale;
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
280 }
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
281
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
282 if (replace != null && replaceWith != null) {
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
283 newLocation = newLocation.replace(replace, replaceWith);
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
284 }
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
285
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
286 Window.open(newLocation, "_self", "");
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
287 }
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
288
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
289 /**
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
290 * Update the text field that shows the current user. If no user is
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
291 * currently logged in, the text will display {@link FLYSConstants.guest()}.
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
292 */
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
293 private void updateCurrentUser() {
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
294 String name = currentUser != null
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
295 ? currentUser.getName()
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
296 : MESSAGES.guest();
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
297
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
298 GWT.log("Update the current user: " + name);
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
299
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
300 String username = MESSAGES.user() + " " + name;
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
301 userText.setContents(username);
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
302 }
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
303
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
304 /**
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
305 * Set the current {@link User} and call {@link updateCurrentUser()}
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
306 * afterwards.
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
307 *
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
308 * @param user the new user.
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
309 */
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
310 public void setCurrentUser(User currentUser) {
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
311 this.currentUser = currentUser;
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
312
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
313 updateCurrentUser();
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
314 }
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
315
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
316 public void hideProjectButton() {
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
317 this.projectList.hide();
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
318 }
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
319
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
320 public void showProjectButton() {
33bb8bf3899a Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents: 1401
diff changeset
321 this.projectList.show();
27
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
322 }
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
323 }
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
324 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org