fltk.browser
FLTK Browser Widgets
This module provides list browser widgets for displaying and selecting items from a list:
- HoldBrowser: Single-selection list browser
- MultiBrowser: Multiple-selection list browser
- SelectBrowser: Selection browser variant
License
BSD-3-ClauseCopyright
Copyright © 2025 DDN (D Developer Network) Members
Types 6
Single-selection list browser widget.
HoldBrowser displays a list of items where only one item can be selected at a time. Selection persists until another item is selected or deselect() is called.
Example:
auto browser = new HoldBrowser(10, 10, 200, 300, "Select one:");
browser.add("Item 1");
browser.add("Item 2");
browser.add("Item 3");
browser.value = 1; // Select first itemHoldBrowserPtr _browserHandlethis(int x, int y, int width, int height, string label = null)Creates a new single-selection browser.Multiple-selection list browser widget.
MultiBrowser displays a list of items where multiple items can be selected simultaneously using Ctrl+click or Shift+click.
Example:
auto browser = new MultiBrowser(10, 10, 200, 300, "Select multiple:");
browser.add("Option A");
browser.add("Option B");
browser.add("Option C");
browser.select(1, true); // Select first
browser.select(3, true); // Also select thirdMultiBrowserPtr _browserHandlethis(int x, int y, int width, int height, string label = null)Creates a new multiple-selection browser.Selection browser widget.
SelectBrowser is similar to HoldBrowser but selection only persists while the mouse button is held down.
Example:
auto browser = new SelectBrowser(10, 10, 200, 300);
browser.add("Temporary selection 1");
browser.add("Temporary selection 2");SelectBrowserPtr _browserHandlethis(int x, int y, int width, int height, string label = null)Creates a new selection browser.File type filter for FileBrowser.
File system browser widget.
FileBrowser displays directory contents and allows navigation through the file system. It supports filtering by file pattern.
Example:
auto browser = new FileBrowser(10, 10, 300, 400, "Files:");
browser.filter = "*.d";
browser.load("/home/user/projects");FileBrowserPtr _browserHandleint load(string directory)Loads a directory into the browser.void filter(string pattern)Sets the file filter pattern.this(int x, int y, int width, int height, string label = null)Creates a new file browser.Browser widget with checkboxes for each item.
CheckBrowser displays a scrolling list of text items where each item has a checkbox that can be independently checked or unchecked.
Example:
auto browser = new CheckBrowser(10, 10, 200, 300, "Options:");
browser.add("Option 1");
browser.add("Option 2", true); // Initially checked
browser.add("Option 3");
if (browser.checked(2)) {
writeln("Option 2 is checked");
}CheckBrowserPtr _browserHandleint add(string text)Adds an unchecked item to the browser.int add(string text, bool checked)Adds an item with specified checked state.int remove(int item)Removes an item from the browser.void clear()Clears all items from the browser.void setChecked(int item, bool state)Sets the checked state of an item.void checkAll()Checks all items.void checkNone()Unchecks all items.this(int x, int y, int width, int height, string label = null)Creates a new check browser.