Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/FLYSHeader.java @ 7602:c50dbbe17950
issue1596: Store table (cell) data twice: Once as (formatted) string
as coming from server, once transformed into float (or string).
The benefit is that now we can sort table data numerically, while keeping
the formatted and i18ned display of values.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Wed, 27 Nov 2013 14:55:25 +0100 |
parents | 244beb29418e |
children | 9f3ffb218bc0 |
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) { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
106 /* Just reload the page. GGInAFilter is goint to redirect |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
107 * to the correct login page */ |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
108 Window.Location.reload(); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
109 } |
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 language.addClickHandler(new ClickHandler() { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
116 @Override |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
117 public void onClick(ClickEvent event) { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
118 LocaleInfo info = LocaleInfo.getCurrentLocale(); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
119 final String currentLocale = info.getLocaleName(); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
120 final String newLocale = currentLocale.equals("de") |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
121 ? "en" |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
122 : "de"; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
123 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
124 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
|
125 new BooleanCallback() { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
126 @Override |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
127 public void execute(Boolean value) { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
128 if (value) { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
129 switchLanguage(currentLocale, newLocale); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
130 } |
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 info.addClickHandler(new ClickHandler() { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
137 @Override |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
138 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
|
139 String wikiLink = Config.getInstance().getWikiUrl() + "/Info"; |
6546
7106f9b75004
Add SAML authentication to Info-Button.
Christian Lins <christian.lins@intevation.de>
parents:
6437
diff
changeset
|
140 |
6602
244beb29418e
Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents:
6558
diff
changeset
|
141 // 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
|
142 // 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
|
143 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
|
144 getFlys(), wikiLink, "", "wikiLinkForm"); |
244beb29418e
Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents:
6558
diff
changeset
|
145 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
|
146 info.addChild(htmlObj); |
244beb29418e
Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents:
6558
diff
changeset
|
147 fireWikiLinkSubmit(); |
244beb29418e
Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents:
6558
diff
changeset
|
148 htmlObj.removeFromParent(); |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
149 } |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
150 }); |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
151 init(); |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
152 } |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
153 |
6602
244beb29418e
Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents:
6558
diff
changeset
|
154 /** |
244beb29418e
Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents:
6558
diff
changeset
|
155 * 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
|
156 * 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
|
157 * 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
|
158 */ |
244beb29418e
Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents:
6558
diff
changeset
|
159 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
|
160 $doc.wikiLinkForm.submit(); |
244beb29418e
Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents:
6558
diff
changeset
|
161 }-*/; |
244beb29418e
Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents:
6558
diff
changeset
|
162 |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
163 public void init() { |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
164 setStyleName("header"); |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
165 setWidth100(); |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
166 setHeight(HEIGHT); |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
167 setBackgroundColor("#a9c9e6"); |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
168 setLayoutLeftMargin(5); |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
169 setLayoutRightMargin(5); |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
170 |
1399 | 171 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
|
172 |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
173 Img flys = new Img( |
1399 | 174 baseUrl + MESSAGES.flysLogo(), |
175 50, | |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
176 IMG_HEIGHT); |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
177 |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
178 Img bfg = new Img( |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
179 baseUrl + MESSAGES.bfgLogoSmall(), |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
180 150, |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
181 IMG_HEIGHT); |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
182 |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
183 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
|
184 fullname.setHeight(HEIGHT - IMG_HEIGHT); |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
185 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
|
186 |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
187 HLayout left = new HLayout(); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
188 left.setDefaultLayoutAlign(VerticalAlignment.CENTER); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
189 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
|
190 left.addMember(flys); |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
191 left.addMember(fullname); |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
192 |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
193 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
|
194 right.setAlign(Alignment.RIGHT); |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
195 right.setDefaultLayoutAlign(Alignment.RIGHT); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
196 right.setDefaultLayoutAlign(VerticalAlignment.CENTER); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
197 right.setMembersMargin(3); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
198 right.setLayoutRightMargin(5); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
199 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
200 projectList.setStyleName("manageProjects"); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
201 userText.setStyleName("fontBlackSmall"); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
202 logout.setStyleName("fontLightSmall"); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
203 language.setStyleName("fontLightSmall"); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
204 info.setStyleName("fontLightSmall"); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
205 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
206 userText.setAlign(Alignment.RIGHT); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
207 userText.setWidth(200); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
208 logout.setWidth(70); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
209 info.setWidth(40); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
210 language.setWidth(70); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
211 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
212 left.addMember(projectList); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
213 if (this.flys.isProjectListVisible()) { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
214 hideProjectButton(); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
215 } |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
216 else { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
217 showProjectButton(); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
218 } |
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 right.addMember(userText); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
221 right.addMember(logout); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
222 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
|
223 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
|
224 right.addMember(bfg); |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
225 |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
226 addMember(left); |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
227 addMember(right); |
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 |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
230 /** |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
231 * 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
|
232 * |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
233 * @return the flys instance. |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
234 */ |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
235 private FLYS getFlys() { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
236 return flys; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
237 } |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
238 |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
239 /** |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
240 * 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
|
241 * 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
|
242 * 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
|
243 * 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
|
244 * 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
|
245 * |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
246 * @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
|
247 * @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
|
248 */ |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
249 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
|
250 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
|
251 |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
252 if (newLocation.endsWith("/")) { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
253 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
|
254 } |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
255 |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
256 String replace = null; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
257 String replaceWith = null; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
258 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
259 if (newLocation.indexOf("&locale=") >= 0) { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
260 replace = currentLocale.equals("de") |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
261 ? "&locale=de" |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
262 : "&locale=en"; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
263 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
264 replaceWith = "&locale=" + newLocale; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
265 } |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
266 else if (newLocation.indexOf("?locale=") >= 0) { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
267 replace = currentLocale.equals("de") |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
268 ? "?locale=de" |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
269 : "?locale=en"; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
270 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
271 replaceWith = "?locale=" + newLocale; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
272 } |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
273 else { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
274 newLocation += newLocation.indexOf("?") >= 0 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
275 ? "&locale=" + newLocale |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
276 : "?locale=" + newLocale; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
277 } |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
278 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
279 if (replace != null && replaceWith != null) { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
280 newLocation = newLocation.replace(replace, replaceWith); |
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 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
283 Window.open(newLocation, "_self", ""); |
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 /** |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
287 * 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
|
288 * 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
|
289 */ |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
290 private void updateCurrentUser() { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
291 String name = currentUser != null |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
292 ? currentUser.getName() |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
293 : MESSAGES.guest(); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
294 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
295 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
|
296 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
297 String username = MESSAGES.user() + " " + name; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
298 userText.setContents(username); |
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 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
301 /** |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
302 * 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
|
303 * afterwards. |
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 * @param user the new user. |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
306 */ |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
307 public void setCurrentUser(User currentUser) { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
308 this.currentUser = currentUser; |
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 updateCurrentUser(); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
311 } |
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 public void hideProjectButton() { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
314 this.projectList.hide(); |
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 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
317 public void showProjectButton() { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
318 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
|
319 } |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
320 } |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
321 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |