001package org.jrebirth.af.component.ui.beans;
002
003import javafx.beans.property.ObjectProperty;
004import javafx.beans.property.SimpleObjectProperty;
005import javafx.collections.FXCollections;
006import javafx.collections.ObservableList;
007
008import org.jrebirth.af.api.ui.Model;
009import org.jrebirth.af.component.behavior.dockable.data.Dockable;
010import org.jrebirth.af.component.ui.tab.TabbedPaneModel;
011
012public class TabbedPaneConfig extends PartConfig<TabbedPaneConfig> {
013
014    private final ObjectProperty<TabbedPaneOrientation> orientationPy = new SimpleObjectProperty<>(TabbedPaneOrientation.top);
015
016    private final ObservableList<Dockable> tabs = FXCollections.observableArrayList();
017
018    public TabbedPaneConfig(final Class<? extends Model> modelClass) {
019        super(modelClass);
020    }
021
022    public static TabbedPaneConfig create() {
023        return new TabbedPaneConfig(TabbedPaneModel.class);
024    }
025
026    public ObjectProperty<TabbedPaneOrientation> orientationPy() {
027        return this.orientationPy;
028    }
029
030    public TabbedPaneOrientation orientation() {
031        return this.orientationPy.get();
032    }
033
034    public TabbedPaneConfig orientation(final TabbedPaneOrientation orientation) {
035        this.orientationPy.set(orientation);
036        return this;
037    }
038
039    public ObservableList<Dockable> tabs() {
040        return this.tabs;
041    }
042
043}