This PR will forward more Label calculations to LabeledSkinBase, as they are 
quite complex, especially when a Graphic is involved which is a full-fledged 
`Node`. More specifically, this solves issues with TitledPane when the graphic 
is resizable (ie. an HBox is placed as Graphic in the titled pane's title 
area).  Before, the calculations would only look at the preferred size of the 
graphic, and use these regardless of available space, even if the maximum size 
allowed for the graphic to be larger. After this fix, the more extensive 
LabeledSkinBase calculations are used.

This PR also simplifies the layout calculation.  Instead of manually 
calculating where the label should be positioned (according to alignment), this 
is left to `layoutLabelInArea` which will do this automatically when its 
provided with the available space for the label instead of the label's width.

See the ticket for a sample program; take a look at the graphic-only case where 
an HBox is used to put a label + gap + button as the graphic of the titled pane.

-------------

Commit messages:
 - Reuse calculations from LabeledSkinBase

Changes: https://git.openjdk.org/jfx/pull/1742/files
  Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1742&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8351047
  Stats: 136 lines in 1 file changed: 40 ins; 87 del; 9 mod
  Patch: https://git.openjdk.org/jfx/pull/1742.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/1742/head:pull/1742

PR: https://git.openjdk.org/jfx/pull/1742

Reply via email to