All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.netopyr.reduxfx.vscenegraph.VScenegraphFactory Maven / Gradle / Ivy

package com.netopyr.reduxfx.vscenegraph;

import com.netopyr.reduxfx.vscenegraph.builders.AccordionBuilder;
import com.netopyr.reduxfx.vscenegraph.builders.*;
import com.netopyr.reduxfx.vscenegraph.builders.ButtonBaseBuilder;
import com.netopyr.reduxfx.vscenegraph.builders.ButtonBuilder;
import com.netopyr.reduxfx.vscenegraph.builders.CheckBoxBuilder;
import com.netopyr.reduxfx.vscenegraph.builders.ContextMenuBuilder;
import com.netopyr.reduxfx.vscenegraph.builders.ControlBuilder;
import com.netopyr.reduxfx.vscenegraph.builders.LabelBuilder;
import com.netopyr.reduxfx.vscenegraph.builders.LabeledBuilder;
import com.netopyr.reduxfx.vscenegraph.builders.ListViewBuilder;
import com.netopyr.reduxfx.vscenegraph.builders.MenuBarBuilder;
import com.netopyr.reduxfx.vscenegraph.builders.MenuBuilder;
import com.netopyr.reduxfx.vscenegraph.builders.MenuItemBuilder;
import com.netopyr.reduxfx.vscenegraph.builders.ProgressBarBuilder;
import com.netopyr.reduxfx.vscenegraph.builders.ProgressIndicatorBuilder;
import com.netopyr.reduxfx.vscenegraph.builders.ScrollPaneBuilder;
import com.netopyr.reduxfx.vscenegraph.builders.SliderBuilder;
import com.netopyr.reduxfx.vscenegraph.builders.SplitPaneBuilder;
import com.netopyr.reduxfx.vscenegraph.builders.TextFieldBuilder;
import com.netopyr.reduxfx.vscenegraph.builders.TextInputControlBuilder;
import com.netopyr.reduxfx.vscenegraph.builders.TitledPaneBuilder;
import com.netopyr.reduxfx.vscenegraph.builders.ToggleButtonBuilder;
import com.netopyr.reduxfx.vscenegraph.builders.TreeItemBuilder;
import com.netopyr.reduxfx.vscenegraph.builders.TreeViewBuilder;
import com.netopyr.reduxfx.vscenegraph.builders.TabBuilder;
import com.netopyr.reduxfx.vscenegraph.builders.TabPaneBuilder;
import com.netopyr.reduxfx.vscenegraph.javafx.TreeItemWrapper;
import javafx.scene.Group;
import javafx.scene.Node;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Pane;
import javafx.scene.layout.Region;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.scene.shape.Rectangle;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import io.vavr.collection.Array;
import io.vavr.collection.HashMap;

@SuppressWarnings({"unused", "WeakerAccess"})
public class VScenegraphFactory {

    private VScenegraphFactory() {}

    public static StagesBuilder Stages() {
        return new StagesBuilder(Array.empty());
    }

    public static > StageBuilder Stage() {
        return Factory.node(Stage.class, () -> new StageBuilder<>(Stage.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > SceneBuilder Scene() {
        return Factory.node(Scene.class, () -> new SceneBuilder<>(Scene.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > NodeBuilder customNode(Class nodeClass) {
        return Factory.node(nodeClass, () -> new NodeBuilder<>(nodeClass, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > GroupBuilder Group() {
        return Factory.node(Group.class, () -> new GroupBuilder<>(Group.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > AccordionBuilder Accordion() {
        return Factory.node(Accordion.class, () -> new AccordionBuilder(Accordion.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > AnchorPaneBuilder AnchorPane() {
        return Factory.node(AnchorPane.class, () -> new AnchorPaneBuilder(AnchorPane.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > BorderPaneBuilder BorderPane(Class nodeClass) {
        return Factory.node(nodeClass, () -> new BorderPaneBuilder<>(nodeClass, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }
    public static > BorderPaneBuilder BorderPane() {
        return BorderPane(BorderPane.class);
    }

    public static > ButtonBaseBuilder ButtonBase() {
        return Factory.node(ButtonBase.class, () -> new ButtonBaseBuilder<>(ButtonBase.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > ButtonBuilder Button(Class nodeClass) {
        return Factory.node(nodeClass, () -> new ButtonBuilder<>(nodeClass, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }
    public static > ButtonBuilder Button() {
        return Button(Button.class);
    }

    public static > CheckBoxBuilder CheckBox(Class nodeClass) {
        return Factory.node(nodeClass, () -> new CheckBoxBuilder<>(nodeClass, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }
    public static > CheckBoxBuilder CheckBox() {
        return CheckBox(CheckBox.class);
    }

    public static > ControlBuilder Control() {
        return Factory.node(Control.class, () -> new ControlBuilder<>(Control.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > HBoxBuilder HBox() {
        return Factory.node(HBox.class, () -> new HBoxBuilder<>(HBox.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > LabelBuilder Label() {
        return Factory.node(Label.class, () -> new LabelBuilder<>(Label.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > LabeledBuilder Labeled() {
        return Factory.node(Labeled.class, () -> new LabeledBuilder<>(Labeled.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static , T> ListViewBuilder ListView(Class elementClass) {
        return Factory.node(ListView.class, () -> new ListViewBuilder<>(ListView.class, elementClass, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > PaneBuilder Pane() {
        return Factory.node(Pane.class, () -> new PaneBuilder<>(Pane.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > ParentBuilder Parent() {
        return Factory.node(Parent.class, () -> new ParentBuilder<>(Parent.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > ProgressBarBuilder ProgressBar(Class nodeClass) {
        return Factory.node(nodeClass, () -> new ProgressBarBuilder<>(nodeClass, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }
    public static > ProgressBarBuilder ProgressBar() {
        return ProgressBar(ProgressBar.class);
    }

    public static > ProgressIndicatorBuilder ProgressIndicator() {
        return Factory.node(ProgressIndicator.class, () -> new ProgressIndicatorBuilder<>(ProgressIndicator.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > RegionBuilder Region() {
        return Factory.node(Region.class, () -> new RegionBuilder<>(Region.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > SliderBuilder Slider() {
        return Factory.node(Slider.class, () -> new SliderBuilder<>(Slider.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > StackPaneBuilder StackPane() {
        return Factory.node(StackPane.class, () -> new StackPaneBuilder<>(StackPane.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > TitledPaneBuilder TitledPane() {
        return Factory.node(TitledPane.class, () -> new TitledPaneBuilder<>(TitledPane.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > GridPaneBuilder GridPane() {
        return Factory.node(GridPane.class, () -> new GridPaneBuilder<>(GridPane.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > ScrollPaneBuilder ScrollPane() {
        return Factory.node(ScrollPane.class, () -> new ScrollPaneBuilder<>(ScrollBar.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > TextBuilder Text(Class nodeClass) {
        return Factory.node(nodeClass, () -> new TextBuilder<>(nodeClass, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }
    public static > TextBuilder Text() {
        return Text(Text.class);
    }

    public static > TextFieldBuilder TextField(Class nodeClass) {
        return Factory.node(nodeClass, () -> new TextFieldBuilder<>(nodeClass, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }
    public static > TextFieldBuilder TextField() {
        return TextField(TextField.class);
    }

    public static > TextInputControlBuilder TextInputControl() {
        return Factory.node(TextInputControl.class, () -> new TextInputControlBuilder<>(TextInputControl.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > ToggleButtonBuilder ToggleButton() {
        return Factory.node(ToggleButton.class, () -> new ToggleButtonBuilder<>(ToggleButton.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > VBoxBuilder VBox() {
        return Factory.node(VBox.class, () -> new VBoxBuilder<>(VBox.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > RectangleBuilder Rectangle() {
        return Factory.node(Rectangle.class, () -> new RectangleBuilder<>(Rectangle.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > MenuBarBuilder MenuBar() {
        return Factory.node(MenuBar.class, () -> new MenuBarBuilder<>(MenuBar.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > MenuBuilder Menu() {
        return Factory.node(Menu.class, () -> new MenuBuilder<>(Menu.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > MenuItemBuilder MenuItem() {
        return Factory.node(MenuItem.class, () -> new MenuItemBuilder<>(MenuItem.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > AlertBuilder Alert() {
        return Factory.node(Alert.class, () -> new AlertBuilder<>(Alert.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > ContextMenuBuilder ContextMenu() {
        return Factory.node(ContextMenu.class, () -> new ContextMenuBuilder<>(ContextMenu.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static , E> TreeViewBuilder TreeView(Class elementClass) {
        return Factory.node(TreeView.class, () -> new TreeViewBuilder(TreeView.class, elementClass, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static , E> TreeItemBuilder TreeItem(Class elementClass) {
        return Factory.node(TreeItem.class, () -> new TreeItemBuilder(TreeItemWrapper.class, elementClass, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > SplitPaneBuilder SplitPane() {
        return Factory.node(SplitPane.class, () -> new SplitPaneBuilder(SplitPane.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > TabBuilder Tab() {
        return Factory.node(Tab.class, () -> new TabBuilder<>(Tab.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

    public static > TabPaneBuilder TabPane() {
        return Factory.node(TabPane.class, () -> new TabPaneBuilder<>(TabPane.class, HashMap.empty(), HashMap.empty(), HashMap.empty(), HashMap.empty()));
    }

}