aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/itmill/toolkit/terminal/gwt/server/WebBrowser.java
diff options
context:
space:
mode:
authorJoonas Lehtinen <joonas.lehtinen@itmill.com>2007-07-23 09:18:40 +0000
committerJoonas Lehtinen <joonas.lehtinen@itmill.com>2007-07-23 09:18:40 +0000
commit88dd2ed5a48efcf2e63d37ace96915668466332e (patch)
tree631dc798bda4a2928adb56213dd4d79924d4b905 /src/com/itmill/toolkit/terminal/gwt/server/WebBrowser.java
parent4c1baacd3186c5dd01dc82a06a584c7d48360232 (diff)
downloadvaadin-framework-88dd2ed5a48efcf2e63d37ace96915668466332e.tar.gz
vaadin-framework-88dd2ed5a48efcf2e63d37ace96915668466332e.zip
Better webbrowser impl
svn changeset:1896/svn branch:trunk
Diffstat (limited to 'src/com/itmill/toolkit/terminal/gwt/server/WebBrowser.java')
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/server/WebBrowser.java73
1 files changed, 66 insertions, 7 deletions
diff --git a/src/com/itmill/toolkit/terminal/gwt/server/WebBrowser.java b/src/com/itmill/toolkit/terminal/gwt/server/WebBrowser.java
index 52db76fcfd..c065a85deb 100644
--- a/src/com/itmill/toolkit/terminal/gwt/server/WebBrowser.java
+++ b/src/com/itmill/toolkit/terminal/gwt/server/WebBrowser.java
@@ -1,27 +1,86 @@
package com.itmill.toolkit.terminal.gwt.server;
+import java.util.Locale;
+
+import javax.servlet.http.HttpServletRequest;
+
import com.itmill.toolkit.terminal.Terminal;
public class WebBrowser implements Terminal {
+ private int screenHeight = 0;
+ private int screenWidth = 0;
+ private String browserApplication = null;
+ private Locale locale;
+ private String address;
+ private boolean secureConnection;
+
+ /** There is no default-theme for this terminal type.
+ *
+ * @return Allways returns null.
+ */
public String getDefaultTheme() {
- // TODO Auto-generated method stub
return null;
}
+ /** Get the height of the users display in pixels.
+ *
+ */
public int getScreenHeight() {
- // TODO Auto-generated method stub
- return 0;
+ return screenHeight;
}
+ /** Get the width of the users display in pixels.
+ *
+ */
public int getScreenWidth() {
- // TODO Auto-generated method stub
- return 0;
+ return screenWidth;
}
+ /** Get the browser user-agent string.
+ *
+ * @return
+ */
public String getBrowserApplication() {
- // TODO Auto-generated method stub
- return "";
+ return browserApplication;
+ }
+
+ void updateBrowserProperties(HttpServletRequest request) {
+ locale = request.getLocale();
+ address = request.getRemoteAddr();
+ secureConnection = request.isSecure();
+
+ String agent = request.getHeader("user-agent");
+ if (agent != null) browserApplication = agent;
+
+ String sw = request.getParameter("screenWidth");
+ String sh = request.getParameter("screenHeight");
+ if (sw != null && sh != null) {
+ try {
+ screenHeight = Integer.parseInt(sh);
+ screenWidth = Integer.parseInt(sw);
+ } catch (NumberFormatException e) {
+ screenHeight = screenWidth = 0;
+ }
+ }
+ }
+
+ /** Get the IP-address of the web browser.
+ *
+ * @return IP-address in 1.12.123.123 -format
+ */
+ public String getAddress() {
+ return address;
+ }
+
+ /** Get the default locate of the browser. */
+ public Locale getLocale() {
+ return locale;
+ }
+
+ /** Is the connection made using HTTPS? */
+ public boolean isSecureConnection() {
+ return secureConnection;
}
}