Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/MainMenu.java @ 4205:0dd8963cec9c
Set also the width of the GaugeTree when resizing the GaugePanel
GWT is no longer able to calculate and set the correct width of the GaugeTree since
the GaugeTree is added via a Canvas wrapper. Therefore set the width manually
when resizing the GaugeTree.
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Mon, 22 Oct 2012 15:33:16 +0200 |
parents | 725470fc57d2 |
children | c179cd02177d |
rev | line source |
---|---|
1
0e22a19852e7
Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.client.client.ui; |
0e22a19852e7
Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
2 |
0e22a19852e7
Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
3 import com.google.gwt.core.client.GWT; |
210
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
4 import com.google.gwt.i18n.client.LocaleInfo; |
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
5 import com.google.gwt.user.client.Window; |
28
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
6 import com.smartgwt.client.types.Alignment; |
212
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
7 import com.smartgwt.client.util.BooleanCallback; |
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
8 import com.smartgwt.client.util.SC; |
532
0ba7c43e7b62
Replaced buttons displayed as labels with real buttons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
212
diff
changeset
|
9 import com.smartgwt.client.widgets.Button; |
1
0e22a19852e7
Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
10 import com.smartgwt.client.widgets.Label; |
6
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2
diff
changeset
|
11 import com.smartgwt.client.widgets.events.ClickEvent; |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2
diff
changeset
|
12 import com.smartgwt.client.widgets.events.ClickHandler; |
1
0e22a19852e7
Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
13 import com.smartgwt.client.widgets.layout.HLayout; |
0e22a19852e7
Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
14 |
6
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2
diff
changeset
|
15 import de.intevation.flys.client.client.FLYS; |
211
b92281182c6b
Removed the FLYSMessages interface and replaced it with a FLYSConstants interface - this interface has the ability to lookup i18n strings with given keys.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
210
diff
changeset
|
16 import de.intevation.flys.client.client.FLYSConstants; |
25
2da6be38d8b6
Added a User interface and a default implementation to handle users in this client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
6
diff
changeset
|
17 import de.intevation.flys.client.shared.model.User; |
1
0e22a19852e7
Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
18 |
0e22a19852e7
Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
19 |
0e22a19852e7
Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
20 /** |
0e22a19852e7
Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
21 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
0e22a19852e7
Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
22 */ |
0e22a19852e7
Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
23 public class MainMenu extends HLayout { |
0e22a19852e7
Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
24 |
0e22a19852e7
Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
25 /** The interface that provides i18n messages. */ |
2983
725470fc57d2
Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents:
532
diff
changeset
|
26 private final FLYSConstants messages = GWT.create(FLYSConstants.class); |
1
0e22a19852e7
Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
27 |
6
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2
diff
changeset
|
28 /** An instance to FLYS.*/ |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2
diff
changeset
|
29 protected FLYS flys; |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2
diff
changeset
|
30 |
2
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
31 /** The user that is currently logged in. */ |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
32 protected User currentUser; |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
33 |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
34 /** The label that displays the current logged in user. */ |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
35 protected Label userText; |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
36 |
28
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
37 /** The button to log the current user out.*/ |
532
0ba7c43e7b62
Replaced buttons displayed as labels with real buttons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
212
diff
changeset
|
38 protected Button logout; |
2
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
39 |
6
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2
diff
changeset
|
40 /** The button to add new projects.*/ |
532
0ba7c43e7b62
Replaced buttons displayed as labels with real buttons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
212
diff
changeset
|
41 protected Button newProject; |
28
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
42 |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
43 /** The button to open the project list.*/ |
532
0ba7c43e7b62
Replaced buttons displayed as labels with real buttons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
212
diff
changeset
|
44 protected Button projectList; |
28
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
45 |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
46 /** The button to switch between the english and german version.*/ |
532
0ba7c43e7b62
Replaced buttons displayed as labels with real buttons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
212
diff
changeset
|
47 protected Button language; |
28
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
48 |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
49 /** The button to open an info panel.*/ |
532
0ba7c43e7b62
Replaced buttons displayed as labels with real buttons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
212
diff
changeset
|
50 protected Button info; |
6
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2
diff
changeset
|
51 |
1
0e22a19852e7
Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
52 /** |
0e22a19852e7
Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
53 * The default constructor for creating a new MainMenu. |
0e22a19852e7
Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
54 */ |
6
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2
diff
changeset
|
55 public MainMenu(FLYS flys) { |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2
diff
changeset
|
56 this.flys = flys; |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2
diff
changeset
|
57 |
102
33e24b33fc38
Improved the way how to i18n strings in our application.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
94
diff
changeset
|
58 String guest = messages.user() + " " + messages.guest(); |
33e24b33fc38
Improved the way how to i18n strings in our application.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
94
diff
changeset
|
59 |
33e24b33fc38
Improved the way how to i18n strings in our application.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
94
diff
changeset
|
60 userText = new Label(guest); |
532
0ba7c43e7b62
Replaced buttons displayed as labels with real buttons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
212
diff
changeset
|
61 newProject = new Button(messages.new_project()); |
0ba7c43e7b62
Replaced buttons displayed as labels with real buttons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
212
diff
changeset
|
62 projectList = new Button(messages.manage_projects()); |
0ba7c43e7b62
Replaced buttons displayed as labels with real buttons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
212
diff
changeset
|
63 logout = new Button(messages.logout()); |
0ba7c43e7b62
Replaced buttons displayed as labels with real buttons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
212
diff
changeset
|
64 language = new Button(messages.switch_language()); |
0ba7c43e7b62
Replaced buttons displayed as labels with real buttons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
212
diff
changeset
|
65 info = new Button(messages.info()); |
6
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2
diff
changeset
|
66 |
28
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
67 newProject.addClickHandler(new ClickHandler() { |
2983
725470fc57d2
Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents:
532
diff
changeset
|
68 @Override |
6
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2
diff
changeset
|
69 public void onClick(ClickEvent event) { |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2
diff
changeset
|
70 GWT.log("Clicked 'New Project' button."); |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2
diff
changeset
|
71 createNewProject(); |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2
diff
changeset
|
72 } |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2
diff
changeset
|
73 }); |
2
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
74 |
28
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
75 projectList.addClickHandler(new ClickHandler() { |
2983
725470fc57d2
Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents:
532
diff
changeset
|
76 @Override |
28
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
77 public void onClick(ClickEvent event) { |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
78 GWT.log("Clicked 'Open ProjectList' button."); |
88
4d7c6a63602b
Fixed toggle method.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
82
diff
changeset
|
79 ProjectList list = getFlys().getProjectList(); |
94
eb54fb9f5f2c
Fixed some issues.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
88
diff
changeset
|
80 if (list.isVisible()) |
88
4d7c6a63602b
Fixed toggle method.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
82
diff
changeset
|
81 list.hide(); |
82
4c5fa2b0086a
The project list button toggles the project list now.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
66
diff
changeset
|
82 else |
88
4d7c6a63602b
Fixed toggle method.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
82
diff
changeset
|
83 list.show(); |
28
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
84 } |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
85 }); |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
86 |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
87 logout.addClickHandler(new ClickHandler() { |
2983
725470fc57d2
Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents:
532
diff
changeset
|
88 @Override |
28
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
89 public void onClick(ClickEvent event) { |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
90 GWT.log("Clicked 'logout' button."); |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
91 GWT.log("IMPLEMENT the 'logout' function."); |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
92 } |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
93 }); |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
94 |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
95 language.addClickHandler(new ClickHandler() { |
2983
725470fc57d2
Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents:
532
diff
changeset
|
96 @Override |
28
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
97 public void onClick(ClickEvent event) { |
212
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
98 LocaleInfo info = LocaleInfo.getCurrentLocale(); |
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
99 final String currentLocale = info.getLocaleName(); |
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
100 final String newLocale = currentLocale.equals("de") |
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
101 ? "en" |
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
102 : "de"; |
210
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
103 |
212
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
104 SC.confirm(messages.warning(), messages.warning_language(), |
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
105 new BooleanCallback() { |
2983
725470fc57d2
Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents:
532
diff
changeset
|
106 @Override |
212
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
107 public void execute(Boolean value) { |
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
108 if (value) { |
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
109 switchLanguage(currentLocale, newLocale); |
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
110 } |
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
111 } |
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
112 }); |
28
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
113 } |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
114 }); |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
115 |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
116 info.addClickHandler(new ClickHandler() { |
2983
725470fc57d2
Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents:
532
diff
changeset
|
117 @Override |
28
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
118 public void onClick(ClickEvent event) { |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
119 GWT.log("Clicked 'info' button."); |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
120 GWT.log("IMPLEMENT the 'open info panel' function."); |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
121 } |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
122 }); |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
123 |
1
0e22a19852e7
Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
124 init(); |
0e22a19852e7
Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
125 } |
0e22a19852e7
Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
126 |
0e22a19852e7
Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
127 |
2
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
128 /** |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
129 * This method is called by the constructor after creating the necessary |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
130 * components. It initializes layout specific stuff like width, height, |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
131 * colors and so on and appends the components. |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
132 */ |
1
0e22a19852e7
Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
133 protected void init() { |
66
a361ce81abcf
Customized style for header and mainmenu.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
28
diff
changeset
|
134 setStyleName("bgBlueDark"); |
a361ce81abcf
Customized style for header and mainmenu.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
28
diff
changeset
|
135 setHeight("25px"); |
28
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
136 setLayoutMargin(5); |
6
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2
diff
changeset
|
137 |
66
a361ce81abcf
Customized style for header and mainmenu.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
28
diff
changeset
|
138 newProject.setStyleName("fontLightSmall"); |
a361ce81abcf
Customized style for header and mainmenu.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
28
diff
changeset
|
139 projectList.setStyleName("fontLightSmall"); |
a361ce81abcf
Customized style for header and mainmenu.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
28
diff
changeset
|
140 userText.setStyleName("fontLightSmall"); |
a361ce81abcf
Customized style for header and mainmenu.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
28
diff
changeset
|
141 newProject.setStyleName("fontLightSmall"); |
a361ce81abcf
Customized style for header and mainmenu.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
28
diff
changeset
|
142 logout.setStyleName("fontLightSmall"); |
a361ce81abcf
Customized style for header and mainmenu.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
28
diff
changeset
|
143 language.setStyleName("fontLightSmall"); |
a361ce81abcf
Customized style for header and mainmenu.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
28
diff
changeset
|
144 info.setStyleName("fontLightSmall"); |
a361ce81abcf
Customized style for header and mainmenu.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
28
diff
changeset
|
145 |
a361ce81abcf
Customized style for header and mainmenu.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
28
diff
changeset
|
146 projectList.setWidth("140px"); |
a361ce81abcf
Customized style for header and mainmenu.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
28
diff
changeset
|
147 |
28
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
148 HLayout leftPanel = new HLayout(); |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
149 leftPanel.setWidth("80%"); |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
150 leftPanel.setMembersMargin(5); |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
151 leftPanel.addMember(newProject); |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
152 leftPanel.addMember(projectList); |
6
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2
diff
changeset
|
153 |
28
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
154 userText.setAlign(Alignment.RIGHT); |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
155 userText.setWidth(200); |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
156 logout.setWidth(70); |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
157 info.setWidth(40); |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
158 language.setWidth(70); |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
159 |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
160 HLayout rightPanel = new HLayout(); |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
161 rightPanel.setAlign(Alignment.RIGHT); |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
162 rightPanel.setMembersMargin(3); |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
163 rightPanel.setLayoutRightMargin(5); |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
164 rightPanel.addMember(userText); |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
165 rightPanel.addMember(logout); |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
166 rightPanel.addMember(language); |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
167 rightPanel.addMember(info); |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
168 |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
169 addMember(leftPanel); |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
170 addMember(rightPanel); |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
171 } |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
172 |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
173 |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
174 /** |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
175 * Returns the FLYS instance stored in this class. |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
176 * |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
177 * @return the flys instance. |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
178 */ |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
179 protected FLYS getFlys() { |
dfdb927b137d
Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
25
diff
changeset
|
180 return flys; |
2
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
181 } |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
182 |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
183 |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
184 /** |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
185 * Set the current {@link User} and call {@link updateCurrentUser()} |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
186 * afterwards. |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
187 * |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
188 * @param user the new user. |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
189 */ |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
190 public void setCurrentUser(User currentUser) { |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
191 this.currentUser = currentUser; |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
192 |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
193 updateCurrentUser(); |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
194 } |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
195 |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
196 |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
197 /** |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
198 * Update the text field that shows the current user. If no user is |
211
b92281182c6b
Removed the FLYSMessages interface and replaced it with a FLYSConstants interface - this interface has the ability to lookup i18n strings with given keys.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
210
diff
changeset
|
199 * currently logged in, the text will display {@link FLYSConstants.guest()}. |
2
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
200 */ |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
201 public void updateCurrentUser() { |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
202 String name = currentUser != null |
25
2da6be38d8b6
Added a User interface and a default implementation to handle users in this client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
6
diff
changeset
|
203 ? currentUser.getName() |
2
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
204 : messages.guest(); |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
205 |
bc5d4d2297b9
Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1
diff
changeset
|
206 GWT.log("Update the current user: " + name); |
102
33e24b33fc38
Improved the way how to i18n strings in our application.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
94
diff
changeset
|
207 |
33e24b33fc38
Improved the way how to i18n strings in our application.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
94
diff
changeset
|
208 String username = messages.user() + " " + name; |
33e24b33fc38
Improved the way how to i18n strings in our application.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
94
diff
changeset
|
209 userText.setContents(username); |
1
0e22a19852e7
Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
210 } |
6
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2
diff
changeset
|
211 |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2
diff
changeset
|
212 |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2
diff
changeset
|
213 /** |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2
diff
changeset
|
214 * Create a new project by calling FLYS.newProject(). |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2
diff
changeset
|
215 */ |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2
diff
changeset
|
216 protected void createNewProject() { |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2
diff
changeset
|
217 flys.newProject(); |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2
diff
changeset
|
218 } |
210
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
219 |
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
220 |
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
221 /** |
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
222 * This method triggers the language switch between the <i>currentLocale</i> |
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
223 * and the <i>newLocale</i>. The switch is done by replacing a "locale=" |
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
224 * parameter in the url of the application. We could use the GWT UrlBuilder |
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
225 * class to create a new URL, but - in my eyes - this class is a bit |
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
226 * inconsistens in its implementation. |
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
227 * |
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
228 * @param currentLocale The current locale string (e.g. "en"). |
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
229 * @param newLocale The new locale string (e.g. "de"). |
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
230 */ |
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
231 protected void switchLanguage(String currentLocale, String newLocale) { |
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
232 String newLocation = Window.Location.getHref(); |
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
233 |
212
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
234 if (newLocation.endsWith("/")) { |
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
235 newLocation = newLocation.substring(0, newLocation.length()-1); |
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
236 } |
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
237 |
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
238 String replace = null; |
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
239 String replaceWith = null; |
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
240 |
210
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
241 if (newLocation.indexOf("&locale=") >= 0) { |
212
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
242 replace = currentLocale.equals("de") |
210
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
243 ? "&locale=de" |
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
244 : "&locale=en"; |
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
245 |
212
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
246 replaceWith = "&locale=" + newLocale; |
210
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
247 } |
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
248 else if (newLocation.indexOf("?locale=") >= 0) { |
212
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
249 replace = currentLocale.equals("de") |
210
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
250 ? "?locale=de" |
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
251 : "?locale=en"; |
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
252 |
212
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
253 replaceWith = "?locale=" + newLocale; |
210
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
254 } |
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
255 else { |
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
256 newLocation += newLocation.indexOf("?") >= 0 |
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
257 ? "&locale=" + newLocale |
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
258 : "?locale=" + newLocale; |
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
259 } |
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
260 |
212
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
261 if (replace != null && replaceWith != null) { |
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
262 newLocation = newLocation.replace(replace, replaceWith); |
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
263 } |
e3ea3c74b7f5
Fixed the function to toggle the language and added a warning dialog that informs the user about the creation of a new session.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
264 |
210
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
265 Window.open(newLocation, "_self", ""); |
c587903f02a4
Implemented the button to toggle the current locale.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
266 } |
1
0e22a19852e7
Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
267 } |
0e22a19852e7
Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
268 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |