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}