[API Review]: Node validation

Richard Bair richard.bair at oracle.com
Mon Jul 8 09:29:27 PDT 2013


But that is by far not the only thing the method will do. It will also make sure all the CSS properties are applied. For example you can see what the background of a Region will be, or any other property that can be set from CSS. Is the reason you want to avoid validateLayoutAndCSS is that it might be used for more than just layout and CSS in the future?

On Jul 8, 2013, at 5:20 AM, Martin Sladecek <martin.sladecek at oracle.com> wrote:

> The plan is to have a final validate() method.
> Anyway, does anybody have a better suggestion? The validate should do both CSS and layout and I would like to avoid method name that's too descriptive (like validateLayoutAndCSS()) if possible.
> I think the most important thing about the method is that it validates the bounds/metrics of the Node, so maybe validateBounds() ?
> 
> -Martin
> 
> On 07/08/2013 01:52 PM, Anthony Petrov wrote:
>> +1
>> 
>> The validate()/isValid() in AWT/Swing are often overridden by user apps for tasks that have nothing to do with the layout. And this causes a lot of problems.
>> 
>> -- 
>> best regards,
>> Anthony
>> 
>> On 07/08/13 15:20, Pavel Safrata wrote:
>>> Hello,
>>> one more discussion topic: perhaps the "validate" name is too general?
>>> Maybe we can come up with more descriptive name? There are all kinds of
>>> nodes and sometimes this name can be misleading (not ringing the layout
>>> bell at all). For example TextField.validate() may look like validating
>>> the input. Also I wouldn't be surprised if users run into problems with
>>> custom nodes having their "validate" methods for different purposes.
>>> Pavel
>>> 
>>> On 3.7.2013 14:33, Martin Sladecek 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
>>> 
> 



More information about the openjfx-dev mailing list