GUI Showcase
App: apps/gui_showcase/
A comprehensive “kitchen sink” demo that exercises the most common GUI widgets in a single app. Useful as a reference or starting point for a game HUD or settings screen.
Run from root
Section titled “Run from root”% ./plume3d gui_showcaseWhat it shows
Section titled “What it shows”A single scrollable window with sections:
| Section | Widgets |
|---|---|
| Theme | setTheme("dark"/"light"), setRounding |
| Checkboxes | Two independent checkbox toggles |
| Radio buttons | Quality (Low/Medium/High/Ultra) |
| Slider | sliderFloat for volume (0–1) |
| Int slider | sliderInt for a level value |
| Progress bar | progress (modifiable) |
| Property | propertyFloat for speed |
| Combo | Item dropdown (comboBeginLabel) |
| Edit | editString |
| Reset button | Resets all values to defaults |
Key patterns
Section titled “Key patterns”// Theme toggleif (Gui.buttonLabel(_isDark ? "Switch to Light" : "Switch to Dark")) { _isDark = !_isDark Gui.setTheme(_isDark ? "dark" : "light")}
// Independent checkboxes_checkA = Gui.checkbox("Enable option A", _checkA)_checkB = Gui.checkbox("Enable option B", _checkB)
// Exclusive radio groupif (Gui.radio("Low", _quality == 0)) _quality = 0if (Gui.radio("Medium", _quality == 1)) _quality = 1if (Gui.radio("High", _quality == 2)) _quality = 2
// Slider_volume = Gui.sliderFloat(0, _volume, 1, 0.01)
// Comboif (Gui.comboBeginLabel(_items[_selected], 200, 200)) { Gui.layoutRowDynamic(25, 1) for (i in 0..._items.count) { if (Gui.comboItemLabel(_items[i], 17)) _selected = i } Gui.comboEnd()}- Gui — checkbox, radio, sliderFloat, sliderInt, progress, propertyFloat, comboBeginLabel, editString, setTheme, setRounding.