Extending Builders: Layout Builders
Eva Krejcirova
eva.krejcirova at oracle.com
Thu Jul 12 07:41:32 PDT 2012
This is change to the API so it will need to go to 3.0. We are in high
resistance mode for 2.2 and it is not possible to add new features there
anymore.
I will also need to get approval for this API change first (even for
3.0) :-)
Eva
On 7/12/2012 4:24 PM, Dr. Michael Paus wrote:
> Great - These are exactly the convenience methods I had in mind when I
> wrote the original request.
> I just did not have the time to sort this all out :-)
>
> One more question. Will this work be part of the 2.2 release or will
> it come later in the 3.0 release?
>
> Michael
>
> Am 12.07.2012 16:20, schrieb Eva Krejcirova:
>> Hi,
>>
>> I would like to add following methods to our layout builders. Similar
>> convenience methods are present in their respective layout classes:
>>
>> *GridPaneBuilder*
>> addColumn(int columnIndex, Node... children)
>> addRow(int rowIndex, Node... children)
>> add(Node child, int columnIndex, int rowIndex)
>> add(Node child, int columnIndex, int rowIndex, int colspan, int rowspan)
>>
>> *RegionBuilder*
>> maxSize(double width, double height)
>> minSize(double width, double height)
>> prefSize(double width, double height)
>> These will be inherited by all layout builders.
>>
>> A also propose to add following convenience methods which don't have
>> direct counterpart in layout classes (the constraints can be
>> specified only by static methods there)
>> Adding these would enable us to add child with constraint to layout
>> without having to hold a reference to it. e.g
>> Hbox h = HBoxBuilder.create().add(CircleBuilder.create...build(),
>> margin).build();
>> instead of
>> Circle circle = CircleBuilder.create...build();
>> Hbox h = HBoxBuilder.create().children(circle).build();
>> Hbox.setMargin (circle, margin);
>>
>> The proposed methods are:
>> *AnchorPaneBuilder*
>> add(Node child, Double topAnchor, Double rightAnchor, Double
>> bottomAnchor, Double leftAnchor)
>>
>> *BorderPaneBuilder*
>> add(Node child, Pos alignment)
>> add(Node child, Insets margin)
>> add(Node child, Pos alignment, Insets margin)
>>
>> *FlowPaneBuilder*
>> add(Node child, Insets margin)
>>
>> *GridPaneBuilder*
>> add(Node child, int columnIndex, int rowIndex, int columnspan, int
>> rowspan, HPos halignment, VPos valignment)
>> add(Node child, int columnIndex, int rowIndex, int columnspan, int
>> rowspan, HPos halignment, VPos valignment, Priority hgrow, Priority
>> vgrow)
>> add(Node child, int columnIndex, int rowIndex, int columnspan, int
>> rowspan, HPos halignment, VPos valignment, Priority hgrow, Priority
>> vgrow, Insets margin)
>>
>> *HBoxBuilder*
>> add(Node child, Priority hgrow)
>> add(Node child, Insets margin)
>> add(Node child, Priority hgrow, Insets margin)
>>
>> *StackPaneBuilder*
>> add(Node child, Pos alignment)
>> add(Node child, Insets margin)
>> add(Node child, Pos alignment, Insets margin)
>>
>> *TilePaneBuilder*
>> add(Node child, Pos alignment)
>> add(Node child, Insets margin)
>> add(Node child, Pos alignment, Insets margin)
>>
>> *VBoxBuilder*
>> add(Node child, Priority vgrow)
>> add(Node child, Insets margin)
>> add(Node child, Priority vgrow, Insets margin)
>>
>> Thanks,
>> Eva
>
>
>
More information about the openjfx-dev
mailing list