From 7ef7846b71b60f628ec2b710ac6e8f4a8f8cb9d4 Mon Sep 17 00:00:00 2001 From: Matti Tahvonen Date: Fri, 17 Aug 2007 06:38:15 +0000 Subject: [PATCH] client console into a window, removed need for trailing slash in uri svn changeset:2035/svn branch:trunk --- .../gwt/client/ApplicationConnection.java | 17 +++++- .../toolkit/terminal/gwt/client/Console.java | 31 ----------- .../terminal/gwt/client/DebugConsole.java | 55 +++++++++++++++++++ .../terminal/gwt/client/NullConsole.java | 22 ++++++++ .../gwt/server/ApplicationServlet.java | 16 +++--- 5 files changed, 100 insertions(+), 41 deletions(-) delete mode 100755 src/com/itmill/toolkit/terminal/gwt/client/Console.java create mode 100755 src/com/itmill/toolkit/terminal/gwt/client/DebugConsole.java create mode 100644 src/com/itmill/toolkit/terminal/gwt/client/NullConsole.java diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java b/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java index 829849e5a6..2988079379 100755 --- a/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java @@ -16,6 +16,7 @@ import com.google.gwt.json.client.JSONObject; import com.google.gwt.json.client.JSONParser; import com.google.gwt.json.client.JSONString; import com.google.gwt.json.client.JSONValue; +import com.google.gwt.user.client.Window; import com.google.gwt.user.client.ui.FocusListener; import com.google.gwt.user.client.ui.FocusWidget; import com.google.gwt.user.client.ui.HasWidgets; @@ -23,6 +24,7 @@ import com.google.gwt.user.client.ui.RootPanel; import com.google.gwt.user.client.ui.Widget; import com.itmill.toolkit.terminal.gwt.client.ui.IContextMenu; import com.itmill.toolkit.terminal.gwt.client.ui.IView; +import com.itmill.toolkit.terminal.gwt.client.ui.IWindow; /** * Entry point classes define onModuleLoad(). @@ -55,14 +57,23 @@ public class ApplicationConnection implements EntryPoint, FocusListener { public void onModuleLoad() { appUri = getAppUri(); - - // TODO Hardcoded (finnish) id -> change - console = new Console(RootPanel.get("itmtk-loki")); + + if(isDebugMode()) { + console = new DebugConsole(); + } else { + console = new NullConsole(); + } makeUidlRequest("repaintAll=1"); } + private native boolean isDebugMode() /*-{ + var uri = $wnd.location; + var re = /debug[^\/]*$/; + return re.test(uri); + }-*/; + private native String getAppUri()/*-{ return $wnd.itmtk.appUri; }-*/; diff --git a/src/com/itmill/toolkit/terminal/gwt/client/Console.java b/src/com/itmill/toolkit/terminal/gwt/client/Console.java deleted file mode 100755 index f39390be6e..0000000000 --- a/src/com/itmill/toolkit/terminal/gwt/client/Console.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.itmill.toolkit.terminal.gwt.client; - -import com.google.gwt.user.client.ui.Label; -import com.google.gwt.user.client.ui.RootPanel; - -public final class Console { - - private RootPanel rp; - - public Console(RootPanel rp) { - this.rp = rp; - } - - public void log(String msg) { - rp.add(new Label(msg)); - System.out.println(msg); - } - - public void error(String msg) { - rp.add((new Label(msg))); - System.out.println(msg); - } - - public void printObject(Object msg) { - rp.add((new Label(msg.toString()))); - } - - public void dirUIDL(UIDL u) { - rp.add(u.print_r()); - } -} diff --git a/src/com/itmill/toolkit/terminal/gwt/client/DebugConsole.java b/src/com/itmill/toolkit/terminal/gwt/client/DebugConsole.java new file mode 100755 index 0000000000..b15f547875 --- /dev/null +++ b/src/com/itmill/toolkit/terminal/gwt/client/DebugConsole.java @@ -0,0 +1,55 @@ +package com.itmill.toolkit.terminal.gwt.client; + +import com.google.gwt.user.client.Window; +import com.google.gwt.user.client.ui.FlowPanel; +import com.google.gwt.user.client.ui.Label; +import com.itmill.toolkit.terminal.gwt.client.ui.IWindow; + +public final class DebugConsole extends IWindow implements Console { + + private FlowPanel panel; + + public DebugConsole() { + super(); + panel = new FlowPanel(); + this.setWidget(panel); + minimize(); + show(); + } + + private void minimize() { + // TODO stack to bottom (create window manager of some sort) + setPixelSize(60, 60); + setPopupPosition(Window.getClientWidth() - 66, Window.getClientHeight() - 66); + } + + /* (non-Javadoc) + * @see com.itmill.toolkit.terminal.gwt.client.Console#log(java.lang.String) + */ + public void log(String msg) { + panel.add(new Label(msg)); + System.out.println(msg); + } + + /* (non-Javadoc) + * @see com.itmill.toolkit.terminal.gwt.client.Console#error(java.lang.String) + */ + public void error(String msg) { + panel.add((new Label(msg))); + System.out.println(msg); + } + + /* (non-Javadoc) + * @see com.itmill.toolkit.terminal.gwt.client.Console#printObject(java.lang.Object) + */ + public void printObject(Object msg) { + panel.add((new Label(msg.toString()))); + } + + /* (non-Javadoc) + * @see com.itmill.toolkit.terminal.gwt.client.Console#dirUIDL(com.itmill.toolkit.terminal.gwt.client.UIDL) + */ + public void dirUIDL(UIDL u) { + panel.add(u.print_r()); + } +} diff --git a/src/com/itmill/toolkit/terminal/gwt/client/NullConsole.java b/src/com/itmill/toolkit/terminal/gwt/client/NullConsole.java new file mode 100644 index 0000000000..44f4aedc5e --- /dev/null +++ b/src/com/itmill/toolkit/terminal/gwt/client/NullConsole.java @@ -0,0 +1,22 @@ +package com.itmill.toolkit.terminal.gwt.client; + +/** + * Client side console implementation for non-debug mode + * that discards all messages. + * + */ +public class NullConsole implements Console { + + public void dirUIDL(UIDL u) { + } + + public void error(String msg) { + } + + public void log(String msg) { + } + + public void printObject(Object msg) { + } + +} diff --git a/src/com/itmill/toolkit/terminal/gwt/server/ApplicationServlet.java b/src/com/itmill/toolkit/terminal/gwt/server/ApplicationServlet.java index af66067c4c..27f8f75942 100644 --- a/src/com/itmill/toolkit/terminal/gwt/server/ApplicationServlet.java +++ b/src/com/itmill/toolkit/terminal/gwt/server/ApplicationServlet.java @@ -422,7 +422,10 @@ public class ApplicationServlet extends HttpServlet { Window window, String themeName) throws IOException, MalformedURLException { response.setContentType("text/html"); BufferedWriter page = new BufferedWriter(new OutputStreamWriter(response.getOutputStream())); - + + String uri = request.getRequestURL().toString(); + boolean hasSlash = (uri.charAt(uri.length()-1) == '/') ? true : false; + page .write("\n"); @@ -430,7 +433,7 @@ public class ApplicationServlet extends HttpServlet { page.write("\n\nIT Mill Toolkit 5\n" + - "\n" + + "\n" + "\n" + "" + - "\n\n\n" + + "\n\n\n" + " \n" + "
" + - "
\n" + - "
console
"+ "
IT Mill Toolkit 5 Prototype
\n" + " \n" + "\n"); -- 2.39.5