You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by no...@apache.org on 2009/11/17 13:47:36 UTC

svn commit: r881255 - /incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraListViewSkin.java

Author: noelgrandin
Date: Tue Nov 17 12:47:36 2009
New Revision: 881255

URL: http://svn.apache.org/viewvc?rev=881255&view=rev
Log:
fix bug in getPreferredXXX methods - cannot rely on cached layout values because layout() may not have run yet

Modified:
    incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraListViewSkin.java

Modified: incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraListViewSkin.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraListViewSkin.java?rev=881255&r1=881254&r2=881255&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraListViewSkin.java (original)
+++ incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraListViewSkin.java Tue Nov 17 12:47:36 2009
@@ -150,6 +150,13 @@
                 preferredHeight += itemRenderer.getPreferredHeight(clientWidth);
             }
         } else {
+            itemRenderer.render(null, -1, listView, false, false, false, false);
+
+            int fixedItemHeight = itemRenderer.getPreferredHeight(-1);
+            if (listView.getCheckmarksEnabled()) {
+                fixedItemHeight = Math.max(CHECKBOX.getHeight() + (checkboxPadding.top
+                    + checkboxPadding.bottom), fixedItemHeight);
+            }
             preferredHeight = listData.getLength() * fixedItemHeight;
         }
 
@@ -182,6 +189,12 @@
             baseline = itemRenderer.getBaseline(clientWidth, itemHeight);
         } else {
             itemRenderer.render(null, -1, listView, false, false, false, false);
+
+            int fixedItemHeight = itemRenderer.getPreferredHeight(-1);
+            if (listView.getCheckmarksEnabled()) {
+                fixedItemHeight = Math.max(CHECKBOX.getHeight() + (checkboxPadding.top
+                    + checkboxPadding.bottom), fixedItemHeight);
+            }
             baseline = itemRenderer.getBaseline(clientWidth, fixedItemHeight);
         }