Kontrolki użytkownika
Kontrolki użytkownika w wtyczce mają postać globalnej zmiennej, którą użytkownik końcowy może zmieniać. Wszystkie są eksportowane z wtyczki przez ControllableParameters(), która zwraca tablicę obiektów ustawień jak pokazano poniżej.
export function ControllableParameters(){ return [ {"property":"LightingMode", "label":"Lighting Mode", "type":"combobox", "values":["Canvas","Forced"], "default":"Canvas"}, {"property":"forcedColor", "label":"Forced Color","min":"0","max":"360","type":"color","default":"#009bde"}, {"property":"SettingControl", "label":"Enable Setting Control","type":"boolean","default":"false"}, {"property":"dpi1", "label":"DPI","step":"50", "type":"number","min":"200", "max":"18000","default":"800"} ];}Te obiekty ustawień zawsze mają kilka podstawowych parametrów. Są one prawidłowe dla wszystkich kontrolek użytkownika wtyczki.
| Parametr | Wartość | Typ |
|---|---|---|
| property | Nazwa zmiennej, którą chcesz powiązać z kontrolką. | String |
| label | Etykieta wyświetlana użytkownikowi. | String |
| type | Typ kontrolki. Aktualnie prawidłowe opcje to: boolean, number, hue, color, combobox i textfield | String |
| default | Domyślna wartość kontrolki. | Zmienny |
Suwak liczb
Dział zatytułowany „Suwak liczb”Kontrolka liczb pozwala użytkownikowi wybrać wartość liczby za pomocą suwaka.
{"property":"dpi1", "label":"DPI","step":"50", "type":"number","min":"200", "max":"18000","default":"800"},
Ta kontrolka obsługuje następujące atrybuty:
| Parametr | Wartość | Typ |
|---|---|---|
| property | Nazwa zmiennej, którą chcesz powiązać z kontrolką. | String |
| label | Etykieta wyświetlana użytkownikowi. | String |
| type | ”number” | String |
| default | Domyślna wartość kontrolki. | String, Int |
| min | Minimalna możliwa do wybrania wartość dla suwaka. Ten atrybut obsługuje wartości ujemne. | String, Int |
| max | Maksymalna możliwa do wybrania wartość dla suwaka. | String, Int |
| step | Wartość kroku, o którą suwak jest zwiększany i zmniejszany. | String, Int |
Przełącznik logiczny
Dział zatytułowany „Przełącznik logiczny”Kontrolka logiczna pozwala użytkownikowi wybrać wartość zmiennej logicznej za pomocą przełącznika.
{"property":"AngleSnap", "label":"Angle Snapping", "type":"boolean", "default":"0"},
Ta kontrolka obsługuje następujące atrybuty:
| Parametr | Wartość | Typ |
|---|---|---|
| property | Nazwa zmiennej, którą chcesz powiązać z kontrolką. | String |
| label | Etykieta wyświetlana użytkownikowi. | String |
| type | ”boolean” | String |
| default | Domyślna wartość przełącznika. Ustaw na 1, aby ustawić “włączony” jako stan domyślny. | String, Int |
Suwak odcienia
Dział zatytułowany „Suwak odcienia”Kontrolka odcienia pozwala użytkownikowi wybrać komponent odcienia koloru za pomocą suwaka.

Ta kontrolka obsługuje następujące atrybuty:
| Parametr | Wartość | Typ |
|---|---|---|
| property | Nazwa zmiennej, którą chcesz powiązać z kontrolką. | String |
| label | Etykieta wyświetlana użytkownikowi. | String |
| type | ”hue” | String, Int |
| default | Domyślna wartość suwaka odcienia. | String |
| min | Minimalna możliwa do wybrania wartość odcienia. Ta wartość musi być między 0 a 359. | String, Int |
| max | Maksymalna możliwa do wybrania wartość odcienia. Ta wartość musi być między 1 a 360. | String, Int |
Selektor koloru
Dział zatytułowany „Selektor koloru”Kontrolka koloru pozwala użytkownikowi wybrać kolor za pomocą pierścienia odcienia, suwaka nasycenia i suwaka jasności. Ikona klucza otwiera bardziej zaawansowaną paletę kolorów.
{"property":"forcedColor", "label":"Forced Color","min":"0","max":"360","type":"color","default":"#009bde"},
Ta kontrolka obsługuje następujące atrybuty:
| Parametr | Wartość | Typ |
|---|---|---|
| property | Nazwa zmiennej, którą chcesz powiązać z kontrolką. | String |
| label | Etykieta wyświetlana użytkownikowi. | String |
| type | ”color” | String |
| default | Domyślna wartość selektora koloru. Musi być podana jako wartość hex w formacie #RRGGBB. | String |
| min | Minimalna możliwa do wybrania wartość odcienia. Ta wartość musi być między 0 a 359. | Int |
| max | Maksymalna możliwa do wybrania wartość odcienia. Ta wartość musi być między 1 a 360. | Int |
Pole kombi
Dział zatytułowany „Pole kombi”Kontrolka pola kombi pozwala użytkownikowi wybrać z menu rozwijanego z wstępnie ustawionymi wartościami.
{"property":"SleepModeTime", "label":"Sleep After x Minutes", "type":"combobox", "values":[5,10,15,30,60], "default":10},
Ta kontrolka obsługuje następujące atrybuty:
| Parametr | Wartość | Typ |
|---|---|---|
| property | Nazwa zmiennej, którą chcesz powiązać z kontrolką. | String |
| label | Etykieta wyświetlana użytkownikowi. | String |
| type | ”combobox” | String |
| default | Domyślna wartość pola kombi. Ta wartość musi znajdować się w tablicy wartości. | String, Int |
| values | Tablica wartości dla menu rozwijanego. Prawidłowe typy to stringi i liczby całkowite. | [String, Int] |
Pole tekstowe
Dział zatytułowany „Pole tekstowe”Kontrolka pola tekstowego pozwala użytkownikowi swobodnie wpisywać tekst z opcjonalnym filtrem RegEx.
{"property":"textBox", "label":"Text Field", "type":"textfield", "default":"3"},
Ta kontrolka obsługuje następujące atrybuty:
| Parametr | Wartość | Typ |
|---|---|---|
| property | Nazwa zmiennej, którą chcesz powiązać z kontrolką. | String |
| label | Etykieta wyświetlana użytkownikowi. | String |
| type | ”textfield” | String |
| default | Domyślna wartość pola tekstowego. | String, Int |
| filter | Opcjonalny filtr RegEx ograniczający wprowadzanie danych przez użytkownika. | Ciąg RegEx |
Callbacki on*Changed
Dział zatytułowany „Callbacki on*Changed”Gdy użytkownik zmienia kontrolkę, SignalRGB wywołuje odpowiednią funkcję on[property]Changed() przed następnym wywołaniem Render(). Nazwa funkcji musi dokładnie odpowiadać nazwie właściwości z ControllableParameters(), poprzedzonej on i zakończonej Changed. Rozróżniana jest wielkość liter.
// ControllableParameters entry:{"property":"dpi1", "label":"DPI", "step":"50", "type":"number", "min":"200", "max":"18000", "default":"800"},
// Corresponding callback:export function ondpi1Changed() { setDpi(dpi1);}Wbudowane callbacki
Dział zatytułowany „Wbudowane callbacki”Te callbacki są dostępne bez odpowiadającego wpisu ControllableParameters:
| Funkcja | Opis |
|---|---|
onBrightnessChanged() | Wywoływana, gdy użytkownik przesuwa główny suwak jasności urządzenia. |