shemnon avatar shemnon committed bcd1013 Draft Merge

Comments (0)

Files changed (911)

 	<classpathentry kind="src" path="javafx-ui-controls/build/builders"/>
 	<classpathentry kind="src" path="javafx-util-converter/src"/>
 	<classpathentry kind="src" path="javafx-util-converter/test"/>
+	<classpathentry kind="src" path="javafx-embed-swing/src"/>
+	<classpathentry kind="src" path="javafx-embed-swt/src"/>
 	<classpathentry kind="src" path="pisces/src"/>
 	<classpathentry kind="src" path="test-stub-toolkit/src"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 3819833c0c51b638a5d4a3c35016636786b1c60a 8.0-b72
 7847b4bf9ec54ec4018af1e568cbf480327d89be 8.0-b73
 63d458f961419092ef9cd88e6be2b759bdfd4fa1 8.0-b74
+51946c2cfc6ee53ea734231dae91412f2a99fa41 8.0-b75
+27a5dff62edc377e0a8b0b535874210351a8d324 8.0-b76

.idea/libraries/jfxrt_binary_stub.xml

 <component name="libraryTable">
   <library name="jfxrt-binary-stub">
     <CLASSES>
-      <root url="jar://$PROJECT_DIR$/../artifacts/sdk/rt/lib/jfxrt.jar!/" />
+      <root url="jar://$PROJECT_DIR$/../artifacts/sdk/rt/lib/ext/jfxrt.jar!/" />
       <root url="jar://$PROJECT_DIR$/../artifacts/sdk/lib/javafx-mx.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES />
   </library>
-</component>
+</component>

.idea/modules.xml

       <module fileurl="file://$PROJECT_DIR$/javafx-ui-controls/javafx-ui-controls.iml" filepath="$PROJECT_DIR$/javafx-ui-controls/javafx-ui-controls.iml" group="Controls" />
       <module fileurl="file://$PROJECT_DIR$/javafx-util-converter/javafx-util-converter.iml" filepath="$PROJECT_DIR$/javafx-util-converter/javafx-util-converter.iml" group="Core" />
       <module fileurl="file://$PROJECT_DIR$/test-stub-toolkit/test-stub-toolkit.iml" filepath="$PROJECT_DIR$/test-stub-toolkit/test-stub-toolkit.iml" group="Tools" />
+      <module fileurl="file://$PROJECT_DIR$/javafx-embed-swing/javafx-embed-swing.iml" filepath="$PROJECT_DIR$/javafx-embed-swing/javafx-embed-swing.iml" />
+      <module fileurl="file://$PROJECT_DIR$/javafx-embed-swt/javafx-embed-swt.iml" filepath="$PROJECT_DIR$/javafx-embed-swt/javafx-embed-swt.iml" />
     </modules>
   </component>
 </project>

apps/experiments/ConferenceScheduleApp/nbproject/project.properties

 jar.compress=false
 jar.index=${jnlp.enabled}
 javac.classpath=\
-    ${javafx.runtime}/lib/jfxrt.jar
+    ${javafx.runtime}/lib/ext/jfxrt.jar
 # Space-separated list of extra javac options
 javac.compilerargs=
 javac.deprecation=false

apps/experiments/Modena/nbproject/project.properties

 dist.jar=${dist.dir}/Modena.jar
 dist.javadoc.dir=${dist.dir}/javadoc
 endorsed.classpath=\
-    ${javafx.runtime}/lib/jfxrt.jar:\
+    ${javafx.runtime}/lib/ext/jfxrt.jar:\
     ${javafx.runtime}/lib/deploy.jar:\
     ${javafx.runtime}/lib/javaws.jar:\
     ${javafx.runtime}/lib/plugin.jar

apps/experiments/Modena/src/modena/CombinationTest.fxml

+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import java.lang.*?>
+<?import java.util.*?>
+<?import javafx.collections.*?>
+<?import javafx.geometry.*?>
+<?import javafx.scene.control.*?>
+<?import javafx.scene.layout.*?>
+<?import javafx.scene.paint.*?>
+<?import javafx.scene.text.*?>
+<?import javafx.scene.web.*?>
+
+<VBox id="VBox" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minHeight="-Infinity" minWidth="-Infinity" prefHeight="-1.0" prefWidth="-1.0" spacing="10.0" xmlns:fx="http://javafx.com/fxml">
+  <children>
+    <Label prefWidth="632.0" text="X inside Y Combinations">
+      <font>
+        <Font name="System Bold" size="13.0" fx:id="x2" />
+      </font>
+    </Label>
+    <TilePane hgap="10.0" prefColumns="3" prefHeight="-1.0" prefTileHeight="300.0" prefTileWidth="300.0" prefWidth="-1.0" vgap="10.0">
+      <children>
+        <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE">
+          <tabs>
+            <Tab text="ScrollPane">
+              <content>
+                <ScrollPane content="$null" prefHeight="200.0" prefWidth="200.0" />
+              </content>
+            </Tab>
+            <Tab text="Untitled Tab 2">
+              <content>
+                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
+              </content>
+            </Tab>
+          </tabs>
+        </TabPane>
+        <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE">
+          <tabs>
+            <Tab text="ListView">
+              <content>
+                <ListView prefHeight="200.0" prefWidth="200.0" />
+              </content>
+            </Tab>
+            <Tab text="Untitled Tab 2">
+              <content>
+                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
+              </content>
+            </Tab>
+          </tabs>
+        </TabPane>
+        <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE">
+          <tabs>
+            <Tab text="TreeView">
+              <content>
+                <TreeView prefHeight="200.0" prefWidth="200.0" />
+              </content>
+            </Tab>
+            <Tab text="Untitled Tab 2">
+              <content>
+                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
+              </content>
+            </Tab>
+          </tabs>
+        </TabPane>
+        <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE">
+          <tabs>
+            <Tab text="TableView">
+              <content>
+                <TableView prefHeight="200.0" prefWidth="200.0">
+                  <columns>
+                    <TableColumn prefWidth="75.0" text="Column X" />
+                    <TableColumn prefWidth="75.0" text="Column X" />
+                  </columns>
+                </TableView>
+              </content>
+            </Tab>
+            <Tab text="Untitled Tab 2">
+              <content>
+                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
+              </content>
+            </Tab>
+          </tabs>
+        </TabPane>
+        <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE">
+          <tabs>
+            <Tab text="ScrollPane">
+              <content>
+                <ScrollPane prefHeight="200.0" prefWidth="200.0">
+                  <content>
+                    <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="200.0" prefWidth="200.0" />
+                  </content>
+                </ScrollPane>
+              </content>
+            </Tab>
+            <Tab text="Untitled Tab 2">
+              <content>
+                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
+              </content>
+            </Tab>
+          </tabs>
+        </TabPane>
+        <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE">
+          <tabs>
+            <Tab text="TableView">
+              <content>
+                <SplitPane dividerPositions="0.36577181208053694" focusTraversable="true" prefHeight="160.0" prefWidth="200.0">
+                  <items>
+                    <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="160.0" prefWidth="100.0" />
+                    <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="160.0" prefWidth="100.0" />
+                  </items>
+                </SplitPane>
+              </content>
+            </Tab>
+            <Tab text="Untitled Tab 2">
+              <content>
+                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
+              </content>
+            </Tab>
+          </tabs>
+        </TabPane>
+        <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE">
+          <tabs>
+            <Tab text="HTML Editor">
+              <content>
+                <HTMLEditor minHeight="-Infinity" minWidth="-Infinity" prefHeight="50.0" prefWidth="50.0" />
+              </content>
+            </Tab>
+            <Tab text="Untitled Tab 2">
+              <content>
+                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
+              </content>
+            </Tab>
+          </tabs>
+        </TabPane>
+        <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE">
+          <tabs>
+            <Tab text="TextArea">
+              <content>
+                <TextArea prefHeight="50.0" prefWidth="50.0" text="Text Area with Lots of text&#10;&#10;&#10;s&#10;a&#10;d&#10;s&#10;d&#10;sd&#10;&#10;s&#10;d&#10;s&#10;d&#10;&#10;s" wrapText="true" />
+              </content>
+            </Tab>
+            <Tab text="Untitled Tab 2">
+              <content>
+                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
+              </content>
+            </Tab>
+          </tabs>
+        </TabPane>
+        <SplitPane dividerPositions="0.5" focusTraversable="true" prefHeight="160.0" prefWidth="200.0">
+          <items>
+            <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE">
+              <tabs>
+                <Tab text="Untitled Tab 1">
+                  <content>
+                    <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
+                  </content>
+                </Tab>
+                <Tab text="Untitled Tab 2">
+                  <content>
+                    <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
+                  </content>
+                </Tab>
+              </tabs>
+            </TabPane>
+            <TableView prefHeight="200.0" prefWidth="200.0">
+              <columns>
+                <TableColumn prefWidth="75.0" text="Column X" />
+                <TableColumn prefWidth="75.0" text="Column X" />
+              </columns>
+            </TableView>
+          </items>
+        </SplitPane>
+        <SplitPane dividerPositions="0.5167785234899329" focusTraversable="true" prefHeight="50.0" prefWidth="50.0">
+          <items>
+            <TreeView prefHeight="-1.0" prefWidth="-1.0" />
+            <ListView prefHeight="-1.0" prefWidth="-1.0" />
+          </items>
+        </SplitPane>
+        <SplitPane dividerPositions="0.5335570469798657" focusTraversable="true" prefHeight="-1.0" prefWidth="-1.0">
+          <items>
+            <ScrollPane prefHeight="-1.0" prefWidth="-1.0">
+              <content>
+                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="200.0" prefWidth="200.0" />
+              </content>
+            </ScrollPane>
+            <SplitPane dividerPositions="0.5" focusTraversable="true" orientation="VERTICAL" prefHeight="-1.0" prefWidth="-1.0">
+              <items>
+                <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="100.0" prefWidth="160.0" />
+                <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="100.0" prefWidth="160.0" />
+              </items>
+            </SplitPane>
+          </items>
+        </SplitPane>
+        <SplitPane dividerPositions="0.5" focusTraversable="true" prefHeight="160.0" prefWidth="200.0">
+          <items>
+            <HTMLEditor htmlText="&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body contenteditable=&quot;true&quot;&gt;Dude's Html Editor&lt;/body&gt;&lt;/html&gt;" minWidth="20.0" prefHeight="190.0" prefWidth="50.0" />
+            <TextArea minWidth="20.0" prefHeight="30.0" prefWidth="30.0" text="Text Area with Lots of text&#10;&#10;&#10;s&#10;a&#10;d&#10;s&#10;d&#10;sd&#10;&#10;s&#10;d&#10;s&#10;d&#10;&#10;s" wrapText="true" />
+          </items>
+        </SplitPane>
+      </children>
+    </TilePane>
+  </children>
+  <padding>
+    <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
+  </padding>
+</VBox>

apps/experiments/Modena/src/modena/CombinationTest.fxml.bak

+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import java.lang.*?>
+<?import java.util.*?>
+<?import javafx.collections.*?>
+<?import javafx.geometry.*?>
+<?import javafx.scene.control.*?>
+<?import javafx.scene.layout.*?>
+<?import javafx.scene.paint.*?>
+<?import javafx.scene.text.*?>
+<?import javafx.scene.web.*?>
+
+<VBox id="VBox" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minHeight="-Infinity" minWidth="-Infinity" prefHeight="-1.0" prefWidth="-1.0" spacing="10.0" xmlns:fx="http://javafx.com/fxml">
+  <children>
+    <Label prefWidth="632.0" text="X inside Y Combinations">
+      <font>
+        <Font name="System Bold" size="13.0" fx:id="x2" />
+      </font>
+    </Label>
+    <TilePane hgap="10.0" prefColumns="3" prefHeight="-1.0" prefTileHeight="300.0" prefTileWidth="300.0" prefWidth="-1.0" vgap="10.0">
+      <children>
+        <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE">
+          <tabs>
+            <Tab text="ScrollPane">
+              <content>
+                <ScrollPane content="$null" prefHeight="200.0" prefWidth="200.0" />
+              </content>
+            </Tab>
+            <Tab text="Untitled Tab 2">
+              <content>
+                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
+              </content>
+            </Tab>
+          </tabs>
+        </TabPane>
+        <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE">
+          <tabs>
+            <Tab text="ListView">
+              <content>
+                <ListView prefHeight="200.0" prefWidth="200.0" />
+              </content>
+            </Tab>
+            <Tab text="Untitled Tab 2">
+              <content>
+                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
+              </content>
+            </Tab>
+          </tabs>
+        </TabPane>
+        <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE">
+          <tabs>
+            <Tab text="TreeView">
+              <content>
+                <TreeView prefHeight="200.0" prefWidth="200.0" />
+              </content>
+            </Tab>
+            <Tab text="Untitled Tab 2">
+              <content>
+                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
+              </content>
+            </Tab>
+          </tabs>
+        </TabPane>
+        <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE">
+          <tabs>
+            <Tab text="TableView">
+              <content>
+                <TableView prefHeight="200.0" prefWidth="200.0">
+                  <columns>
+                    <TableColumn prefWidth="75.0" text="Column X" />
+                    <TableColumn prefWidth="75.0" text="Column X" />
+                  </columns>
+                </TableView>
+              </content>
+            </Tab>
+            <Tab text="Untitled Tab 2">
+              <content>
+                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
+              </content>
+            </Tab>
+          </tabs>
+        </TabPane>
+        <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE">
+          <tabs>
+            <Tab text="ScrollPane">
+              <content>
+                <ScrollPane prefHeight="200.0" prefWidth="200.0">
+                  <content>
+                    <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="200.0" prefWidth="200.0" />
+                  </content>
+                </ScrollPane>
+              </content>
+            </Tab>
+            <Tab text="Untitled Tab 2">
+              <content>
+                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
+              </content>
+            </Tab>
+          </tabs>
+        </TabPane>
+        <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE">
+          <tabs>
+            <Tab text="TableView">
+              <content>
+                <SplitPane dividerPositions="0.36577181208053694" focusTraversable="true" prefHeight="160.0" prefWidth="200.0">
+                  <items>
+                    <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="160.0" prefWidth="100.0" />
+                    <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="160.0" prefWidth="100.0" />
+                  </items>
+                </SplitPane>
+              </content>
+            </Tab>
+            <Tab text="Untitled Tab 2">
+              <content>
+                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
+              </content>
+            </Tab>
+          </tabs>
+        </TabPane>
+        <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE">
+          <tabs>
+            <Tab text="HTML Editor">
+              <content>
+                <HTMLEditor minHeight="-Infinity" minWidth="-Infinity" prefHeight="50.0" prefWidth="50.0" />
+              </content>
+            </Tab>
+            <Tab text="Untitled Tab 2">
+              <content>
+                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
+              </content>
+            </Tab>
+          </tabs>
+        </TabPane>
+        <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE">
+          <tabs>
+            <Tab text="TextArea">
+              <content>
+                <TextArea prefHeight="50.0" prefWidth="50.0" text="Text Area with Lots of text&#10;&#10;&#10;s&#10;a&#10;d&#10;s&#10;d&#10;sd&#10;&#10;s&#10;d&#10;s&#10;d&#10;&#10;s" wrapText="true" />
+              </content>
+            </Tab>
+            <Tab text="Untitled Tab 2">
+              <content>
+                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
+              </content>
+            </Tab>
+          </tabs>
+        </TabPane>
+        <SplitPane dividerPositions="0.5" focusTraversable="true" prefHeight="160.0" prefWidth="200.0">
+          <items>
+            <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE">
+              <tabs>
+                <Tab text="Untitled Tab 1">
+                  <content>
+                    <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
+                  </content>
+                </Tab>
+                <Tab text="Untitled Tab 2">
+                  <content>
+                    <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
+                  </content>
+                </Tab>
+              </tabs>
+            </TabPane>
+            <TableView prefHeight="200.0" prefWidth="200.0">
+              <columns>
+                <TableColumn prefWidth="75.0" text="Column X" />
+                <TableColumn prefWidth="75.0" text="Column X" />
+              </columns>
+            </TableView>
+          </items>
+        </SplitPane>
+        <SplitPane dividerPositions="0.5167785234899329" focusTraversable="true" prefHeight="-1.0" prefWidth="-1.0">
+          <items>
+            <TreeView prefHeight="-1.0" prefWidth="-1.0" />
+            <ListView prefHeight="-1.0" prefWidth="-1.0" />
+          </items>
+        </SplitPane>
+        <SplitPane dividerPositions="0.5335570469798657" focusTraversable="true" prefHeight="-1.0" prefWidth="-1.0">
+          <items>
+            <ScrollPane prefHeight="-1.0" prefWidth="-1.0">
+              <content>
+                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="200.0" prefWidth="200.0" />
+              </content>
+            </ScrollPane>
+            <SplitPane dividerPositions="0.5" focusTraversable="true" orientation="VERTICAL" prefHeight="-1.0" prefWidth="-1.0">
+              <items>
+                <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="100.0" prefWidth="160.0" />
+                <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="100.0" prefWidth="160.0" />
+              </items>
+            </SplitPane>
+          </items>
+        </SplitPane>
+        <SplitPane dividerPositions="0.5" focusTraversable="true" prefHeight="160.0" prefWidth="200.0">
+          <items>
+            <HTMLEditor htmlText="&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body contenteditable=&quot;true&quot;&gt;Dude's Html Editor&lt;/body&gt;&lt;/html&gt;" minWidth="20.0" prefHeight="190.0" prefWidth="50.0" />
+            <TextArea minWidth="20.0" prefHeight="30.0" prefWidth="30.0" text="Text Area with Lots of text&#10;&#10;&#10;s&#10;a&#10;d&#10;s&#10;d&#10;sd&#10;&#10;s&#10;d&#10;s&#10;d&#10;&#10;s" wrapText="true" />
+          </items>
+        </SplitPane>
+      </children>
+    </TilePane>
+  </children>
+  <padding>
+    <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
+  </padding>
+</VBox>

apps/experiments/Modena/src/modena/Modena.java

 import javax.imageio.ImageIO;
 
 public class Modena extends Application {
+    public static final String TEST = "test";
     static {
         System.getProperties().put("javafx.pseudoClassOverrideEnabled", "true");
     }
     private static final String testAppCssUrl = Modena.class.getResource("TestApp.css").toExternalForm();
-    private static String MODENA_STYLESHEET_CONTENT;
+    private static String MODENA_STYLESHEET_URL;
     private static String MODENA_STYLESHEET_BASE;
-    private static String CASPIAN_STYLESHEET_CONTENT;
+    private static String CASPIAN_STYLESHEET_URL;
     private static String CASPIAN_STYLESHEET_BASE;
     static {
         try {
             // these are not supported ways to find the platform themes and may 
             // change release to release. Just used here for testing.
-            final String caspianUrl = com.sun.javafx.scene.control.skin.ButtonSkin.class.getResource("caspian/caspian.css").toExternalForm();
+            final File caspianCssFile = new File("../../../javafx-ui-controls/src/com/sun/javafx/scene/control/skin/caspian/caspian.css");
+            CASPIAN_STYLESHEET_URL = caspianCssFile.exists() ? 
+                    caspianCssFile.toURI().toURL().toExternalForm() :
+                    com.sun.javafx.scene.control.skin.ButtonSkin.class.getResource("caspian/caspian.css").toExternalForm();
             final File modenaCssFile = new File("../../../javafx-ui-controls/src/com/sun/javafx/scene/control/skin/modena/modena.css");
-            String modenaUrl = modenaCssFile.exists() ? 
+            MODENA_STYLESHEET_URL = modenaCssFile.exists() ? 
                     modenaCssFile.toURI().toURL().toExternalForm() : 
                     com.sun.javafx.scene.control.skin.ButtonSkin.class.getResource("modena/modena.css").toExternalForm();
-            MODENA_STYLESHEET_BASE = modenaUrl.substring(0,modenaUrl.lastIndexOf('/')+1);
-            MODENA_STYLESHEET_CONTENT = loadUrl(modenaUrl);
-            CASPIAN_STYLESHEET_BASE = caspianUrl.substring(0,caspianUrl.lastIndexOf('/')+1);
-            CASPIAN_STYLESHEET_CONTENT = loadUrl(caspianUrl);
+            MODENA_STYLESHEET_BASE = MODENA_STYLESHEET_URL.substring(0,MODENA_STYLESHEET_URL.lastIndexOf('/')+1);
+            CASPIAN_STYLESHEET_BASE = CASPIAN_STYLESHEET_URL.substring(0,CASPIAN_STYLESHEET_URL.lastIndexOf('/')+1);
         } catch (MalformedURLException ex) {
             Logger.getLogger(Modena.class.getName()).log(Level.SEVERE, null, ex);
         }
     private SamplePage samplePage;
     private Node mosaic;
     private Node heightTest;
+    private SimpleWindowPage simpleWindows;
+    private Node combinationsTest;
+    private Node customerTest;
     private Stage mainStage;
     private Color backgroundColor;
     private Color baseColor;
     private String styleSheetBase = "";
     private ToggleButton modenaButton,retinaButton,rtlButton;
     private TabPane contentTabs;
+    private boolean test = false;
+    private final EventHandler<ActionEvent> rebuild = new EventHandler<ActionEvent>(){
+        @Override public void handle(ActionEvent event) { 
+            Platform.runLater(new Runnable() {
+                @Override public void run() {
+                    updateUserAgentStyleSheet();
+                    rebuildUI(modenaButton.isSelected(), retinaButton.isSelected(), 
+                            contentTabs.getSelectionModel().getSelectedIndex());
+                }
+            });
+        }
+    };
     
     private static Modena instance;
 
         contentTabs.requestLayout();
     }
     
+    public void restart() {
+        mainStage.close();
+        root = null;
+        accentColor = null;
+        baseColor = null;
+        backgroundColor = null;
+        fontName = null;
+        fontSize = 13;
+        try {
+            start(new Stage());
+        } catch (Exception ex) {
+            throw new RuntimeException("Failed to start another Modena window", ex);
+        }
+    }
+    
     @Override public void start(Stage stage) throws Exception {
+        if (getParameters().getRaw().contains(TEST)) {
+            test = true;
+        }
         mainStage = stage;
         // set user agent stylesheet
         updateUserAgentStyleSheet(true);
         scene.getStylesheets().add(testAppCssUrl);
         stage.setScene(scene);
         stage.setTitle("Modena");
+//        stage.setIconified(test); // TODO: Blocked by http://javafx-jira.kenai.com/browse/JMY-203
         stage.show(); // see SamplePage.java:110 comment on how test fails without having stage shown
         instance = this;
     }
     }
     
     private void updateUserAgentStyleSheet(boolean modena) {
-        styleSheetContent = modena ? MODENA_STYLESHEET_CONTENT : CASPIAN_STYLESHEET_CONTENT;
+        styleSheetContent = modena ? 
+                loadUrl(MODENA_STYLESHEET_URL) : 
+                loadUrl(CASPIAN_STYLESHEET_URL);
         styleSheetBase = modena ? MODENA_STYLESHEET_BASE : CASPIAN_STYLESHEET_BASE;
         styleSheetContent += "\n.root {\n";
         System.out.println("baseColor = "+baseColor);
                     ScrollPaneBuilder.create().content(
                         heightTest = (Node)FXMLLoader.load(Modena.class.getResource("SameHeightTest.fxml"))
                     ).build()
+                ).build(),
+                TabBuilder.create().text("Simple Windows").content(
+                    ScrollPaneBuilder.create().content(
+                        simpleWindows = new SimpleWindowPage()
+                    ).build()