svn commit: r1399194 - in /pivot: branches/2.0.x/wtk/lib/svgSalamander-tiny.jar trunk/wtk/lib/svgSalamander-tiny.jar

2012-10-17 Thread smartini
Author: smartini
Date: Wed Oct 17 12:20:52 2012
New Revision: 1399194

URL: http://svn.apache.org/viewvc?rev=1399194view=rev
Log:
update svgSalamander jar to latest stable

Modified:
pivot/branches/2.0.x/wtk/lib/svgSalamander-tiny.jar
pivot/trunk/wtk/lib/svgSalamander-tiny.jar

Modified: pivot/branches/2.0.x/wtk/lib/svgSalamander-tiny.jar
URL: 
http://svn.apache.org/viewvc/pivot/branches/2.0.x/wtk/lib/svgSalamander-tiny.jar?rev=1399194r1=1399193r2=1399194view=diff
==
Binary files - no diff available.

Modified: pivot/trunk/wtk/lib/svgSalamander-tiny.jar
URL: 
http://svn.apache.org/viewvc/pivot/trunk/wtk/lib/svgSalamander-tiny.jar?rev=1399194r1=1399193r2=1399194view=diff
==
Binary files - no diff available.




svn commit: r1399276 - /pivot/branches/2.0.x/wtk/src/org/apache/pivot/wtk/BrowserApplicationContext.java

2012-10-17 Thread smartini
Author: smartini
Date: Wed Oct 17 14:37:27 2012
New Revision: 1399276

URL: http://svn.apache.org/viewvc?rev=1399276view=rev
Log:
PIVOT-876, patch applied

Modified:

pivot/branches/2.0.x/wtk/src/org/apache/pivot/wtk/BrowserApplicationContext.java

Modified: 
pivot/branches/2.0.x/wtk/src/org/apache/pivot/wtk/BrowserApplicationContext.java
URL: 
http://svn.apache.org/viewvc/pivot/branches/2.0.x/wtk/src/org/apache/pivot/wtk/BrowserApplicationContext.java?rev=1399276r1=1399275r2=1399276view=diff
==
--- 
pivot/branches/2.0.x/wtk/src/org/apache/pivot/wtk/BrowserApplicationContext.java
 (original)
+++ 
pivot/branches/2.0.x/wtk/src/org/apache/pivot/wtk/BrowserApplicationContext.java
 Wed Oct 17 14:37:27 2012
@@ -159,6 +159,32 @@ public final class BrowserApplicationCon
 // Disable focus traversal keys
 setFocusTraversalKeysEnabled(false);
 
+// Let pivot manage the focus inside the applet, where we have 
only one AWT component
+setFocusTraversalPolicyProvider(true);
+setFocusCycleRoot(true);
+setFocusTraversalPolicy(new java.awt.FocusTraversalPolicy() {
+@Override
+public java.awt.Component 
getLastComponent(java.awt.Container aContainer) {
+return null;
+}
+@Override
+public java.awt.Component 
getFirstComponent(java.awt.Container aContainer) {
+return null;
+}
+@Override
+public java.awt.Component 
getDefaultComponent(java.awt.Container aContainer) {
+return null;
+}
+@Override
+public java.awt.Component 
getComponentBefore(java.awt.Container aContainer, java.awt.Component 
aComponent) {
+return HostApplet.this.displayHost;
+}
+@Override
+public java.awt.Component 
getComponentAfter(java.awt.Container aContainer, java.awt.Component aComponent) 
{
+return HostApplet.this.displayHost;
+}
+});
+
 // Clear the background
 setBackground(null);
 




svn commit: r1399284 - /pivot/trunk/wtk/src/org/apache/pivot/wtk/BrowserApplicationContext.java

2012-10-17 Thread smartini
Author: smartini
Date: Wed Oct 17 14:47:35 2012
New Revision: 1399284

URL: http://svn.apache.org/viewvc?rev=1399284view=rev
Log:
merge from 2.0.x: PIVOT-876

Modified:
pivot/trunk/wtk/src/org/apache/pivot/wtk/BrowserApplicationContext.java

Modified: 
pivot/trunk/wtk/src/org/apache/pivot/wtk/BrowserApplicationContext.java
URL: 
http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/BrowserApplicationContext.java?rev=1399284r1=1399283r2=1399284view=diff
==
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/BrowserApplicationContext.java 
(original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/BrowserApplicationContext.java Wed 
Oct 17 14:47:35 2012
@@ -159,6 +159,32 @@ public final class BrowserApplicationCon
 // Disable focus traversal keys
 setFocusTraversalKeysEnabled(false);
 
+// Let pivot manage the focus inside the applet, where we have 
only one AWT component
+setFocusTraversalPolicyProvider(true);
+setFocusCycleRoot(true);
+setFocusTraversalPolicy(new java.awt.FocusTraversalPolicy() {
+@Override
+public java.awt.Component 
getLastComponent(java.awt.Container aContainer) {
+return null;
+}
+@Override
+public java.awt.Component 
getFirstComponent(java.awt.Container aContainer) {
+return null;
+}
+@Override
+public java.awt.Component 
getDefaultComponent(java.awt.Container aContainer) {
+return null;
+}
+@Override
+public java.awt.Component 
getComponentBefore(java.awt.Container aContainer, java.awt.Component 
aComponent) {
+return HostApplet.this.displayHost;
+}
+@Override
+public java.awt.Component 
getComponentAfter(java.awt.Container aContainer, java.awt.Component aComponent) 
{
+return HostApplet.this.displayHost;
+}
+});
+
 // Clear the background
 setBackground(null);
 




svn commit: r1399286 - in /pivot/trunk: core/src/org/apache/pivot/beans/BeanAdapter.java core/src/org/apache/pivot/json/JSON.java wtk/src/org/apache/pivot/wtk/BoxPane.java wtk/src/org/apache/pivot/wtk

2012-10-17 Thread smartini
Author: smartini
Date: Wed Oct 17 14:50:09 2012
New Revision: 1399286

URL: http://svn.apache.org/viewvc?rev=1399286view=rev
Log:
merge from 2.0.x: some javadoc updates

Modified:
pivot/trunk/core/src/org/apache/pivot/beans/BeanAdapter.java
pivot/trunk/core/src/org/apache/pivot/json/JSON.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/BoxPane.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/FillPane.java

Modified: pivot/trunk/core/src/org/apache/pivot/beans/BeanAdapter.java
URL: 
http://svn.apache.org/viewvc/pivot/trunk/core/src/org/apache/pivot/beans/BeanAdapter.java?rev=1399286r1=1399285r2=1399286view=diff
==
--- pivot/trunk/core/src/org/apache/pivot/beans/BeanAdapter.java (original)
+++ pivot/trunk/core/src/org/apache/pivot/beans/BeanAdapter.java Wed Oct 17 
14:50:09 2012
@@ -42,6 +42,16 @@ import org.apache.pivot.util.ListenerLis
  * Properties may provide multiple setters; the appropriate setter to invoke
  * is determined by the type of the value being set. If the value is
  * ttnull/tt, the return type of the getter method is used.
+ *
+ * p Getter methods must be named getProperty where property is
+ * the property name.  If there is no get method, then an isProperty
+ * method can also be used.  Setter methods (if present) must be named
+ * setProperty.
+ *
+ * p Getter and setter methods are checked before straight fields
+ * named property in order to support proper data encapsulation.
+ * And only codepublic/code and non-codestatic/code methods
+ * and fields can be accessed.
  */
 public class BeanAdapter implements MapString, Object {
 /**
@@ -171,7 +181,10 @@ public class BeanAdapter implements Map
 }
 
 /**
- * Creates a new bean dictionary.
+ * Creates a new bean dictionary which can ignore readonly fields
+ * (that is, straight fields marked as codefinal/code or bean
+ * properties where there is a get method but no corresponding
+ * set method).
  *
  * @param bean
  * The bean object to wrap.

Modified: pivot/trunk/core/src/org/apache/pivot/json/JSON.java
URL: 
http://svn.apache.org/viewvc/pivot/trunk/core/src/org/apache/pivot/json/JSON.java?rev=1399286r1=1399285r2=1399286view=diff
==
--- pivot/trunk/core/src/org/apache/pivot/json/JSON.java (original)
+++ pivot/trunk/core/src/org/apache/pivot/json/JSON.java Wed Oct 17 14:50:09 
2012
@@ -25,6 +25,19 @@ import org.apache.pivot.collections.adap
 
 /**
  * Contains utility methods for working with JSON or JSON-like data structures.
+ *
+ * p Special treatment is afforded to {@link java.util.Map java.util.Map} and
+ * {@link org.apache.pivot.collections.Map org.apache.pivot.collections.Map} 
objects at any level
+ * of the hierarchy.  Otherwise a {@link BeanAdapter} is used to
+ * fetch the value from the object.
+ *
+ * p If, however, the object at a given level is a
+ * {@link org.apache.pivot.collections.Sequence} then the key
+ * is assumed to be an integer index into the sequence.
+ *
+ * p Also, special consideration is given to an object that
+ * implements the {@link Dictionary} interface.
+ *
  */
 public class JSON {
 /**

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/BoxPane.java
URL: 
http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/BoxPane.java?rev=1399286r1=1399285r2=1399286view=diff
==
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/BoxPane.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/BoxPane.java Wed Oct 17 14:50:09 
2012
@@ -43,6 +43,15 @@ import org.apache.pivot.util.ListenerLis
  * cell, it will retain its natural size, and you can set the
  * horizontalAlignment and verticalAlignment styles of the BoxPane to, say,
  * center the button within the cell.
+ *
+ * p Setting the codefill/code style to true will cause the BoxPane to
+ * completely fill the space allotted by its container in the direction
+ * orthogonal to the layout direction.  So, for a vertical layout, the
+ * width will be the width of its container and the children of the BoxPane
+ * will also be sized accordingly (i.e., full width of the space).  And so
+ * for a horizontal layout, with codefill/code set to true the height
+ * of the BoxPane will be the height allotted by its container and the
+ * children of the BoxPane will have their heights set accordingly.
  */
 public class BoxPane extends Container {
 private static class BoxPaneListenerList extends 
WTKListenerListBoxPaneListener

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/FillPane.java
URL: 
http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/FillPane.java?rev=1399286r1=1399285r2=1399286view=diff
==
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/FillPane.java (original)
+++ 

svn commit: r1399331 - /pivot/trunk/core/src/org/apache/pivot/beans/BeanAdapter.java

2012-10-17 Thread rwhitcomb
Author: rwhitcomb
Date: Wed Oct 17 16:38:34 2012
New Revision: 1399331

URL: http://svn.apache.org/viewvc?rev=1399331view=rev
Log:
PIVOT-558: Add putAll methods to BeanAdapter to allow multiple values
to be set in a single call.  Greg was not convinced this added sufficient
value to be added.  I'm of a different mind, having used Pivot now in our
application for a couple of years, where I appreciate any such helper
methods so we (and everyone else) doesn't have to duplicate the code.
I also appreciate the convergence between Pivot Collections and java.util
Collections (so there is not so much dissonance between the two sets of
methods).

Modified:
pivot/trunk/core/src/org/apache/pivot/beans/BeanAdapter.java

Modified: pivot/trunk/core/src/org/apache/pivot/beans/BeanAdapter.java
URL: 
http://svn.apache.org/viewvc/pivot/trunk/core/src/org/apache/pivot/beans/BeanAdapter.java?rev=1399331r1=1399330r2=1399331view=diff
==
--- pivot/trunk/core/src/org/apache/pivot/beans/BeanAdapter.java (original)
+++ pivot/trunk/core/src/org/apache/pivot/beans/BeanAdapter.java Wed Oct 17 
16:38:34 2012
@@ -29,6 +29,7 @@ import java.util.Iterator;
 import java.util.Locale;
 import java.util.NoSuchElementException;
 
+import org.apache.pivot.beans.PropertyNotFoundException;
 import org.apache.pivot.collections.Map;
 import org.apache.pivot.collections.MapListener;
 import org.apache.pivot.util.ListenerList;
@@ -259,7 +260,7 @@ public class BeanAdapter implements Map
 }
 
 /**
- * Invokes the a setter method for the given property. The method
+ * Invokes the setter method for the given property. The method
  * signature is determined by the type of the value. If the value is
  * ttnull/tt, the return type of the getter method is used.
  *
@@ -345,6 +346,58 @@ public class BeanAdapter implements Map
 }
 
 /**
+ * Invokes the setter methods for all the given properties that are
+ * present in the map. The method signatures are determined by the
+ * type of the values. If any value is ttnull/tt, the return
+ * type of the getter method is used.
+ *
+ * @param valueMap
+ * The map of keys and values to be set.
+ *
+ * @throws PropertyNotFoundException
+ * If any of the given properties do not exist or are read-only.
+ */
+public void putAll(MapString, ? valueMap) {
+for (String key : valueMap) {
+put(key, valueMap.get(key));
+}
+}
+
+/**
+ * Invokes the setter methods for all the given properties that are
+ * present in the map. The method signatures are determined by the
+ * type of the values. If any value is ttnull/tt, the return
+ * type of the getter method is used. There is an option to ignore
+ * (that is, not throw) exceptions during the process, but to
+ * return status if any exceptions were caught and ignored.
+ *
+ * @param valueMap
+ * The map of keys and values to be set.
+ *
+ * @param ignoreErrors
+ * If codetrue/code then any {@link PropertyNotFoundException}
+ * thrown by the {@link #put put()} method will be caught and ignored.
+ *
+ * @return
+ * codetrue/code if any exceptions were caught, codefalse/code
+ * if not.
+ */
+public boolean putAll(MapString, ? valueMap, boolean ignoreErrors) {
+boolean anyErrors = false;
+for (String key : valueMap) {
+try {
+put(key, valueMap.get(key));
+}
+catch (PropertyNotFoundException ex) {
+if (!ignoreErrors)
+throw ex;
+anyErrors = true;
+}
+}
+return anyErrors;
+}
+
+/**
  * @throws UnsupportedOperationException
  * This method is not supported.
  */




svn commit: r1399446 - /pivot/infra/bin/setup-environment-sample.sh

2012-10-17 Thread smartini
Author: smartini
Date: Wed Oct 17 21:42:54 2012
New Revision: 1399446

URL: http://svn.apache.org/viewvc?rev=1399446view=rev
Log:
update jdk versions to latest, both for jdk 6 and jdk 7

Modified:
pivot/infra/bin/setup-environment-sample.sh

Modified: pivot/infra/bin/setup-environment-sample.sh
URL: 
http://svn.apache.org/viewvc/pivot/infra/bin/setup-environment-sample.sh?rev=1399446r1=1399445r2=1399446view=diff
==
--- pivot/infra/bin/setup-environment-sample.sh (original)
+++ pivot/infra/bin/setup-environment-sample.sh Wed Oct 17 21:42:54 2012
@@ -24,8 +24,8 @@ export TEMP_DIR=/tmp
 export OPT=/opt
 
 export ANT_HOME=$OPT/apache-ant-1.8.4
-export JAVA_HOME=$OPT/jdk1.6.0_32
-# export JAVA_HOME=$OPT/jdk1.7.0_07
+export JAVA_HOME=$OPT/jdk1.6.0_37
+# export JAVA_HOME=$OPT/jdk1.7.0_09
 export MAVEN_HOME=$OPT/apache-maven-2.2.1
 # export MAVEN_HOME=$OPT/apache-maven-3.0.4
 




svn commit: r1399454 - /pivot/branches/2.0.x/tests/src/org/apache/pivot/tests/card_pane_with_tableview_test.bxml

2012-10-17 Thread smartini
Author: smartini
Date: Wed Oct 17 22:05:49 2012
New Revision: 1399454

URL: http://svn.apache.org/viewvc?rev=1399454view=rev
Log:
Set svn props

Modified:

pivot/branches/2.0.x/tests/src/org/apache/pivot/tests/card_pane_with_tableview_test.bxml
   (contents, props changed)

Modified: 
pivot/branches/2.0.x/tests/src/org/apache/pivot/tests/card_pane_with_tableview_test.bxml
URL: 
http://svn.apache.org/viewvc/pivot/branches/2.0.x/tests/src/org/apache/pivot/tests/card_pane_with_tableview_test.bxml?rev=1399454r1=1399453r2=1399454view=diff
==
--- 
pivot/branches/2.0.x/tests/src/org/apache/pivot/tests/card_pane_with_tableview_test.bxml
 (original)
+++ 
pivot/branches/2.0.x/tests/src/org/apache/pivot/tests/card_pane_with_tableview_test.bxml
 Wed Oct 17 22:05:49 2012
@@ -1,132 +1,132 @@
-?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 title=Table Views maximized=true
-xmlns:bxml=http://pivot.apache.org/bxml; 
xmlns:collections=org.apache.pivot.collections
-xmlns=org.apache.pivot.wtk
-
-bxml:script
-![CDATA[
-importPackage(java.lang);  // required to use System.out and System.err
-importPackage(org.apache.pivot.collections);  // required to use Pivot 
class ArrayList and other collections
-importPackage(org.apache.pivot.util);  // required to use Pivot Utility 
class Console
-importPackage(org.apache.pivot.wtk);   // required to use Pivot WTK classes
-
-function log(msg) {
-if (msg == undefined || msg == null || typeof msg != string)
-return ;
-
-System.out.println(msg);
-}
-]]
-/bxml:script
-
-Border
-BoxPane
-PushButton bxml:id=prevButton buttonData=Prev
-buttonPressListeners
-![CDATA[
-function buttonPressed(button) {
-log(Previous button pressed);
-
-var cardPaneNumPanels = cardPane.getLength();
-var cardPaneCurrentIndex = cardPane.getSelectedIndex();
-log(cardPaneCurrentIndex =  + cardPaneCurrentIndex +  , 
in [0 ..  + (cardPaneNumPanels - 1) + ]);
-if (cardPaneCurrentIndex  0) {
-cardPane.setSelectedIndex(cardPaneCurrentIndex - 1);
-} else {
-cardPane.setSelectedIndex(cardPaneNumPanels - 1);
-}
-// log(now cardPaneCurrentIndex =  + 
cardPane.getSelectedIndex());
-}
-]]
-/buttonPressListeners
-/PushButton
-PushButton bxml:id=nextButton buttonData=Next
-buttonPressListeners
-![CDATA[
-function buttonPressed(button) {
-log(Next button pressed);
-
-var cardPaneNumPanels = cardPane.getLength();
-var cardPaneCurrentIndex = cardPane.getSelectedIndex();
-log(cardPaneCurrentIndex =  + cardPaneCurrentIndex +  , 
in [0 ..  + (cardPaneNumPanels - 1) + ]);
-if (cardPaneCurrentIndex  (cardPaneNumPanels - 1)) {
-cardPane.setSelectedIndex(cardPaneCurrentIndex + 1);
-} else {
-cardPane.setSelectedIndex(0);
-}
-// log(now cardPaneCurrentIndex =  + 
cardPane.getSelectedIndex());
-}
-]]
-/buttonPressListeners
-/PushButton
-/BoxPane
-
-ScrollPane
-
-CardPane bxml:id=cardPane 
styles={selectionChangeEffect:'crossfade'}
-TableView bxml:id=cardElement1 
styles={includeTrailingVerticalGridLine:true}
-columns
-TableView.Column name=nation width=180 
headerData=Nation/
-TableView.Column name=gold   width=60  
headerData=Gold/
-TableView.Column name=silver width=60  
headerData=Silver/
-TableView.Column name=bronze width=60  
headerData=Bronze/
-TableView.Column name=total  width=60  

svn commit: r1399455 - /pivot/infra/CREATE_RELEASE_WORKFLOW

2012-10-17 Thread smartini
Author: smartini
Date: Wed Oct 17 22:06:39 2012
New Revision: 1399455

URL: http://svn.apache.org/viewvc?rev=1399455view=rev
Log:
little update in documentation

Modified:
pivot/infra/CREATE_RELEASE_WORKFLOW

Modified: pivot/infra/CREATE_RELEASE_WORKFLOW
URL: 
http://svn.apache.org/viewvc/pivot/infra/CREATE_RELEASE_WORKFLOW?rev=1399455r1=1399454r2=1399455view=diff
==
--- pivot/infra/CREATE_RELEASE_WORKFLOW (original)
+++ pivot/infra/CREATE_RELEASE_WORKFLOW Wed Oct 17 22:06:39 2012
@@ -29,7 +29,7 @@ so now under the current folder you have
 2 - Setup environment
 The Release process uses the usual pivot builds to generate binary artifacts, 
 so it's better to update all required tools before proceed, 
-for example at the moment the latest JDK for Java 6 is JDK 6 Update 32.
+for example at the moment the latest JDK for Java 6 is JDK 6 Update 37.
 
 Some environment variables are needed, so you need to define them accordingly 
to your environment.
 As a sample you can look at (but please do NOT commit changes to it):
@@ -66,6 +66,8 @@ svn status -u
 From the trunk folder, run:
 ant clean
 to cleanup previous build artifacts.
+Note that if Pivot projects (in that folder) has been imported in an IDE (like 
Eclipse) and compiled there,
+could exist a bin folder in any project, but it has to be deleted before the 
next step.
 
 Then check svn properties, for example run:
 ../infra/bin/check-svn-props.sh




svn commit: r1399463 - /pivot/trunk/tests/src/org/apache/pivot/tests/card_pane_with_tableview_test.bxml

2012-10-17 Thread smartini
Author: smartini
Date: Wed Oct 17 22:23:18 2012
New Revision: 1399463

URL: http://svn.apache.org/viewvc?rev=1399463view=rev
Log:
Set svn props

Modified:

pivot/trunk/tests/src/org/apache/pivot/tests/card_pane_with_tableview_test.bxml 
  (contents, props changed)

Modified: 
pivot/trunk/tests/src/org/apache/pivot/tests/card_pane_with_tableview_test.bxml
URL: 
http://svn.apache.org/viewvc/pivot/trunk/tests/src/org/apache/pivot/tests/card_pane_with_tableview_test.bxml?rev=1399463r1=1399462r2=1399463view=diff
==
--- 
pivot/trunk/tests/src/org/apache/pivot/tests/card_pane_with_tableview_test.bxml 
(original)
+++ 
pivot/trunk/tests/src/org/apache/pivot/tests/card_pane_with_tableview_test.bxml 
Wed Oct 17 22:23:18 2012
@@ -1,132 +1,132 @@
-?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 title=Table Views maximized=true
-xmlns:bxml=http://pivot.apache.org/bxml; 
xmlns:collections=org.apache.pivot.collections
-xmlns=org.apache.pivot.wtk
-
-bxml:script
-![CDATA[
-importPackage(java.lang);  // required to use System.out and System.err
-importPackage(org.apache.pivot.collections);  // required to use Pivot 
class ArrayList and other collections
-importPackage(org.apache.pivot.util);  // required to use Pivot Utility 
class Console
-importPackage(org.apache.pivot.wtk);   // required to use Pivot WTK classes
-
-function log(msg) {
-if (msg == undefined || msg == null || typeof msg != string)
-return ;
-
-System.out.println(msg);
-}
-]]
-/bxml:script
-
-Border
-BoxPane
-PushButton bxml:id=prevButton buttonData=Prev
-buttonPressListeners
-![CDATA[
-function buttonPressed(button) {
-log(Previous button pressed);
-
-var cardPaneNumPanels = cardPane.getLength();
-var cardPaneCurrentIndex = cardPane.getSelectedIndex();
-log(cardPaneCurrentIndex =  + cardPaneCurrentIndex +  , 
in [0 ..  + (cardPaneNumPanels - 1) + ]);
-if (cardPaneCurrentIndex  0) {
-cardPane.setSelectedIndex(cardPaneCurrentIndex - 1);
-} else {
-cardPane.setSelectedIndex(cardPaneNumPanels - 1);
-}
-// log(now cardPaneCurrentIndex =  + 
cardPane.getSelectedIndex());
-}
-]]
-/buttonPressListeners
-/PushButton
-PushButton bxml:id=nextButton buttonData=Next
-buttonPressListeners
-![CDATA[
-function buttonPressed(button) {
-log(Next button pressed);
-
-var cardPaneNumPanels = cardPane.getLength();
-var cardPaneCurrentIndex = cardPane.getSelectedIndex();
-log(cardPaneCurrentIndex =  + cardPaneCurrentIndex +  , 
in [0 ..  + (cardPaneNumPanels - 1) + ]);
-if (cardPaneCurrentIndex  (cardPaneNumPanels - 1)) {
-cardPane.setSelectedIndex(cardPaneCurrentIndex + 1);
-} else {
-cardPane.setSelectedIndex(0);
-}
-// log(now cardPaneCurrentIndex =  + 
cardPane.getSelectedIndex());
-}
-]]
-/buttonPressListeners
-/PushButton
-/BoxPane
-
-ScrollPane
-
-CardPane bxml:id=cardPane 
styles={selectionChangeEffect:'crossfade'}
-TableView bxml:id=cardElement1 
styles={includeTrailingVerticalGridLine:true}
-columns
-TableView.Column name=nation width=180 
headerData=Nation/
-TableView.Column name=gold   width=60  
headerData=Gold/
-TableView.Column name=silver width=60  
headerData=Silver/
-TableView.Column name=bronze width=60  
headerData=Bronze/
-TableView.Column name=total  width=60  
headerData=Total/
-/columns
-
-