+1

This would allow apps to dispense with the following workaround when taking a snapshot:

   // create a dummy scene so layout and CSS will work
   new Scene(new Group(node));

   node.shapshot(...)

-- Kevin


David Grieve wrote:
Hi Martin,

With regard to having this work without a Sceneā€¦

I think having a method that would layout a node without the node actually having to be part of the scene-graph would be _very_ useful. Often times, developers will do the show-hide trick or add-remove trick to get a node's bounds before the node is shown for real. SceneBuilder has to do tricks like these to deal with popup controls, like tooltip. What styles are applied from CSS depends on where the node is in the scene-graph, so the method would need to be 'if I add this node to this parent, what will be the node's bounds?'. To make this work on the CSS side would require decoupling the 'css graph' from the scene-graph. RT-30894 touches on that.
On Jul 3, 2013, at 8:33 AM, Martin Sladecek <martin.slade...@oracle.com> wrote:

Hi,

JIRA: https://javafx-jira.kenai.com/browse/RT-31133

I propose a single method "public final void validate()" to be added to Node class. 
The validate method would ensure that the metrics (layout bounds) of the Node are valid with 
regards to the current scenegraph (CSS & layout).

Together with this change, Parent.layout() will be deprecated.

In my current implementation, validate() method works only if the Node is in a 
Scene. To make it work without a Scene, we'd need to do do some small 
adjustments to CSS (doesn't work with getScene() == null). But I'm not sure if 
such feature would be useful.

Regards,
-Martin

Reply via email to