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 :

http://dive4elements.wald.intevation.org