diff -r f18b7262fe91 -r 16555ef29e9e launcher/fx/src/main/java/org/apidesign/bck2brwsr/launcher/fximpl/FXBrwsr.java --- a/launcher/fx/src/main/java/org/apidesign/bck2brwsr/launcher/fximpl/FXBrwsr.java Sun Apr 28 17:42:49 2013 +0200 +++ b/launcher/fx/src/main/java/org/apidesign/bck2brwsr/launcher/fximpl/FXBrwsr.java Thu May 30 06:09:42 2013 +0200 @@ -34,8 +34,11 @@ import javafx.scene.Node; import javafx.scene.Scene; import javafx.scene.control.Button; +import javafx.scene.control.ToolBar; +import javafx.scene.layout.BorderPane; import javafx.scene.layout.ColumnConstraints; import javafx.scene.layout.GridPane; +import javafx.scene.layout.HBox; import javafx.scene.layout.Pane; import javafx.scene.layout.Priority; import javafx.scene.layout.VBox; @@ -58,27 +61,42 @@ @Override public void start(Stage primaryStage) throws Exception { - Pane root = new WebViewPane(getParameters().getUnnamed()); - primaryStage.setScene(new Scene(root, 1024, 768)); - LOG.info("Showing the stage"); + WebView view = new WebView(); + WebController wc = new WebController(view, getParameters().getUnnamed()); + + final VBox vbox = new VBox(); + vbox.setAlignment( Pos.CENTER ); + vbox.setStyle( "-fx-background-color: #808080;"); + + + HBox hbox = new HBox(); + hbox.setStyle( "-fx-background-color: #808080;"); + hbox.setAlignment(Pos.CENTER); + hbox.getChildren().add(vbox); + vbox.getChildren().add(view); + + BorderPane root = new BorderPane(); + if ("true".equals(this.getParameters().getNamed().get("toolbar"))) { // NOI18N + final ToolBar toolbar = BrowserToolbar.create(view, vbox); + root.setTop( toolbar ); + } + root.setCenter(hbox); + + Scene scene = new Scene(root, 800, 600); + + primaryStage.setTitle( "Device Emulator" ); + primaryStage.setScene( scene ); primaryStage.show(); - LOG.log(Level.INFO, "State shown: {0}", primaryStage.isShowing()); } /** * Create a resizable WebView pane */ - private class WebViewPane extends Pane { + private static class WebController { private final JVMBridge bridge = new JVMBridge(); - public WebViewPane(List params) { + public WebController(WebView view, List params) { LOG.log(Level.INFO, "Initializing WebView with {0}", params); - VBox.setVgrow(this, Priority.ALWAYS); - setMaxWidth(Double.MAX_VALUE); - setMaxHeight(Double.MAX_VALUE); - WebView view = new WebView(); - view.setMinSize(500, 400); - view.setPrefSize(500, 400); final WebEngine eng = view.getEngine(); try { JVMBridge.addBck2BrwsrLoad(new InitBck2Brwsr(eng)); @@ -120,13 +138,6 @@ dialogStage.showAndWait(); } }); - GridPane grid = new GridPane(); - grid.setVgap(5); - grid.setHgap(5); - GridPane.setConstraints(view, 0, 1, 2, 1, HPos.CENTER, VPos.CENTER, Priority.ALWAYS, Priority.ALWAYS); - grid.getColumnConstraints().addAll(new ColumnConstraints(100, 100, Double.MAX_VALUE, Priority.ALWAYS, HPos.CENTER, true), new ColumnConstraints(40, 40, 40, Priority.NEVER, HPos.CENTER, true)); - grid.getChildren().addAll(view); - getChildren().add(grid); } boolean initBck2Brwsr(WebEngine webEngine) { @@ -141,21 +152,6 @@ return false; } - @Override - protected void layoutChildren() { - List managed = getManagedChildren(); - double width = getWidth(); - double height = getHeight(); - double top = getInsets().getTop(); - double right = getInsets().getRight(); - double left = getInsets().getLeft(); - double bottom = getInsets().getBottom(); - for (int i = 0; i < managed.size(); i++) { - Node child = managed.get(i); - layoutInArea(child, left, top, width - left - right, height - top - bottom, 0, Insets.EMPTY, true, true, HPos.CENTER, VPos.CENTER); - } - } - private class InitBck2Brwsr implements ChangeListener, Runnable { private final WebEngine eng;