On May 28, 2013, at 2:47 PM, Tom Schindl <tom.schi...@bestsolution.at> wrote:
> On 28.05.13 19:11, Richard Bair wrote: >> Thanks for the summary Jasper, I agree that we should look at this >> holistically. >> >> I think the requestParentLayout() call is done when we don't know if the >> change in min/max/pref will result in an actual change in the size of the >> node, and therefore we don't know if it *needs* to relayout its children. >> >> So for example, maybe the pref size has changed, but the node is in a >> StackPane, in which case its pref size changing doesn't actually matter >> because the size of the child is determined rather by the size of the parent. >> >> I like both these names (requestParentLayout() and requestLocalLayout()). >> Both solutions seem important and sensible. Essentially what we're doing is >> making requestLayout() more fine-grained -- "I need to have layout() called, >> but this won't affect my parent in any way" and "I don't need my layout() >> called necessarily, but my size has changed in some way my parent should be >> informed about". >> > > If the new methods really make requestLayout more fine grained why not > expressing this by keeping the name and passing a Scope parameter which would > make the API look like requestLayout(Scope)? > > enum Scope { > LOCAL, > PARENT > } What are the pros / cons? Enums are classes so there is a greater static & dynamic cost to them over a couple of methods. Richard