# HG changeset patch
# User Jaroslav Tulach
# Date 1358780665 -3600
# Node ID b26510e3e1054e63eb31e03f0115309d26dea4f9
# Parent aaf86ae88f4646f850e49ac744ee9483d05fcfd3
Moving into demo package
diff -r aaf86ae88f46 -r b26510e3e105 javaquery/demo-calculator/pom.xml
--- a/javaquery/demo-calculator/pom.xml Mon Jan 21 15:57:30 2013 +0100
+++ b/javaquery/demo-calculator/pom.xml Mon Jan 21 16:04:25 2013 +0100
@@ -42,7 +42,7 @@
xdg-open
- ${project.build.directory}/classes/org/apidesign/bck2brwsr/mavenhtml/Calculator.xhtml
+ ${project.build.directory}/classes/org/apidesign/bck2brwsr/demo/calc/staticcompilation/Calculator.xhtml
diff -r aaf86ae88f46 -r b26510e3e105 javaquery/demo-calculator/src/main/java/org/apidesign/bck2brwsr/demo/calc/staticcompilation/Calc.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/javaquery/demo-calculator/src/main/java/org/apidesign/bck2brwsr/demo/calc/staticcompilation/Calc.java Mon Jan 21 16:04:25 2013 +0100
@@ -0,0 +1,112 @@
+/**
+ * Back 2 Browser Bytecode Translator
+ * Copyright (C) 2012 Jaroslav Tulach
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. Look for COPYING file in the top folder.
+ * If not, see http://opensource.org/licenses/GPL-2.0.
+ */
+package org.apidesign.bck2brwsr.demo.calc.staticcompilation;
+
+import org.apidesign.bck2brwsr.htmlpage.api.ComputedProperty;
+import org.apidesign.bck2brwsr.htmlpage.api.On;
+import static org.apidesign.bck2brwsr.htmlpage.api.OnEvent.*;
+import org.apidesign.bck2brwsr.htmlpage.api.Page;
+import org.apidesign.bck2brwsr.htmlpage.api.Property;
+
+/** HTML5 & Java demo showing the power of
+ * annotation processors
+ * as well as other goodies.
+ *
+ * @author Jaroslav Tulach
+ */
+@Page(xhtml="Calculator.xhtml", properties = {
+ @Property(name = "memory", type = double.class),
+ @Property(name = "display", type = double.class),
+ @Property(name = "operation", type = String.class),
+ @Property(name = "hover", type = boolean.class)
+})
+public class Calc {
+ static {
+ new Calculator().applyBindings();
+ }
+
+ @On(event = CLICK, id="clear")
+ static void clear(Calculator c) {
+ c.setMemory(0);
+ c.setOperation(null);
+ c.setDisplay(0);
+ }
+
+ @On(event = CLICK, id= { "plus", "minus", "mul", "div" })
+ static void applyOp(Calculator c, String op) {
+ c.setMemory(c.getDisplay());
+ c.setOperation(op);
+ c.setDisplay(0);
+ }
+
+ @On(event = MOUSE_OVER, id= { "result" })
+ static void attemptingIn(Calculator c, String op) {
+ c.setHover(true);
+ }
+ @On(event = MOUSE_OUT, id= { "result" })
+ static void attemptingOut(Calculator c, String op) {
+ c.setHover(false);
+ }
+
+ @On(event = CLICK, id="result")
+ static void computeTheValue(Calculator c) {
+ c.setDisplay(compute(
+ c.getOperation(),
+ c.getMemory(),
+ c.getDisplay()
+ ));
+ c.setMemory(0);
+ }
+
+ private static double compute(String op, double memory, double display) {
+ switch (op) {
+ case "plus": return memory + display;
+ case "minus": return memory - display;
+ case "mul": return memory * display;
+ case "div": return memory / display;
+ default: throw new IllegalStateException(op);
+ }
+ }
+
+ @On(event = CLICK, id={"n0", "n1", "n2", "n3", "n4", "n5", "n6", "n7", "n8", "n9"})
+ static void addDigit(String digit, Calculator c) {
+ digit = digit.substring(1);
+
+ double v = c.getDisplay();
+ if (v == 0.0) {
+ c.setDisplay(Integer.parseInt(digit));
+ } else {
+ String txt = Double.toString(v);
+ if (txt.endsWith(".0")) {
+ txt = txt.substring(0, txt.length() - 2);
+ }
+ txt = txt + digit;
+ c.setDisplay(Double.parseDouble(txt));
+ }
+ }
+
+ @ComputedProperty
+ public static String displayPreview(
+ double display, boolean hover, double memory, String operation
+ ) {
+ if (!hover) {
+ return "Type numbers and perform simple operations! Press '=' to get result.";
+ }
+ return "Attempt to compute " + memory + " " + operation + " " + display + " = " + compute(operation, memory, display);
+ }
+}
diff -r aaf86ae88f46 -r b26510e3e105 javaquery/demo-calculator/src/main/java/org/apidesign/bck2brwsr/mavenhtml/App.java
--- a/javaquery/demo-calculator/src/main/java/org/apidesign/bck2brwsr/mavenhtml/App.java Mon Jan 21 15:57:30 2013 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/**
- * Back 2 Browser Bytecode Translator
- * Copyright (C) 2012 Jaroslav Tulach
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. Look for COPYING file in the top folder.
- * If not, see http://opensource.org/licenses/GPL-2.0.
- */
-package org.apidesign.bck2brwsr.mavenhtml;
-
-import org.apidesign.bck2brwsr.htmlpage.api.ComputedProperty;
-import org.apidesign.bck2brwsr.htmlpage.api.On;
-import static org.apidesign.bck2brwsr.htmlpage.api.OnEvent.*;
-import org.apidesign.bck2brwsr.htmlpage.api.Page;
-import org.apidesign.bck2brwsr.htmlpage.api.Property;
-
-/** HTML5 & Java demo showing the power of
- * annotation processors
- * as well as other goodies.
- *
- * @author Jaroslav Tulach
- */
-@Page(xhtml="Calculator.xhtml", properties = {
- @Property(name = "memory", type = double.class),
- @Property(name = "display", type = double.class),
- @Property(name = "operation", type = String.class),
- @Property(name = "hover", type = boolean.class)
-})
-public class App {
- static {
- new Calculator().applyBindings();
- }
-
- @On(event = CLICK, id="clear")
- static void clear(Calculator c) {
- c.setMemory(0);
- c.setOperation(null);
- c.setDisplay(0);
- }
-
- @On(event = CLICK, id= { "plus", "minus", "mul", "div" })
- static void applyOp(Calculator c, String op) {
- c.setMemory(c.getDisplay());
- c.setOperation(op);
- c.setDisplay(0);
- }
-
- @On(event = MOUSE_OVER, id= { "result" })
- static void attemptingIn(Calculator c, String op) {
- c.setHover(true);
- }
- @On(event = MOUSE_OUT, id= { "result" })
- static void attemptingOut(Calculator c, String op) {
- c.setHover(false);
- }
-
- @On(event = CLICK, id="result")
- static void computeTheValue(Calculator c) {
- c.setDisplay(compute(
- c.getOperation(),
- c.getMemory(),
- c.getDisplay()
- ));
- c.setMemory(0);
- }
-
- private static double compute(String op, double memory, double display) {
- switch (op) {
- case "plus": return memory + display;
- case "minus": return memory - display;
- case "mul": return memory * display;
- case "div": return memory / display;
- default: throw new IllegalStateException(op);
- }
- }
-
- @On(event = CLICK, id={"n0", "n1", "n2", "n3", "n4", "n5", "n6", "n7", "n8", "n9"})
- static void addDigit(String digit, Calculator c) {
- digit = digit.substring(1);
-
- double v = c.getDisplay();
- if (v == 0.0) {
- c.setDisplay(Integer.parseInt(digit));
- } else {
- String txt = Double.toString(v);
- if (txt.endsWith(".0")) {
- txt = txt.substring(0, txt.length() - 2);
- }
- txt = txt + digit;
- c.setDisplay(Double.parseDouble(txt));
- }
- }
-
- @ComputedProperty
- public static String displayPreview(
- double display, boolean hover, double memory, String operation
- ) {
- if (!hover) {
- return "Type numbers and perform simple operations! Press '=' to get result.";
- }
- return "Attempt to compute " + memory + " " + operation + " " + display + " = " + compute(operation, memory, display);
- }
-}
diff -r aaf86ae88f46 -r b26510e3e105 javaquery/demo-calculator/src/main/resources/org/apidesign/bck2brwsr/demo/calc/staticcompilation/Calculator.xhtml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/javaquery/demo-calculator/src/main/resources/org/apidesign/bck2brwsr/demo/calc/staticcompilation/Calculator.xhtml Mon Jan 21 16:04:25 2013 +0100
@@ -0,0 +1,156 @@
+
+
+
+
+
+ Simple Calculator in HTML5 and Java
+
+
+
+
+ Java and HTML5 - Together at Last!
+
+
+
+
+
+
+
+
+ package org.apidesign.bck2brwsr.mavenhtml;
+
+ import org.apidesign.bck2brwsr.htmlpage.api.OnClick;
+ import org.apidesign.bck2brwsr.htmlpage.api.Page;
+
+ annotation processors
+
+
+
+ @author <jaroslav.tulach@apidesign.org>
+
+ @Page(xhtml="Calculator.xhtml")
+ public class App {
+ private static double memory;
+ private static String operation;
+
+ @OnClick(id="clear")
+ static void clear() {
+ memory = 0;
+ operation = null;
+ Calculator.DISPLAY.setValue("0");
+ }
+
+ @OnClick(id= { "plus", "minus", "mul", "div" })
+ static void applyOp(String op) {
+ memory = getValue();
+ operation = op;
+ Calculator.DISPLAY.setValue("0");
+ }
+
+ @OnClick(id="result")
+ static void computeTheValue() {
+ switch (operation) {
+ case "plus": setValue(memory + getValue()); break;
+ case "minus": setValue(memory - getValue()); break;
+ case "mul": setValue(memory * getValue()); break;
+ case "div": setValue(memory / getValue()); break;
+ default: throw new IllegalStateException(operation);
+ }
+ }
+
+ @OnClick(id={"n0", "n1", "n2", "n3", "n4", "n5", "n6", "n7", "n8", "n9"})
+ static void addDigit(String digit) {
+ digit = digit.substring(1);
+ String v = Calculator.DISPLAY.getValue();
+ if (getValue() == 0.0) {
+ Calculator.DISPLAY.setValue(digit);
+ } else {
+ Calculator.DISPLAY.setValue(v + digit);
+ }
+ }
+
+ private static void setValue(double v) {
+ StringBuilder sb = new StringBuilder();
+ sb.append(v);
+ Calculator.DISPLAY.setValue(sb.toString());
+ }
+
+ private static double getValue() {
+ try {
+ return Double.parseDouble(Calculator.DISPLAY.getValue());
+ } catch (NumberFormatException ex) {
+ Calculator.DISPLAY.setValue("err");
+ return 0.0;
+ }
+ }
+ }
+
+
+
+
diff -r aaf86ae88f46 -r b26510e3e105 javaquery/demo-calculator/src/main/resources/org/apidesign/bck2brwsr/mavenhtml/Calculator.xhtml
--- a/javaquery/demo-calculator/src/main/resources/org/apidesign/bck2brwsr/mavenhtml/Calculator.xhtml Mon Jan 21 15:57:30 2013 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,156 +0,0 @@
-
-
-
-
-
- Simple Calculator in HTML5 and Java
-
-
-
-
- Java and HTML5 - Together at Last!
-
-
-
-
-
-
-
-
- package org.apidesign.bck2brwsr.mavenhtml;
-
- import org.apidesign.bck2brwsr.htmlpage.api.OnClick;
- import org.apidesign.bck2brwsr.htmlpage.api.Page;
-
- annotation processors
-
-
-
- @author <jaroslav.tulach@apidesign.org>
-
- @Page(xhtml="Calculator.xhtml")
- public class App {
- private static double memory;
- private static String operation;
-
- @OnClick(id="clear")
- static void clear() {
- memory = 0;
- operation = null;
- Calculator.DISPLAY.setValue("0");
- }
-
- @OnClick(id= { "plus", "minus", "mul", "div" })
- static void applyOp(String op) {
- memory = getValue();
- operation = op;
- Calculator.DISPLAY.setValue("0");
- }
-
- @OnClick(id="result")
- static void computeTheValue() {
- switch (operation) {
- case "plus": setValue(memory + getValue()); break;
- case "minus": setValue(memory - getValue()); break;
- case "mul": setValue(memory * getValue()); break;
- case "div": setValue(memory / getValue()); break;
- default: throw new IllegalStateException(operation);
- }
- }
-
- @OnClick(id={"n0", "n1", "n2", "n3", "n4", "n5", "n6", "n7", "n8", "n9"})
- static void addDigit(String digit) {
- digit = digit.substring(1);
- String v = Calculator.DISPLAY.getValue();
- if (getValue() == 0.0) {
- Calculator.DISPLAY.setValue(digit);
- } else {
- Calculator.DISPLAY.setValue(v + digit);
- }
- }
-
- private static void setValue(double v) {
- StringBuilder sb = new StringBuilder();
- sb.append(v);
- Calculator.DISPLAY.setValue(sb.toString());
- }
-
- private static double getValue() {
- try {
- return Double.parseDouble(Calculator.DISPLAY.getValue());
- } catch (NumberFormatException ex) {
- Calculator.DISPLAY.setValue("err");
- return 0.0;
- }
- }
- }
-
-
-
-