Skip to content

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.

Terminal window
% ./plume3d gui_showcase

A single scrollable window with sections:

SectionWidgets
ThemesetTheme("dark"/"light"), setRounding
CheckboxesTwo independent checkbox toggles
Radio buttonsQuality (Low/Medium/High/Ultra)
SlidersliderFloat for volume (0–1)
Int slidersliderInt for a level value
Progress barprogress (modifiable)
PropertypropertyFloat for speed
ComboItem dropdown (comboBeginLabel)
EditeditString
Reset buttonResets all values to defaults
// Theme toggle
if (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 group
if (Gui.radio("Low", _quality == 0)) _quality = 0
if (Gui.radio("Medium", _quality == 1)) _quality = 1
if (Gui.radio("High", _quality == 2)) _quality = 2
// Slider
_volume = Gui.sliderFloat(0, _volume, 1, 0.01)
// Combo
if (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.