Skip to content

GUI Property

App: apps/gui_property/

Demonstrates propertyFloat and propertyInt — labeled numeric widgets that support click-drag editing and typed input — plus editStringFiltered with character whitelists.

Terminal window
% ./plume3d gui_property
  • propertyFloat — labeled float with min/max clamp, drag sensitivity, and typed input. Shows the current value below.
  • propertyInt — same for integers.
  • editString — standard free-text edit (any characters).
  • editStringFiltered — restricts input to a set of allowed characters:
    • Float input: allows "0123456789.-"
    • Decimal input: allows only "0123456789"
    • Hex input: allows "0123456789ABCDEFabcdef"
// Float property: name, min, value, max, step, incPerPixel
_speed = Gui.propertyFloat("#Speed:", 0, _speed, 100, 0.1, 0.2)
// Int property
_count = Gui.propertyInt("#Count:", 0, _count, 1000, 1, 1)
// Filtered edit — only digits and decimal point
_textFloat = Gui.editStringFiltered(_textFloat, 16, "0123456789.")
// Commit on Enter
if (Gui.lastEditCommitted()) Logger.info("Committed: %(_textFloat)")

Property names starting with # suppress the label but still act as the widget’s unique ID (required by Nuklear). To show a label, omit the #: "Speed:".

  • GuipropertyFloat, propertyInt.
  • GuieditString, editStringFiltered, lastEditCommitted.