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>