Skip to content
Refaltor77 edited this page Mar 29, 2026 · 1 revision

Toggle

Checkbox, switch, or radio button element.

Creation

use refaltor\ui\elements\Toggle;

$toggle = Toggle::create("my_toggle");

Properties

Core

$toggle->setToggleName("toggle_music");       // Identifier
$toggle->setToggleDefaultState(true);          // Default on/off
$toggle->setResetOnFocusLost(false);           // Reset when losing focus
$toggle->setEnableDirectionalToggling(true);   // D-pad toggling

Events

$toggle->setToggleOnButton("button.menu_select");  // Button to toggle on
$toggle->setToggleOffButton("button.menu_select");  // Button to toggle off

Visual Controls

Define which child elements display for each state:

$toggle->setCheckedControl("checked_image");
$toggle->setUncheckedControl("unchecked_image");
$toggle->setCheckedHoverControl("checked_hover_image");
$toggle->setUncheckedHoverControl("unchecked_hover_image");
$toggle->setCheckedLockedControl("checked_locked_image");
$toggle->setUncheckedLockedControl("unchecked_locked_image");
$toggle->setCheckedLockedHoverControl("checked_locked_hover");
$toggle->setUncheckedLockedHoverControl("unchecked_locked_hover");

Radio Groups

Make toggles mutually exclusive:

$toggle->setRadioToggleGroup("difficulty_group"); // Group name
$toggle->setToggleTabIndex(0);                     // Tab order
$toggle->setToggleGroupDefaultTab("easy");        // Default tab

Sound

$toggle->setSoundName("random.click");
$toggle->setSoundVolume(1.0);
$toggle->setSoundPitch(1.0);

Complete Example — Settings Toggle

$musicToggle = Toggle::create("music_toggle")
    ->setToggleName("toggle_music")
    ->setToggleDefaultState(true)
    ->setSoundName("random.click")
    ->setSize(150, 30);

Complete Example — Radio Group

// Easy
$easy = Toggle::create("easy_radio")
    ->setToggleName("difficulty_easy")
    ->setRadioToggleGroup("difficulty")
    ->setToggleTabIndex(0)
    ->setToggleDefaultState(true)
    ->setSize(80, 25);

// Normal
$normal = Toggle::create("normal_radio")
    ->setToggleName("difficulty_normal")
    ->setRadioToggleGroup("difficulty")
    ->setToggleTabIndex(1)
    ->setSize(80, 25);

// Hard
$hard = Toggle::create("hard_radio")
    ->setToggleName("difficulty_hard")
    ->setRadioToggleGroup("difficulty")
    ->setToggleTabIndex(2)
    ->setSize(80, 25);

See Also

Clone this wiki locally