From: jpbruyere Date: Wed, 17 Feb 2016 00:18:24 +0000 (+0100) Subject: force first child of group in Fit to Fit if no other child could be sized X-Git-Tag: v0.4~127^2~1 X-Git-Url: https://git.osiis.dedyn.io/?a=commitdiff_plain;h=e34113064b1ebd1859b16f8f79f0f6e0da4b7ad2;p=jp%2Fcrow.git force first child of group in Fit to Fit if no other child could be sized --- diff --git a/src/GraphicObjects/Group.cs b/src/GraphicObjects/Group.cs index 2a960029..6e2417a9 100644 --- a/src/GraphicObjects/Group.cs +++ b/src/GraphicObjects/Group.cs @@ -127,17 +127,26 @@ namespace Crow } protected override int measureRawSize (LayoutingType lt) { + if (Children.Count == 0) + return base.measureRawSize (lt); + if (lt == LayoutingType.Width) { if (largestChild == null) searchLargestChild (); - if (largestChild == null)//if still null, not possible to determine a width - return -1; + if (largestChild == null){ + //if still null, not possible to determine a width + //because all children are stretched, force first one to fit + Children[0].Width = -1; + return -1;//cancel actual sizing to let child computation take place + } return maxChildrenWidth + 2 * Margin; }else{ if (tallestChild == null) searchTallestChild (); - if (tallestChild == null) + if (tallestChild == null) { + Children[0].Height = -1; return -1; + } return maxChildrenHeight + 2 * Margin; } }