package jfxtras.scene.layout.responsivepane;
import javafx.beans.DefaultProperty;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.SimpleObjectProperty;
import javafx.scene.Node;
/**
*
*/
@DefaultProperty("root")
public class Layout {
/**
* For FXML
*/
public Layout() {
}
/**
*
*/
public Layout(Size sizeAtLeast, Node root) {
setSizeAtLeast(sizeAtLeast);
setRoot(root);
}
/**
*
*/
public Layout(Size sizeAtLeast, Orientation orientation, Node root) {
setSizeAtLeast(sizeAtLeast);
setOrientation(orientation);
setRoot(root);
}
/** Root */
public ObjectProperty<Node> rootProperty() { return rootProperty; }
final private SimpleObjectProperty<Node> rootProperty = new SimpleObjectProperty<>(this, "root", null);
public Node getRoot() { return rootProperty.getValue(); }
public void setRoot(Node value) { rootProperty.setValue(value); }
public Layout withRoot(Node value) { setRoot(value); return this; }
/** sizeAtLeast */
public ObjectProperty<Size> sizeAtLeastProperty() { return sizeAtLeastProperty; }
final private SimpleObjectProperty<Size> sizeAtLeastProperty = new SimpleObjectProperty<>(this, "sizeAtLeast", Size.ZERO);
public Size getSizeAtLeast() { return sizeAtLeastProperty.getValue(); }
public void setSizeAtLeast(Size value) { sizeAtLeastProperty.setValue(value); }
public Layout withSizeAtLeast(Size value) { setSizeAtLeast(value); return this; }
/** Orientation */
public ObjectProperty<Orientation> orientationProperty() { return orientationProperty; }
final private SimpleObjectProperty<Orientation> orientationProperty = new SimpleObjectProperty<>(this, "orientation", null);
public Orientation getOrientation() { return orientationProperty.getValue(); }
public void setOrientation(Orientation value) { orientationProperty.setValue(value); }
public Layout withOrientation(Orientation value) { setOrientation(value); return this; }
public String describeSizeConstraints() {
return getSizeAtLeast() + (getOrientation() == null ? "" : "-" + getOrientation());
}
}