Registering to fontProperty works, but potentially requires a lot of listeners 
on every property that may affect the size, like effect, scale, etc. So I'm 
leaving it in layoutChildren for now; better once to many than not often enough.

Would adding such an event be a big change?



On 17-2-2015 14:50, David Grieve wrote:

On 2/17/15 8:02 AM, Tom Eugelink wrote:
I have a skin (of a control) that centers a Text node. This Text node can be 
styled via CSS, so this styling is a factor when centering. because larger font 
means wider text.

The centering works perfectly, the only problem is figuring out when to center 
the node. At the moment I'm centering the node on every layoutChildren call of 
the skin, but this is way to often, because after applying the CSS chances are 
very low that the node will need to be repositioned.

Basically I would like to be informed when the styling of a node has been 
applied or changed. Is there some place that can provide this information?

Not in general, no. But you can add a listener to a property that is styled by 
CSS and react to the change. You might add a listener to the Text node's 
fontProperty, for example. Clearly this isn't an all-purpose solution. Another 
approach is to hold onto the bounds (or maybe just the pref width and height) 
of the child node. If the old bounds doesn't equal the new bounds, then 
recenter.

Reply via email to