You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by gb...@apache.org on 2009/03/17 17:17:21 UTC

svn commit: r755298 - in /incubator/pivot/trunk: demos/src/pivot/demos/dom/ demos/src/pivot/demos/dom/DOMTest.java wtk/src/pivot/wtk/BrowserApplicationContext.java

Author: gbrown
Date: Tue Mar 17 16:17:21 2009
New Revision: 755298

URL: http://svn.apache.org/viewvc?rev=755298&view=rev
Log:
Add Pivot/DOM interaction demo.

Added:
    incubator/pivot/trunk/demos/src/pivot/demos/dom/
    incubator/pivot/trunk/demos/src/pivot/demos/dom/DOMTest.java
Modified:
    incubator/pivot/trunk/wtk/src/pivot/wtk/BrowserApplicationContext.java

Added: incubator/pivot/trunk/demos/src/pivot/demos/dom/DOMTest.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/demos/src/pivot/demos/dom/DOMTest.java?rev=755298&view=auto
==============================================================================
--- incubator/pivot/trunk/demos/src/pivot/demos/dom/DOMTest.java (added)
+++ incubator/pivot/trunk/demos/src/pivot/demos/dom/DOMTest.java Tue Mar 17 16:17:21 2009
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2009 VMware, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package pivot.demos.dom;
+
+import pivot.collections.Dictionary;
+import pivot.wtk.Alert;
+import pivot.wtk.Application;
+import pivot.wtk.BrowserApplicationContext;
+import pivot.wtk.Button;
+import pivot.wtk.ButtonPressListener;
+import pivot.wtk.Display;
+import pivot.wtk.FlowPane;
+import pivot.wtk.HorizontalAlignment;
+import pivot.wtk.PushButton;
+import pivot.wtk.Window;
+
+public class DOMTest implements Application {
+    private Window window = null;
+    private PushButton helloButton = null;
+
+    public void startup(Display display, Dictionary<String, String> properties)
+        throws Exception {
+        FlowPane flowPane = new FlowPane();
+        flowPane.getStyles().put("horizontalAlignment", HorizontalAlignment.CENTER);
+
+        helloButton = new PushButton("Say Hello");
+        flowPane.add(helloButton);
+
+        helloButton.getButtonPressListeners().add(new ButtonPressListener() {
+            public void buttonPressed(Button button) {
+                BrowserApplicationContext.eval("sayHello(\"Hello from Java!\")");
+            }
+        });
+
+        window = new Window(flowPane);
+        window.setMaximized(true);
+        window.open(display);
+    }
+
+    public boolean shutdown(boolean optional) {
+        if (window != null) {
+            window.close();
+        }
+
+        return true;
+    }
+
+    public void suspend() {
+    }
+
+    public void resume() {
+    }
+
+    public void sayHello(String helloText) {
+        Alert.alert(helloText, window);
+    }
+}

Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/BrowserApplicationContext.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/BrowserApplicationContext.java?rev=755298&r1=755297&r2=755298&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/BrowserApplicationContext.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/BrowserApplicationContext.java Tue Mar 17 16:17:21 2009
@@ -254,6 +254,10 @@
      * documentation on the <tt>separate_jvm</tt> applet parameter.
      */
     public static Object eval(String script) {
+        if (hostApplet == null) {
+            throw new IllegalStateException("Application is not running in a web browser.");
+        }
+
         try {
             JSObject window = JSObject.getWindow(hostApplet);
             return window.eval(script);