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 2010/07/21 00:28:35 UTC

svn commit: r966040 - in /pivot/trunk: core/src/org/apache/pivot/beans/ demos/src/org/apache/pivot/demos/swing/ tests/src/org/apache/pivot/tests/ wtk/src/org/apache/pivot/wtk/ wtk/src/org/apache/pivot/wtk/skin/

Author: gbrown
Date: Tue Jul 20 22:28:35 2010
New Revision: 966040

URL: http://svn.apache.org/viewvc?rev=966040&view=rev
Log:
Revert experimental SwingAdapter component (focus management between Pivot and Swing components was too messy); request focus to DisplayHost in Component#requestFocus() rather than on MOUSE_PRESSED so Pivot components can programmatically obtain focus (primarily applicable when embedding Pivot components in a Swing/AWT app).


Removed:
    pivot/trunk/tests/src/org/apache/pivot/tests/SwingAdapterTest.java
    pivot/trunk/tests/src/org/apache/pivot/tests/swing_adapter_test.bxml
    pivot/trunk/wtk/src/org/apache/pivot/wtk/SwingAdapter.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/SwingAdapterListener.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/SwingAdapterSkin.java
Modified:
    pivot/trunk/core/src/org/apache/pivot/beans/BXMLSerializer.java
    pivot/trunk/demos/src/org/apache/pivot/demos/swing/SwingDemo.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/ApplicationContext.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/Component.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/Theme.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ComponentSkin.java

Modified: pivot/trunk/core/src/org/apache/pivot/beans/BXMLSerializer.java
URL: http://svn.apache.org/viewvc/pivot/trunk/core/src/org/apache/pivot/beans/BXMLSerializer.java?rev=966040&r1=966039&r2=966040&view=diff
==============================================================================
--- pivot/trunk/core/src/org/apache/pivot/beans/BXMLSerializer.java (original)
+++ pivot/trunk/core/src/org/apache/pivot/beans/BXMLSerializer.java Tue Jul 20 22:28:35 2010
@@ -1153,7 +1153,7 @@ public class BXMLSerializer implements S
                         URL scriptLocation;
                         if (src.charAt(0) == '/') {
                             ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
-                            scriptLocation = classLoader.getResource(src);
+                            scriptLocation = classLoader.getResource(src.substring(1));
                         } else {
                             scriptLocation = new URL(location, src);
                         }

Modified: pivot/trunk/demos/src/org/apache/pivot/demos/swing/SwingDemo.java
URL: http://svn.apache.org/viewvc/pivot/trunk/demos/src/org/apache/pivot/demos/swing/SwingDemo.java?rev=966040&r1=966039&r2=966040&view=diff
==============================================================================
--- pivot/trunk/demos/src/org/apache/pivot/demos/swing/SwingDemo.java (original)
+++ pivot/trunk/demos/src/org/apache/pivot/demos/swing/SwingDemo.java Tue Jul 20 22:28:35 2010
@@ -130,7 +130,7 @@ public class SwingDemo extends Applicati
 
         // Open and select the internal frame
         internalFrame.setLocation(50, 50);
-        internalFrame.setSize(640, 480);
+        internalFrame.setSize(480, 360);
         internalFrame.setVisible(true);
     }
 
@@ -162,7 +162,7 @@ public class SwingDemo extends Applicati
 
         // Open and select the internal frame
         internalFrame.setLocation(240, 100);
-        internalFrame.setSize(640, 480);
+        internalFrame.setSize(480, 360);
         internalFrame.setVisible(true);
 
         try {

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/ApplicationContext.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/ApplicationContext.java?rev=966040&r1=966039&r2=966040&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/ApplicationContext.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/ApplicationContext.java Tue Jul 20 22:28:35 2010
@@ -807,8 +807,6 @@ public abstract class ApplicationContext
                 try {
                     switch (eventID) {
                         case MouseEvent.MOUSE_PRESSED: {
-                            requestFocus();
-
                             mouseOwner.mouseDown(button, x, y);
 
                             if (button == Mouse.Button.LEFT) {

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/Component.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/Component.java?rev=966040&r1=966039&r2=966040&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/Component.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/Component.java Tue Jul 20 22:28:35 2010
@@ -2282,7 +2282,7 @@ public abstract class Component implemen
      * If <tt>focused</tt> is true, the component that has lost the focus;
      * otherwise, the component that has gained the focus.
      */
-    private void setFocused(boolean focused, Component obverseComponent) {
+    protected void setFocused(boolean focused, Component obverseComponent) {
         if (focused) {
             parent.descendantGainedFocus(this, obverseComponent);
         } else {
@@ -2302,6 +2302,11 @@ public abstract class Component implemen
     public boolean requestFocus() {
         if (isFocusable()) {
             setFocusedComponent(this);
+
+            ApplicationContext.DisplayHost displayHost = getDisplay().getDisplayHost();
+            if (!displayHost.isFocusOwner()) {
+                displayHost.requestFocusInWindow();
+            }
         }
 
         return isFocused();

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/Theme.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/Theme.java?rev=966040&r1=966039&r2=966040&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/Theme.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/Theme.java Tue Jul 20 22:28:35 2010
@@ -35,7 +35,6 @@ import org.apache.pivot.wtk.skin.PanelSk
 import org.apache.pivot.wtk.skin.ScrollPaneSkin;
 import org.apache.pivot.wtk.skin.SeparatorSkin;
 import org.apache.pivot.wtk.skin.StackPaneSkin;
-import org.apache.pivot.wtk.skin.SwingAdapterSkin;
 import org.apache.pivot.wtk.skin.TablePaneFillerSkin;
 import org.apache.pivot.wtk.skin.TablePaneSkin;
 import org.apache.pivot.wtk.skin.TextAreaSkin;
@@ -94,7 +93,6 @@ public abstract class Theme {
         componentSkinMap.put(ScrollPane.class, ScrollPaneSkin.class);
         componentSkinMap.put(Separator.class, SeparatorSkin.class);
         componentSkinMap.put(StackPane.class, StackPaneSkin.class);
-        componentSkinMap.put(SwingAdapter.class, SwingAdapterSkin.class);
         componentSkinMap.put(TablePane.class, TablePaneSkin.class);
         componentSkinMap.put(TablePane.Filler.class, TablePaneFillerSkin.class);
         componentSkinMap.put(TextArea.class, TextAreaSkin.class);

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ComponentSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ComponentSkin.java?rev=966040&r1=966039&r2=966040&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ComponentSkin.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ComponentSkin.java Tue Jul 20 22:28:35 2010
@@ -241,7 +241,9 @@ public abstract class ComponentSkin impl
 
     @Override
     public void focusedChanged(Component component, Component obverseComponent) {
-        // No-op
+        if (component.isFocused()) {
+            component.scrollAreaToVisible(0, 0, component.getWidth(), component.getHeight());
+        }
     }
 
     // Component mouse events
@@ -315,18 +317,9 @@ public abstract class ComponentSkin impl
             FocusTraversalDirection direction = (Keyboard.isPressed(Keyboard.Modifier.SHIFT)) ?
                 FocusTraversalDirection.BACKWARD : FocusTraversalDirection.FORWARD;
 
-            Component previousFocusedComponent = Component.getFocusedComponent();
-            previousFocusedComponent.transferFocus(direction);
-
-            Component focusedComponent = Component.getFocusedComponent();
+            component.transferFocus(direction);
 
-            if (previousFocusedComponent != focusedComponent) {
-                // Ensure that the focused component is visible if it is in a viewport
-                focusedComponent.scrollAreaToVisible(0, 0, focusedComponent.getWidth(),
-                    focusedComponent.getHeight());
-
-                consumed = true;
-            }
+            consumed = true;
         }
 
         return consumed;