You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by sm...@apache.org on 2013/02/13 11:00:34 UTC

svn commit: r1445526 - in /pivot/branches/2.0.x/tests/src/org/apache/pivot/tests: LabelAntialiasTest.java table_pane_test2.bxml table_view_test4.bxml table_view_test_empty.bxml

Author: smartini
Date: Wed Feb 13 10:00:34 2013
New Revision: 1445526

URL: http://svn.apache.org/r1445526
Log:
add some minimal tests for Tables not-so-common cases, and check antialiasing settings by drawing a Label to see how it looks

Added:
    pivot/branches/2.0.x/tests/src/org/apache/pivot/tests/LabelAntialiasTest.java
    pivot/branches/2.0.x/tests/src/org/apache/pivot/tests/table_pane_test2.bxml
    pivot/branches/2.0.x/tests/src/org/apache/pivot/tests/table_view_test4.bxml
    pivot/branches/2.0.x/tests/src/org/apache/pivot/tests/table_view_test_empty.bxml

Added: pivot/branches/2.0.x/tests/src/org/apache/pivot/tests/LabelAntialiasTest.java
URL: http://svn.apache.org/viewvc/pivot/branches/2.0.x/tests/src/org/apache/pivot/tests/LabelAntialiasTest.java?rev=1445526&view=auto
==============================================================================
--- pivot/branches/2.0.x/tests/src/org/apache/pivot/tests/LabelAntialiasTest.java (added)
+++ pivot/branches/2.0.x/tests/src/org/apache/pivot/tests/LabelAntialiasTest.java Wed Feb 13 10:00:34 2013
@@ -0,0 +1,118 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.pivot.tests;
+
+import java.awt.Color;
+import java.awt.Font;
+import java.awt.GraphicsEnvironment;
+import java.awt.Toolkit;
+import java.awt.geom.AffineTransform;
+
+import org.apache.pivot.collections.Map;
+import org.apache.pivot.wtk.Application;
+import org.apache.pivot.wtk.DesktopApplicationContext;
+import org.apache.pivot.wtk.Display;
+import org.apache.pivot.wtk.HorizontalAlignment;
+import org.apache.pivot.wtk.Label;
+import org.apache.pivot.wtk.VerticalAlignment;
+import org.apache.pivot.wtk.Window;
+
+public class LabelAntialiasTest extends Application.Adapter {
+    private Window window = null;
+
+    private Label buildLabel(double rotation) {
+        Label label = new Label();
+
+        Font font = new Font("Arial", Font.BOLD, 64);
+
+        AffineTransform fontAT = new AffineTransform();
+        // Derive a new font using a rotation transform
+        fontAT.rotate(rotation * java.lang.Math.PI / 180.0d);
+        Font fontDerived = font.deriveFont(fontAT);
+
+        label.setText("Hello at " + rotation + " degree.");
+        label.getStyles().put("color", Color.RED);
+        label.getStyles().put("font", fontDerived);
+        label.getStyles().put("horizontalAlignment", HorizontalAlignment.CENTER);
+        label.getStyles().put("verticalAlignment",   VerticalAlignment.TOP);
+
+        return label;
+    }
+
+    /**
+     * Write to console some details of Desktop Hints, for Font Rendering.
+     *
+     * @see org.apache.pivot.wtk.Platform#initializeFontRenderContext
+     */
+    private void showFontDesktopHints() {
+        System.out.println("Show Font Desktop Hints:");
+
+        Toolkit toolkit = Toolkit.getDefaultToolkit();
+        java.util.Map<?, ?> fontDesktopHints =
+            (java.util.Map<?, ?>)toolkit.getDesktopProperty("awt.font.desktophints");
+
+        System.out.println(fontDesktopHints);
+    }
+
+    /**
+     * Write to console the list of Font families found in the System.
+     */
+    private void showFontFamilies() {
+        System.out.println("Show Font Families:");
+
+        GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
+        String []fontFamilies = ge.getAvailableFontFamilyNames();
+        int fontFamiliesNumber = fontFamilies.length;
+        StringBuffer fontFamilyNames = new StringBuffer(1024);
+        for (int i=0; i < fontFamiliesNumber; i++) {
+            if (i > 0) {
+                fontFamilyNames.append(", ");
+            }
+            fontFamilyNames.append(fontFamilies[i]);
+        }
+        System.out.println(fontFamilyNames);
+    }
+
+    @Override
+    public void startup(Display display, Map<String, String> properties) {
+        window = new Window();
+
+        showFontDesktopHints();
+        showFontFamilies();
+
+        Label label = buildLabel(45);
+        window.setContent(label);
+
+        window.setTitle("Label Antialiasing Test");
+        window.setMaximized(true);
+        window.open(display);
+    }
+
+    @Override
+    public boolean shutdown(boolean optional) {
+        if (window != null) {
+            window.close();
+        }
+
+        return false;
+    }
+
+    public static void main(String[] args) {
+        DesktopApplicationContext.main(LabelAntialiasTest.class, args);
+    }
+
+}

Added: pivot/branches/2.0.x/tests/src/org/apache/pivot/tests/table_pane_test2.bxml
URL: http://svn.apache.org/viewvc/pivot/branches/2.0.x/tests/src/org/apache/pivot/tests/table_pane_test2.bxml?rev=1445526&view=auto
==============================================================================
--- pivot/branches/2.0.x/tests/src/org/apache/pivot/tests/table_pane_test2.bxml (added)
+++ pivot/branches/2.0.x/tests/src/org/apache/pivot/tests/table_pane_test2.bxml Wed Feb 13 10:00:34 2013
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to you under the Apache License,
+Version 2.0 (the "License"); you may not use this file except in
+compliance with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+<Window bxml:id="window"
+    title="TablePane Test2, with variable row height" maximized="true"
+    xmlns:bxml="http://pivot.apache.org/bxml"
+    xmlns:collections="org.apache.pivot.collections"
+    xmlns:content="org.apache.pivot.wtk.content"
+    xmlns="org.apache.pivot.wtk"
+>
+    <bxml:script>
+    <![CDATA[
+    importPackage(java.net);
+    importPackage(org.apache.pivot.util);
+    importPackage(org.apache.pivot.wtk);
+    importPackage(org.apache.pivot.wtk.media);
+
+    var s = "ABCDE ABCDE ABCDE ABCDE";
+    var s2 = "First Line.\nSecond Line.";
+    var b = true;
+    var n = 100.25;
+    var d = new CalendarDate();
+    var location = new java.io.File("bin/" // add this to run from inside eclipse ...
+        + "org/apache/pivot/tests" // current package, view as folders
+        // + "/go-home.png" // image name
+    ).toURI().toURL();
+    java.lang.System.out.println("location for the image to load = \"" + location + "\"");
+    var i = Image.load(new URL(location, "go-home.png"));
+    java.lang.System.out.println("image = " + i);
+    ]]>
+    </bxml:script>
+
+    <TablePane
+        styles="{padding:6, verticalSpacing:8}"
+    >
+        <columns>
+            <TablePane.Column width="1*" />
+        </columns>
+
+        <TablePane.Row height="-1">
+            <PushButton buttonData="Start"/>
+        </TablePane.Row>
+        <TablePane.Row height="-1">
+
+            <TableView>
+                <columns>
+                    <TableView.Column name="value" width="-1">
+                        <cellRenderer>
+                            <content:TableViewMultiCellRenderer>
+                                <bxml:define>
+<!--  // multiline
+                                    <content:TableViewTextAreaCellRenderer bxml:id="multilineCellRenderer"/>
+//-->
+<!--  // no multiline
+                                    <content:TableViewMultiCellRenderer bxml:id="multilineCellRenderer"/>
+//-->
+                                    <content:TableViewTextAreaCellRenderer bxml:id="multilineCellRenderer"/>
+
+                                    <content:TableViewBooleanCellRenderer bxml:id="booleanCellRenderer"/>
+                                    <content:TableViewNumberCellRenderer bxml:id="numberCellRenderer"/>
+                                    <content:TableViewDateCellRenderer bxml:id="dateCellRenderer"/>
+                                    <content:TableViewImageCellRenderer bxml:id="imageCellRenderer" preferredHeight="40"/>
+                                </bxml:define>
+
+                                <rendererMappings>
+<!--  // no multiline
+                                    <content:TableViewMultiCellRenderer.RendererMapping valueClass="org.apache.pivot.wtk.TextArea"
+                                        cellRenderer="$multilineCellRenderer"/>
+//-->
+<!--  // multiline
+                                    <content:TableViewMultiCellRenderer.RendererMapping valueClass="java.lang.String"
+                                        cellRenderer="$multilineCellRenderer"/>
+//-->
+                                    <content:TableViewMultiCellRenderer.RendererMapping valueClass="java.lang.String"
+                                        cellRenderer="$multilineCellRenderer"/>
+
+                                    <content:TableViewMultiCellRenderer.RendererMapping valueClass="java.lang.Boolean"
+                                        cellRenderer="$booleanCellRenderer"/>
+                                    <content:TableViewMultiCellRenderer.RendererMapping valueClass="java.lang.Number"
+                                        cellRenderer="$numberCellRenderer"/>
+                                    <content:TableViewMultiCellRenderer.RendererMapping valueClass="org.apache.pivot.util.CalendarDate"
+                                        cellRenderer="$dateCellRenderer"/>
+                                    <content:TableViewMultiCellRenderer.RendererMapping valueClass="org.apache.pivot.wtk.media.Image"
+                                        cellRenderer="$imageCellRenderer"/>
+                                </rendererMappings>
+                            </content:TableViewMultiCellRenderer>
+                        </cellRenderer>
+                    </TableView.Column>
+
+                    <TableView.Column width="1*"/>
+                </columns>
+
+                <collections:HashMap value="$s"/>
+                <collections:HashMap value="$s2"/>
+                <collections:HashMap value="$b"/>
+                <collections:HashMap value="$n"/>
+                <collections:HashMap value="$d"/>
+                <collections:HashMap value="$i"/>
+            </TableView>
+
+        </TablePane.Row>
+        <TablePane.Row height="-1">
+            <PushButton buttonData="End"/>
+        </TablePane.Row>
+    </TablePane>
+</Window>

Added: pivot/branches/2.0.x/tests/src/org/apache/pivot/tests/table_view_test4.bxml
URL: http://svn.apache.org/viewvc/pivot/branches/2.0.x/tests/src/org/apache/pivot/tests/table_view_test4.bxml?rev=1445526&view=auto
==============================================================================
--- pivot/branches/2.0.x/tests/src/org/apache/pivot/tests/table_view_test4.bxml (added)
+++ pivot/branches/2.0.x/tests/src/org/apache/pivot/tests/table_view_test4.bxml Wed Feb 13 10:00:34 2013
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to you under the Apache License,
+Version 2.0 (the "License"); you may not use this file except in
+compliance with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+<Window bxml:id="window"
+    title="Table View Test4, with renderer for multi-line texts" maximized="true"
+    xmlns:bxml="http://pivot.apache.org/bxml"
+    xmlns:collections="org.apache.pivot.collections"
+    xmlns:content="org.apache.pivot.wtk.content"
+    xmlns="org.apache.pivot.wtk"
+>
+    <bxml:script>
+    <![CDATA[
+    importPackage(java.net);
+    importPackage(org.apache.pivot.util);
+    importPackage(org.apache.pivot.wtk);
+    importPackage(org.apache.pivot.wtk.media);
+
+    var s = "ABCDE ABCDE ABCDE ABCDE";
+    var s2 = "First Line.\nSecond Line.";
+    var b = true;
+    var n = 100.25;
+    var d = new CalendarDate();
+    var location = new java.io.File("bin/" // add this to run from inside eclipse ...
+        + "org/apache/pivot/tests" // current package, view as folders
+        // + "/go-home.png" // image name
+    ).toURI().toURL();
+    java.lang.System.out.println("location for the image to load = \"" + location + "\"");
+    var i = Image.load(new URL(location, "go-home.png"));
+    java.lang.System.out.println("image = " + i);
+    ]]>
+    </bxml:script>
+
+    <TableView>
+        <columns>
+            <TableView.Column name="value" width="-1">
+                <cellRenderer>
+                    <content:TableViewMultiCellRenderer>
+                        <bxml:define>
+<!--  // multiline
+                            <content:TableViewTextAreaCellRenderer bxml:id="multilineCellRenderer"/>
+//-->
+<!--  // no multiline
+                            <content:TableViewMultiCellRenderer bxml:id="multilineCellRenderer"/>
+//-->
+                            <content:TableViewTextAreaCellRenderer bxml:id="multilineCellRenderer"/>
+
+                            <content:TableViewBooleanCellRenderer bxml:id="booleanCellRenderer"/>
+                            <content:TableViewNumberCellRenderer bxml:id="numberCellRenderer"/>
+                            <content:TableViewDateCellRenderer bxml:id="dateCellRenderer"/>
+                            <content:TableViewImageCellRenderer bxml:id="imageCellRenderer" preferredHeight="40"/>
+                        </bxml:define>
+
+                        <rendererMappings>
+<!--  // no multiline
+                            <content:TableViewMultiCellRenderer.RendererMapping valueClass="org.apache.pivot.wtk.TextArea"
+                                cellRenderer="$multilineCellRenderer"/>
+//-->
+<!--  // multiline
+                            <content:TableViewMultiCellRenderer.RendererMapping valueClass="java.lang.String"
+                                cellRenderer="$multilineCellRenderer"/>
+//-->
+                            <content:TableViewMultiCellRenderer.RendererMapping valueClass="java.lang.String"
+                                cellRenderer="$multilineCellRenderer"/>
+
+                            <content:TableViewMultiCellRenderer.RendererMapping valueClass="java.lang.Boolean"
+                                cellRenderer="$booleanCellRenderer"/>
+                            <content:TableViewMultiCellRenderer.RendererMapping valueClass="java.lang.Number"
+                                cellRenderer="$numberCellRenderer"/>
+                            <content:TableViewMultiCellRenderer.RendererMapping valueClass="org.apache.pivot.util.CalendarDate"
+                                cellRenderer="$dateCellRenderer"/>
+                            <content:TableViewMultiCellRenderer.RendererMapping valueClass="org.apache.pivot.wtk.media.Image"
+                                cellRenderer="$imageCellRenderer"/>
+                        </rendererMappings>
+                    </content:TableViewMultiCellRenderer>
+                </cellRenderer>
+            </TableView.Column>
+
+            <TableView.Column width="1*"/>
+        </columns>
+
+        <collections:HashMap value="$s"/>
+        <collections:HashMap value="$s2"/>
+        <collections:HashMap value="$b"/>
+        <collections:HashMap value="$n"/>
+        <collections:HashMap value="$d"/>
+        <collections:HashMap value="$i"/>
+    </TableView>
+</Window>

Added: pivot/branches/2.0.x/tests/src/org/apache/pivot/tests/table_view_test_empty.bxml
URL: http://svn.apache.org/viewvc/pivot/branches/2.0.x/tests/src/org/apache/pivot/tests/table_view_test_empty.bxml?rev=1445526&view=auto
==============================================================================
--- pivot/branches/2.0.x/tests/src/org/apache/pivot/tests/table_view_test_empty.bxml (added)
+++ pivot/branches/2.0.x/tests/src/org/apache/pivot/tests/table_view_test_empty.bxml Wed Feb 13 10:00:34 2013
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to you under the Apache License,
+Version 2.0 (the "License"); you may not use this file except in
+compliance with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+<Window bxml:id="window"
+    title="Table View Test, without data" maximized="true"
+    xmlns:bxml="http://pivot.apache.org/bxml"
+    xmlns:collections="org.apache.pivot.collections"
+    xmlns:content="org.apache.pivot.wtk.content"
+    xmlns="org.apache.pivot.wtk"
+>
+    <bxml:script>
+    <![CDATA[
+    importPackage(java.net);
+    importPackage(org.apache.pivot.util);
+    importPackage(org.apache.pivot.wtk);
+    importPackage(org.apache.pivot.wtk.media);
+
+    var s = "ABCDE ABCDE ABCDE ABCDE";
+    var s2 = "First Line.\nSecond Line.";
+    var b = true;
+    var n = 100.25;
+    var d = new CalendarDate();
+    var location = new java.io.File("bin/" // add this to run from inside eclipse ...
+        + "org/apache/pivot/tests" // current package, view as folders
+        // + "/go-home.png" // image name
+    ).toURI().toURL();
+    java.lang.System.out.println("location for the image to load = \"" + location + "\"");
+    var i = Image.load(new URL(location, "go-home.png"));
+    java.lang.System.out.println("image = " + i);
+    ]]>
+    </bxml:script>
+
+    <TableView>
+        <columns>
+            <TableView.Column name="value" width="-1">
+                <cellRenderer>
+                    <content:TableViewMultiCellRenderer>
+                        <bxml:define>
+<!--  // multiline
+                            <content:TableViewTextAreaCellRenderer bxml:id="multilineCellRenderer"/>
+//-->
+<!--  // no multiline
+                            <content:TableViewMultiCellRenderer bxml:id="multilineCellRenderer"/>
+//-->
+                            <content:TableViewTextAreaCellRenderer bxml:id="multilineCellRenderer"/>
+
+                            <content:TableViewBooleanCellRenderer bxml:id="booleanCellRenderer"/>
+                            <content:TableViewNumberCellRenderer bxml:id="numberCellRenderer"/>
+                            <content:TableViewDateCellRenderer bxml:id="dateCellRenderer"/>
+                            <content:TableViewImageCellRenderer bxml:id="imageCellRenderer"/>
+                        </bxml:define>
+
+                        <rendererMappings>
+<!--  // no multiline
+                            <content:TableViewMultiCellRenderer.RendererMapping valueClass="org.apache.pivot.wtk.TextArea"
+                                cellRenderer="$multilineCellRenderer"/>
+//-->
+<!--  // multiline
+                            <content:TableViewMultiCellRenderer.RendererMapping valueClass="java.lang.String"
+                                cellRenderer="$multilineCellRenderer"/>
+//-->
+                            <content:TableViewMultiCellRenderer.RendererMapping valueClass="java.lang.String"
+                                cellRenderer="$multilineCellRenderer"/>
+
+                            <content:TableViewMultiCellRenderer.RendererMapping valueClass="java.lang.Boolean"
+                                cellRenderer="$booleanCellRenderer"/>
+                            <content:TableViewMultiCellRenderer.RendererMapping valueClass="java.lang.Number"
+                                cellRenderer="$numberCellRenderer"/>
+                            <content:TableViewMultiCellRenderer.RendererMapping valueClass="org.apache.pivot.util.CalendarDate"
+                                cellRenderer="$dateCellRenderer"/>
+                            <content:TableViewMultiCellRenderer.RendererMapping valueClass="org.apache.pivot.wtk.media.Image"
+                                cellRenderer="$imageCellRenderer"/>
+                        </rendererMappings>
+                    </content:TableViewMultiCellRenderer>
+                </cellRenderer>
+            </TableView.Column>
+
+            <TableView.Column width="1*"/>
+        </columns>
+
+    </TableView>
+</Window>