You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by rw...@apache.org on 2017/12/08 21:03:49 UTC
svn commit: r1817567 -
/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSplitPaneSkin.java
Author: rwhitcomb
Date: Fri Dec 8 21:03:49 2017
New Revision: 1817567
URL: http://svn.apache.org/viewvc?rev=1817567&view=rev
Log:
PIVOT-636: Calculate non-zero splitter preferred sizes as the sum of
the splitter thickness and the top/left and bottom/right component
preferred sizes (if any).
Modified:
pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSplitPaneSkin.java
Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSplitPaneSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSplitPaneSkin.java?rev=1817567&r1=1817566&r2=1817567&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSplitPaneSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSplitPaneSkin.java Fri Dec 8 21:03:49 2017
@@ -338,17 +338,64 @@ public class TerraSplitPaneSkin extends
@Override
public int getPreferredWidth(int height) {
- return 0;
+ int preferredWidth = splitterThickness;
+
+ SplitPane splitPane = (SplitPane)getComponent();
+
+ Component topLeft = splitPane.getTopLeft();
+ if (topLeft != null) {
+ preferredWidth += topLeft.getPreferredWidth(height);
+ }
+
+ Component bottomRight = splitPane.getBottomRight();
+ if (bottomRight != null) {
+ preferredWidth += bottomRight.getPreferredWidth(height);
+ }
+
+ return preferredWidth;
}
@Override
public int getPreferredHeight(int width) {
- return 0;
+ int preferredHeight = splitterThickness;
+
+ SplitPane splitPane = (SplitPane)getComponent();
+
+ Component topLeft = splitPane.getTopLeft();
+ if (topLeft != null) {
+ preferredHeight += topLeft.getPreferredHeight(width);
+ }
+
+ Component bottomRight = splitPane.getBottomRight();
+ if (bottomRight != null) {
+ preferredHeight += bottomRight.getPreferredHeight(width);
+ }
+
+ return preferredHeight;
}
@Override
public Dimensions getPreferredSize() {
- return Dimensions.ZERO;
+ int preferredWidth = splitterThickness;
+ int preferredHeight = splitterThickness;
+
+ SplitPane splitPane = (SplitPane)getComponent();
+
+ Component topLeft = splitPane.getTopLeft();
+ if (topLeft != null) {
+ Dimensions size = topLeft.getPreferredSize();
+ preferredWidth += size.width;
+ preferredHeight += size.height;
+ }
+
+ Component bottomRight = splitPane.getBottomRight();
+ if (bottomRight != null) {
+ Dimensions size = bottomRight.getPreferredSize();
+ preferredWidth += size.width;
+ preferredHeight += size.height;
+ }
+
+ return new Dimensions(preferredWidth, preferredHeight);
}
@Override