// @formatter:off
/*
 * Unlicensed, generated by javafx.ftl
 */

package javafx.scene.control;

import java.util.Collection;

import javafx.scene.Node;

/**
 * {@link Dialog}建構器延伸（供客製化）
 *
 * @author JarReflectionDataLoader-1.0.0
 * @version openjfx-dialogs-1.0.2.jar
 * @param <Z> 要建構的物件型態(需繼承{@link Dialog})
 * @param <B> 建構器本身的型態(需繼承{@link DialogMaker})
 */
@javax.annotation.Generated("Generated by javafx.ftl")
@SuppressWarnings("all")
public interface DialogMakerExt<R extends java.lang.Object, Z extends Dialog<R>, B extends DialogMaker<R, Z, B>>
        extends jxtn.jfx.makers.AbstractMakerExt<Z, B>
{
    default B buttonTypes(Collection<? extends ButtonType> buttonTypes)
    {

        this.self().afterBuild(d -> d.getDialogPane().getButtonTypes().addAll(buttonTypes));
        return this.self();
    }

    default B buttonTypes(ButtonType... buttonTypes)
    {

        this.self().afterBuild(d -> d.getDialogPane().getButtonTypes().addAll(buttonTypes));
        return this.self();
    }

    default B content(Node content)
    {

        this.self().afterBuild(d -> d.getDialogPane().setContent(content));
        return this.self();
    }

    default B expandableContent(Node content)
    {

        this.self().afterBuild(d -> d.getDialogPane().setExpandableContent(content));
        return this.self();
    }
}

@@ -154,16 +154,109 @@
 e.Node;%0D
+%0Aimport javafx.stage.Modality;%0D%0Aimport javafx.stage.StageStyle;%0D%0Aimport javafx.stage.Window;%0D
 %0A%0D%0A/**%0D%0A
@@ -1469,12 +1469,446 @@
 %0D%0A    %7D%0D
+%0A%0D%0A    default B modality(Modality modality)%0D%0A    %7B%0D%0A        this.self().afterBuild(d -%3E d.initModality(modality));%0D%0A        return this.self();%0D%0A    %7D%0D%0A%0D%0A    default B owner(Window window)%0D%0A    %7B%0D%0A        this.self().afterBuild(d -%3E d.initOwner(window));%0D%0A        return this.self();%0D%0A    %7D%0D%0A%0D%0A    default B style(StageStyle style)%0D%0A    %7B%0D%0A        this.self().afterBuild(d -%3E d.initStyle(style));%0D%0A        return this.self();%0D%0A    %7D%0D
 %0A%7D%0D%0A

add setters for modality, owner and style