rt/mojo/src/main/resources/archetype-resources/src/main/java/App.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Tue, 26 Feb 2013 16:54:16 +0100
changeset 772 d382dacfd73f
parent 744 mojo/src/main/resources/archetype-resources/src/main/java/App.java@341d8ed644df
permissions -rw-r--r--
Moving modules around so the runtime is under one master pom and can be built without building other modules that are in the repository
jaroslav@421
     1
package ${package};
jaroslav@141
     2
jaroslav@437
     3
import org.apidesign.bck2brwsr.htmlpage.api.*;
jaroslav@435
     4
import static org.apidesign.bck2brwsr.htmlpage.api.OnEvent.*;
jaroslav@141
     5
import org.apidesign.bck2brwsr.htmlpage.api.Page;
jaroslav@528
     6
import org.apidesign.bck2brwsr.htmlpage.api.Property;
jaroslav@528
     7
import org.apidesign.bck2brwsr.htmlpage.api.ComputedProperty;
jaroslav@141
     8
jaroslav@421
     9
/** Edit the index.xhtml file. Use 'id' to name certain HTML elements.
jaroslav@421
    10
 * Use this class to define behavior of the elements.
jaroslav@198
    11
 */
jaroslav@744
    12
@Page(xhtml="index.html", className="Index", properties={
jaroslav@528
    13
    @Property(name="name", type=String.class)
jaroslav@528
    14
})
jaroslav@141
    15
public class App {
jaroslav@528
    16
    static {
jaroslav@528
    17
        Index model = new Index();
jaroslav@528
    18
        model.setName("World");
jaroslav@528
    19
        model.applyBindings();
jaroslav@528
    20
    }
jaroslav@528
    21
    
jaroslav@435
    22
    @On(event = CLICK, id="hello")
jaroslav@528
    23
    static void hello(Index m) {
jaroslav@533
    24
        GraphicsContext g = m.CANVAS.getContext();
jaroslav@533
    25
        g.clearRect(0, 0, 1000, 1000);
jaroslav@533
    26
        g.setFont("italic 40px Calibri");
jaroslav@533
    27
        g.fillText(m.getHelloMessage(), 10, 40);
jaroslav@528
    28
    }
jaroslav@528
    29
    
jaroslav@528
    30
    @ComputedProperty
jaroslav@528
    31
    static String helloMessage(String name) {
jaroslav@528
    32
        return "Hello " + name + "!";
jaroslav@141
    33
    }
jaroslav@141
    34
}