Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/FLYSHeader.java @ 9561:5397555d74c9
MapOutputTab fix
author | gernotbelger |
---|---|
date | Thu, 25 Oct 2018 17:00:58 +0200 |
parents | 5e38e2924c07 |
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 | 106 /* Just reload the page. GGInAFilter is going |
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 | 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 | 175 baseUrl + MESSAGES.flysLogo(), |
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 : |