Global ObjectUI and DialogsSingleton Global

Setting

Manages macro settings and the user dialog. Call its functions with a dot: Setting.get(key, default) and Setting.set(key, value) read their arguments by position.

Documented for app version 1.0.51Updated:

Detailed Explanation

This section explains when to use the API, how to call it, and which structures it works best with in production flow.

How To Call It

Setting is a singleton global table: call its functions with a dot (Setting.<method>(...)).

When To Use It

In dialog and HUD flow, validate user input and complete the sequence with close/dispose steps to keep the UI stable.

Parameters and Return

Setting offers 10 methods; each method page lists its parameters and return value.

Best Combined With

You can combine it with Setting.builder(), Dialog, Checkbox, EditText, Hud, and Console to build richer operator-facing flows.

Example Usage

The snippet below is a starter pattern that can be applied directly in runtime flow.

local builder = Setting.builder()
builder:add("delay", EditText("500", 1, "Delay (ms)"))
Setting.setDialog(builder:build())
Setting.show()
local delay = tonumber(Setting.get("delay", "500")) or 500

Copyable Progressive Examples

From foundation to combined usage, each level is provided as a separate code block so you can copy the level you need and adapt it directly.

Foundation

Shows the shortest direct way to call the API.

Foundation
local builder = Setting.builder()
builder:add("delay", EditText("500", 1, "Delay (ms)"))
Setting.setDialog(builder:build())
Setting.show()
local delay = tonumber(Setting.get("delay", "500")) or 500

Simple

Wraps the base call with minimal flow control.

Simple
local builder = Setting.builder()
builder:add("delay", EditText("500", 1, "Delay (ms)"))
Setting.setDialog(builder:build())
Setting.show()
local delay = tonumber(Setting.get("delay", "500")) or 500

-- Continue with one focused method on the object.

Practical Flow

A practical pattern for real macros with pcall, logging, and guards.

Practical Flow
local builder = Setting.builder()
builder:add("delay", EditText("500", 1, "Delay (ms)"))
Setting.setDialog(builder:build())
Setting.show()
local delay = tonumber(Setting.get("delay", "500")) or 500
local note = "Setting overview loaded"
print(note)

Detailed

This level packages the API into a reusable helper with error reporting.

Detailed
-- In dialog and HUD flow, validate user input and complete the sequence with close/dispose steps to keep the UI stable.
local function run_setting_step()
  local builder = Setting.builder()
  builder:add("delay", EditText("500", 1, "Delay (ms)"))
  Setting.setDialog(builder:build())
  Setting.show()
  local delay = tonumber(Setting.get("delay", "500")) or 500
end

local ok, err = pcall(run_setting_step)
if not ok then
  toast("Step failed")
  print(err)
end

Combined

Combines the API with related structures to form a more realistic workflow.

Combined
local dialog = Setting.builder()
dialog:add("delay", EditText("500", 1, "Delay"))
dialog:add("enabled", Checkbox(true, "Enabled"))
Setting.setDialog(dialog:build())
Setting.show()
local builder = Setting.builder()
builder:add("delay", EditText("500", 1, "Delay (ms)"))
Setting.setDialog(builder:build())
Setting.show()
local delay = tonumber(Setting.get("delay", "500")) or 500