From 35cc451a5c53b23531a46eb2bff901cd63e4df09 Mon Sep 17 00:00:00 2001 From: Benjamin Culkin Date: Wed, 24 Sep 2025 17:40:17 -0400 Subject: Add a JBrowser component + example This adds a JBrowser Swing component that is intended to work similarly to how the NSBrowser component in Swing works --- .../java/bjc/utils/gui/browser/BlankHeaderProvider.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 base/src/main/java/bjc/utils/gui/browser/BlankHeaderProvider.java (limited to 'base/src/main/java/bjc/utils/gui/browser/BlankHeaderProvider.java') diff --git a/base/src/main/java/bjc/utils/gui/browser/BlankHeaderProvider.java b/base/src/main/java/bjc/utils/gui/browser/BlankHeaderProvider.java new file mode 100644 index 0000000..77013b4 --- /dev/null +++ b/base/src/main/java/bjc/utils/gui/browser/BlankHeaderProvider.java @@ -0,0 +1,16 @@ +package bjc.utils.gui.browser; + +/** Provides header text for reserved blank columns. */ +@FunctionalInterface +public interface BlankHeaderProvider { + /** + * @param depthFromRoot 0 = first real column (children of root), 1 = second, + * etc. For blanks, this is the depth they would represent + * if populated now. + * @param blankOrdinal 0-based ordinal among the consecutive blanks + * (left-to-right). + * @param model current model. + * @return header text; return null/empty to hide the header for that blank. + */ + String getBlankHeader(int depthFromRoot, int blankOrdinal, JBrowserModel model); +} \ No newline at end of file -- cgit v1.2.3