You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by hi...@apache.org on 2007/01/14 22:54:07 UTC

svn commit: r496163 - in /harmony/enhanced/classlib/trunk/modules/swing/src: main/java/common/javax/swing/plaf/basic/BasicSplitPaneUI.java test/api/java/common/javax/swing/plaf/basic/BasicSplitPaneUITest.java

Author: hindessm
Date: Sun Jan 14 13:54:06 2007
New Revision: 496163

URL: http://svn.apache.org/viewvc?view=rev&rev=496163
Log:
Applying patches from "[#HARMONY-2771] [classlib][swing]
javax.swing.plaf.basic.BasicSplitPaneUI.getLastDragLocation() returns -1
while RI returns 0".

Modified:
    harmony/enhanced/classlib/trunk/modules/swing/src/main/java/common/javax/swing/plaf/basic/BasicSplitPaneUI.java
    harmony/enhanced/classlib/trunk/modules/swing/src/test/api/java/common/javax/swing/plaf/basic/BasicSplitPaneUITest.java

Modified: harmony/enhanced/classlib/trunk/modules/swing/src/main/java/common/javax/swing/plaf/basic/BasicSplitPaneUI.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/swing/src/main/java/common/javax/swing/plaf/basic/BasicSplitPaneUI.java?view=diff&rev=496163&r1=496162&r2=496163
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/swing/src/main/java/common/javax/swing/plaf/basic/BasicSplitPaneUI.java (original)
+++ harmony/enhanced/classlib/trunk/modules/swing/src/main/java/common/javax/swing/plaf/basic/BasicSplitPaneUI.java Sun Jan 14 13:54:06 2007
@@ -14,12 +14,6 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-
-/**
- * @author Sergey Burlak
- * @version $Revision$
- */
-
 package javax.swing.plaf.basic;
 
 import java.awt.Canvas;
@@ -48,7 +42,6 @@
 
 import org.apache.harmony.x.swing.Utilities;
 
-
 public class BasicSplitPaneUI extends SplitPaneUI {
 
     public class BasicHorizontalLayoutManager implements LayoutManager2 {
@@ -391,10 +384,12 @@
     }
 
     public class FocusHandler extends FocusAdapter {
+        @Override
         public void focusGained(final FocusEvent ev) {
             divider.repaint();
         }
 
+        @Override
         public void focusLost(final FocusEvent ev) {
             divider.repaint();
         }
@@ -502,7 +497,7 @@
 
     private boolean isContinuousLayout;
     private int orientation;
-    private int lastDragLocation = -1;
+    private int lastDragLocation;
     private int dividerLocation;
     private boolean isDisplayed;
 
@@ -510,6 +505,7 @@
         return new BasicSplitPaneUI();
     }
 
+    @Override
     public void installUI(final JComponent c) {
         splitPane = (JSplitPane)c;
 
@@ -524,6 +520,8 @@
 
         divider.oneTouchExpandableChanged();
         resetToPreferredSizes(getSplitPane());
+
+        setLastDragLocation(-1);
     }
 
     protected void installDefaults() {
@@ -564,6 +562,7 @@
         BasicSplitPaneKeyboardActions.installKeyboardActions(splitPane);
     }
 
+    @Override
     public void uninstallUI(final JComponent c) {
         splitPane = (JSplitPane)c;
 
@@ -657,6 +656,11 @@
 
     protected Component createDefaultNonContinuousLayoutDivider() {
         return new Canvas() {
+            // Note: this is not a guaratee for correct serialization/deserialization
+            // but rather a performace optimization
+            private static final long serialVersionUID = 1L;
+
+            @Override
             public void paint(final Graphics g) {
                 Color oldColor = g.getColor();
                 g.setColor(Color.DARK_GRAY);
@@ -704,15 +708,18 @@
         return new BasicSplitPaneDivider(this);
     }
 
+    @Override
     public void resetToPreferredSizes(final JSplitPane jc) {
         layoutManager.resetToPreferredSizes();
         splitPane.repaint();
     }
 
+    @Override
     public void setDividerLocation(final JSplitPane jc, final int location) {
         splitPane.revalidate();
     }
 
+    @Override
     public int getDividerLocation(final JSplitPane jc) {
         if (jc == null) { // Fix for HARMONY-2661, for compatibility with RI
             throw new NullPointerException("jc is null");
@@ -720,6 +727,7 @@
         return dividerLocation;
     }
 
+    @Override
     public int getMinimumDividerLocation(final JSplitPane jc) {
         if (getOrientation() == JSplitPane.HORIZONTAL_SPLIT) {
             return jc.getLeftComponent() == null ? 0 : jc.getLeftComponent().getMinimumSize().width + jc.getInsets().left;
@@ -728,6 +736,7 @@
         }
     }
 
+    @Override
     public int getMaximumDividerLocation(final JSplitPane jc) {
         Insets insets = jc.getInsets();
         if (getOrientation() == JSplitPane.HORIZONTAL_SPLIT) {
@@ -741,6 +750,7 @@
         }
     }
 
+    @Override
     public void finishedPaintingChildren(final JSplitPane jc, final Graphics g) {
         g.setClip(0, 0, jc.getWidth(), jc.getHeight());
         if (!isContinuousLayout() && lastDragLocation != -1) {
@@ -748,22 +758,26 @@
         }
     }
 
+    @Override
     public void paint(final Graphics g, final JComponent jc) {
         isDisplayed = true;
     }
 
+    @Override
     public Dimension getPreferredSize(final JComponent jc) {
         return ((layoutManager != null)
                 ? layoutManager.preferredLayoutSize(jc)
                 : new Dimension(0, 0));
     }
 
+    @Override
     public Dimension getMinimumSize(final JComponent jc) {
         return ((layoutManager != null)
                 ? layoutManager.minimumLayoutSize(jc)
                 : new Dimension(0, 0));
     }
 
+    @Override
     public Dimension getMaximumSize(final JComponent jc) {
         return ((layoutManager != null)
                 ? layoutManager.maximumLayoutSize(jc)

Modified: harmony/enhanced/classlib/trunk/modules/swing/src/test/api/java/common/javax/swing/plaf/basic/BasicSplitPaneUITest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/swing/src/test/api/java/common/javax/swing/plaf/basic/BasicSplitPaneUITest.java?view=diff&rev=496163&r1=496162&r2=496163
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/swing/src/test/api/java/common/javax/swing/plaf/basic/BasicSplitPaneUITest.java (original)
+++ harmony/enhanced/classlib/trunk/modules/swing/src/test/api/java/common/javax/swing/plaf/basic/BasicSplitPaneUITest.java Sun Jan 14 13:54:06 2007
@@ -14,10 +14,6 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-/**
- * @author Sergey Burlak
- * @version $Revision$
- */
 package javax.swing.plaf.basic;
 
 import java.awt.Canvas;
@@ -154,6 +150,11 @@
         assertEquals(-1, ui.getLastDragLocation());
         ui.setLastDragLocation(40);
         assertEquals(40, ui.getLastDragLocation());
+    }
+
+    // Regression for HARMONY-2771
+    public void testGetLastDragLocation() throws Exception {
+        assertEquals(0, new BasicSplitPaneUI().getLastDragLocation());
     }
 
     public void testGetDivider() throws Exception {