gapSpinner = new Spinner<>(0, 10, 0, 2);
- sideBarPane.gapProperty().bind(gapSpinner.valueProperty());
+ responsivePane.gapProperty().bind(gapSpinner.valueProperty());
gapSpinner.setMaxWidth(Double.MAX_VALUE);
CheckBox largeSidebarCoverCheckBox = new CheckBox("Large Covers Small");
- largeSidebarCoverCheckBox.selectedProperty().bindBidirectional(sideBarPane.largeSidebarCoversSmallProperty());
+ largeSidebarCoverCheckBox.selectedProperty().bindBidirectional(responsivePane.largeSidebarCoversSmallProperty());
CheckBox forceLargeDisplayCheckBox = new CheckBox("Force Display Large");
- forceLargeDisplayCheckBox.selectedProperty().bindBidirectional(sideBarPane.forceLargeSidebarDisplayProperty());
+ forceLargeDisplayCheckBox.selectedProperty().bindBidirectional(responsivePane.forceLargeSidebarDisplayProperty());
VBox controlBox = new VBox(new Label("Side"), sideComboBox, new Label("Gap"), gapSpinner,
new Label("Content PrefSize"), createSizeInfoField(mainContent), new Label("Small Sidebar PrefSize"),
diff --git a/gemsfx/docs/circle-progress-indicator.png b/gemsfx/docs/circle-progress-indicator.png
new file mode 100644
index 00000000..08179e37
Binary files /dev/null and b/gemsfx/docs/circle-progress-indicator.png differ
diff --git a/gemsfx/docs/email-field.png b/gemsfx/docs/email-field.png
new file mode 100644
index 00000000..89e29872
Binary files /dev/null and b/gemsfx/docs/email-field.png differ
diff --git a/gemsfx/docs/limited-text-area.png b/gemsfx/docs/limited-text-area.png
new file mode 100644
index 00000000..a11ba918
Binary files /dev/null and b/gemsfx/docs/limited-text-area.png differ
diff --git a/gemsfx/docs/multi-column-list-view.png b/gemsfx/docs/multi-column-list-view.png
new file mode 100644
index 00000000..fdb400fc
Binary files /dev/null and b/gemsfx/docs/multi-column-list-view.png differ
diff --git a/gemsfx/docs/power-pane.png b/gemsfx/docs/power-pane.png
new file mode 100644
index 00000000..1b8ee0d6
Binary files /dev/null and b/gemsfx/docs/power-pane.png differ
diff --git a/gemsfx/docs/responsive-pane.png b/gemsfx/docs/responsive-pane.png
new file mode 100644
index 00000000..67a80c28
Binary files /dev/null and b/gemsfx/docs/responsive-pane.png differ
diff --git a/gemsfx/docs/tree-node-view.png b/gemsfx/docs/tree-node-view.png
new file mode 100644
index 00000000..dafaf018
Binary files /dev/null and b/gemsfx/docs/tree-node-view.png differ
diff --git a/gemsfx/src/main/java/com/dlsc/gemsfx/ResponsivePane.java b/gemsfx/src/main/java/com/dlsc/gemsfx/ResponsivePane.java
index 3b99b515..6d369f1c 100644
--- a/gemsfx/src/main/java/com/dlsc/gemsfx/ResponsivePane.java
+++ b/gemsfx/src/main/java/com/dlsc/gemsfx/ResponsivePane.java
@@ -16,6 +16,16 @@
import java.util.List;
import java.util.Objects;
+/**
+ * ResponsivePane is a container that allows for responsive behavior of a sidebar and a main content panel.
+ * Depending on the specified position of the sidebar (LEFT or RIGHT), it will automatically adjust its visibility
+ * based on the width of the pane. When the window width is narrow, the sidebar is hidden, and only the content panel is shown.
+ * When the window width is moderate, both a small sidebar and a large sidebar, along with the content panel, are displayed.
+ * When the window width is wide, only the large sidebar is shown.
+ * Similarly, if the sidebar is positioned at the TOP or BOTTOM, its visibility will be adjusted based on the height of the pane.
+ * However, it is also possible to force the sidebar to be displayed regardless of the window size.
+ *
+ */
public class ResponsivePane extends Pane {
private static final Side DEFAULT_SIDE = Side.LEFT;
diff --git a/gemsfx/src/main/java/com/dlsc/gemsfx/treeview/TreeNodeView.java b/gemsfx/src/main/java/com/dlsc/gemsfx/treeview/TreeNodeView.java
index d57c1902..d9ac3d46 100644
--- a/gemsfx/src/main/java/com/dlsc/gemsfx/treeview/TreeNodeView.java
+++ b/gemsfx/src/main/java/com/dlsc/gemsfx/treeview/TreeNodeView.java
@@ -26,6 +26,14 @@
import java.util.List;
import java.util.Objects;
+
+/**
+ * A visual control for displaying trees.
+ *
+ * Built on the {@link TreeNode} class, this control visualizes hierarchical structures, allowing nodes to have children.
+ *
+ * Customizable in layout, alignment, and style, it's ideal for representing data like file systems or organizational charts.
+ */
public class TreeNodeView extends Control {
private static final int DEFAULT_CELL_WIDTH = 60;
private static final int DEFAULT_CELL_HEIGHT = 30;
@@ -282,7 +290,7 @@ public void setVgap(double vgap) {
this.vgap.set(vgap);
}
- private final DoubleProperty nodeLineGap = new StyleableDoubleProperty(DEFAULT_NODE_LINE_GAP){
+ private final DoubleProperty nodeLineGap = new StyleableDoubleProperty(DEFAULT_NODE_LINE_GAP) {
@Override
public CssMetaData extends Styleable, Number> getCssMetaData() {
return StyleableProperties.NODE_LINE_GAP;
@@ -356,7 +364,7 @@ public enum LayoutType {
COMPACT;
}
- private final ObjectProperty layoutType = new StyleableObjectProperty<>(DEFAULT_LAYOUT_TYPE){
+ private final ObjectProperty layoutType = new StyleableObjectProperty<>(DEFAULT_LAYOUT_TYPE) {
@Override
public CssMetaData extends Styleable, LayoutType> getCssMetaData() {
return StyleableProperties.LAYOUT_TYPE;
@@ -404,7 +412,7 @@ public enum LayoutDirection {
BOTTOM_TO_TOP;
}
- private final ObjectProperty layoutDirection = new StyleableObjectProperty<>(DEFAULT_LAYOUT_DIRECTION){
+ private final ObjectProperty layoutDirection = new StyleableObjectProperty<>(DEFAULT_LAYOUT_DIRECTION) {
@Override
public CssMetaData extends Styleable, LayoutDirection> getCssMetaData() {
return StyleableProperties.LAYOUT_DIRECTION;