You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by gb...@apache.org on 2009/05/01 22:37:30 UTC

svn commit: r770817 - in /incubator/pivot/trunk: tutorials/src/pivot/tutorials/drawing/ wtk/src/pivot/wtk/ wtk/src/pivot/wtk/skin/ wtk/test/pivot/wtk/media/drawing/test/

Author: gbrown
Date: Fri May  1 20:37:30 2009
New Revision: 770817

URL: http://svn.apache.org/viewvc?rev=770817&view=rev
Log:
Move rotation test to tutorials project; check for public field access before calling setAccessible() in ApplicationContext.bind(), since this will throw an exception in an applet.

Added:
    incubator/pivot/trunk/tutorials/src/pivot/tutorials/drawing/
    incubator/pivot/trunk/tutorials/src/pivot/tutorials/drawing/RotateLine.java
    incubator/pivot/trunk/tutorials/src/pivot/tutorials/drawing/rotate_line.wtkd
Removed:
    incubator/pivot/trunk/wtk/test/pivot/wtk/media/drawing/test/RotationTest.java
    incubator/pivot/trunk/wtk/test/pivot/wtk/media/drawing/test/rotate.wtkd
Modified:
    incubator/pivot/trunk/wtk/src/pivot/wtk/ApplicationContext.java
    incubator/pivot/trunk/wtk/src/pivot/wtk/skin/ImageViewSkin.java

Added: incubator/pivot/trunk/tutorials/src/pivot/tutorials/drawing/RotateLine.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/pivot/tutorials/drawing/RotateLine.java?rev=770817&view=auto
==============================================================================
--- incubator/pivot/trunk/tutorials/src/pivot/tutorials/drawing/RotateLine.java (added)
+++ incubator/pivot/trunk/tutorials/src/pivot/tutorials/drawing/RotateLine.java Fri May  1 20:37:30 2009
@@ -0,0 +1,56 @@
+package pivot.tutorials.drawing;
+
+import pivot.collections.Dictionary;
+import pivot.wtk.Application;
+import pivot.wtk.ApplicationContext;
+import pivot.wtk.DesktopApplicationContext;
+import pivot.wtk.Display;
+import pivot.wtk.ImageView;
+import pivot.wtk.Window;
+import pivot.wtk.media.Drawing;
+import pivot.wtk.media.drawing.Shape;
+import pivot.wtkx.Bind;
+import pivot.wtkx.Load;
+
+public class RotateLine implements Application {
+    @Load(name="rotate_line.wtkd")
+    private Drawing drawing = null;
+
+    @Bind(resource="drawing", id="rotation")
+    private Shape.Rotate rotation = null;
+
+    private Window window = null;
+
+    public void startup(Display display, Dictionary<String, String> properties)
+        throws Exception{
+        ApplicationContext.scheduleRecurringCallback(new Runnable() {
+            public void run() {
+                int angle = (int)rotation.getAngle();
+                angle = (angle + 6) % 360;
+                rotation.setAngle(angle);
+            }
+        }, 1000);
+
+        window = new Window(new ImageView(drawing));
+        window.setMaximized(true);
+        window.open(display);
+    }
+
+    public boolean shutdown(boolean optional) {
+        if (window != null) {
+            window.close();
+        }
+
+        return true;
+    }
+
+    public void suspend() {
+    }
+
+    public void resume() {
+    }
+
+    public static void main(String[] args) {
+        DesktopApplicationContext.main(RotateLine.class, args);
+    }
+}

Added: incubator/pivot/trunk/tutorials/src/pivot/tutorials/drawing/rotate_line.wtkd
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/pivot/tutorials/drawing/rotate_line.wtkd?rev=770817&view=auto
==============================================================================
--- incubator/pivot/trunk/tutorials/src/pivot/tutorials/drawing/rotate_line.wtkd (added)
+++ incubator/pivot/trunk/tutorials/src/pivot/tutorials/drawing/rotate_line.wtkd Fri May  1 20:37:30 2009
@@ -0,0 +1,32 @@
+<?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.
+-->
+
+<Drawing width="320" height="320" background="#cccccc" 
+    xmlns="pivot.wtk.media"
+    xmlns:wtkx="http://incubator.apache.org/pivot/wtkx/1.1">
+    <canvas>
+        <Canvas xmlns="pivot.wtk.media.drawing">
+            <Line x1="0" y1="0" x2="0" y2="-160" strokeThickness="4">
+                <transforms>
+                    <Shape.Translate x="160" y="160"/>
+                    <Shape.Rotate wtkx:id="rotation"/>
+                </transforms>
+            </Line>
+        </Canvas>
+    </canvas>
+</Drawing>

Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/ApplicationContext.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/ApplicationContext.java?rev=770817&r1=770816&r2=770817&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/ApplicationContext.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/ApplicationContext.java Fri May  1 20:37:30 2009
@@ -45,6 +45,7 @@
 import java.lang.reflect.Field;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
 import java.net.URI;
 import java.net.URL;
 import java.util.Iterator;
@@ -1355,7 +1356,9 @@
                 }
 
                 // Set the resource into the field
-                field.setAccessible(true);
+                if ((field.getModifiers() & Modifier.PUBLIC) == 0) {
+                    field.setAccessible(true);
+                }
 
                 try {
                     field.set(application, resource);
@@ -1363,7 +1366,9 @@
                     throw new BindException(exception);
                 }
 
-                field.setAccessible(false);
+                if ((field.getModifiers() & Modifier.PUBLIC) == 0) {
+                    field.setAccessible(false);
+                }
             }
 
             Bind bindAnnotation = field.getAnnotation(Bind.class);
@@ -1387,7 +1392,9 @@
                 }
 
                 // Set the value into the field
-                field.setAccessible(true);
+                if ((field.getModifiers() & Modifier.PUBLIC) == 0) {
+                    field.setAccessible(true);
+                }
 
                 try {
                     field.set(application, value);
@@ -1395,7 +1402,9 @@
                     throw new BindException(exception);
                 }
 
-                field.setAccessible(false);
+                if ((field.getModifiers() & Modifier.PUBLIC) == 0) {
+                    field.setAccessible(false);
+                }
             }
         }
     }

Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/skin/ImageViewSkin.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/skin/ImageViewSkin.java?rev=770817&r1=770816&r2=770817&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/skin/ImageViewSkin.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/skin/ImageViewSkin.java Fri May  1 20:37:30 2009
@@ -65,7 +65,6 @@
                 imageY + (int)Math.floor((float)y * scaleY),
                 (int)Math.ceil((float)width * scaleX) + 1,
                 (int)Math.ceil((float)height * scaleY) + 1);
-            System.out.println(bounds);
             repaintComponent(bounds);
         }
     };