# HG changeset patch # User Jaroslav Tulach # Date 1352459205 -3600 # Node ID 63be794c1eeb4560316b874d85ffb0b81f39c662 # Parent 590958fcb7d7756de54787326be57577083fdb8a Adding calculator demo to the repository diff -r 590958fcb7d7 -r 63be794c1eeb javaquery/demo-calculator/nbactions.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/javaquery/demo-calculator/nbactions.xml Fri Nov 09 12:06:45 2012 +0100 @@ -0,0 +1,10 @@ + + + + run + + process-classes + org.codehaus.mojo:exec-maven-plugin:1.2.1:exec + + + diff -r 590958fcb7d7 -r 63be794c1eeb javaquery/demo-calculator/pom.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/javaquery/demo-calculator/pom.xml Fri Nov 09 12:06:45 2012 +0100 @@ -0,0 +1,63 @@ + + 4.0.0 + + org.apidesign.bck2brwsr + demo.calculator + 1.0-SNAPSHOT + jar + + JavaQuery Demo - Calculator + http://maven.apache.org + + + UTF-8 + + + + + org.apidesign.bck2brwsr + mojo + 1.0-SNAPSHOT + + + + j2js + + + + + + org.codehaus.mojo + exec-maven-plugin + 1.2.1 + + + + exec + + + + + xdg-open + + ${project.build.directory}/classes/org/apidesign/bck2brwsr/mavenhtml/Calculator.xhtml + + + + + + + + + org.apidesign.bck2brwsr + emul + 1.0-SNAPSHOT + + + org.apidesign.bck2brwsr + htmlpage + 1.0-SNAPSHOT + + + diff -r 590958fcb7d7 -r 63be794c1eeb javaquery/demo-calculator/src/main/java/org/apidesign/bck2brwsr/mavenhtml/App.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/javaquery/demo-calculator/src/main/java/org/apidesign/bck2brwsr/mavenhtml/App.java Fri Nov 09 12:06:45 2012 +0100 @@ -0,0 +1,74 @@ +package org.apidesign.bck2brwsr.mavenhtml; + +import org.apidesign.bck2brwsr.htmlpage.api.OnClick; +import org.apidesign.bck2brwsr.htmlpage.api.Page; + +@Page(xhtml="Calculator.xhtml") +public class App { + private static final int OP_PLUS = 1; + private static final int OP_MINUS = 2; + private static final int OP_MUL = 3; + private static final int OP_DIV = 4; + + static double memory = 0; + static int operation = 0; + + + + @OnClick(id="clear") + static void clear() { + setValue(0.0); + } + + private static void setValue(double v) { + StringBuilder sb = new StringBuilder(); + sb.append(v); + Calculator.DISPLAY.setValue(sb.toString()); + } + + private static double getValue() { + return Double.parseDouble(Calculator.DISPLAY.getValue()); + } + + @OnClick(id="plus") + static void plus() { + memory = getValue(); + operation = OP_PLUS; + setValue(0.0); + } + + @OnClick(id="minus") + static void minus() { + memory = getValue(); + operation = OP_MINUS; + setValue(0.0); + } + + @OnClick(id="mul") + static void mul() { + memory = getValue(); + operation = OP_MUL; + setValue(0.0); + } + + @OnClick(id="result") + static void computeTheValue() { + switch (operation) { + case 0: break; + case OP_PLUS: setValue(memory + getValue()); break; + case OP_MINUS: setValue(memory - getValue()); break; + case OP_MUL: setValue(memory * getValue()); break; + } + } + + @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 ("0".equals(v) || v == null) { + Calculator.DISPLAY.setValue(digit); + } else { + Calculator.DISPLAY.setValue(v + digit); + } + } +} diff -r 590958fcb7d7 -r 63be794c1eeb javaquery/demo-calculator/src/main/resources/org/apidesign/bck2brwsr/mavenhtml/Calculator.xhtml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/javaquery/demo-calculator/src/main/resources/org/apidesign/bck2brwsr/mavenhtml/Calculator.xhtml Fri Nov 09 12:06:45 2012 +0100 @@ -0,0 +1,46 @@ + + + + + + Simple Calculator in HTML5 and Java + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +