Skip to content

Korisničke kontrole

Korisničke kontrole u pluginu imaju oblik globalne promenljive koju krajnji korisnik može menjati. Sve se exportuju iz plugina putem ControllableParameters(), koji vraća niz objekata podešavanja, kao što je prikazano ispod.

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"}
];
}

Ovi objekti podešavanja uvek imaju neke osnovne parametre. Ovi važe za sve korisničke kontrole plugina.

ParametarVrednostTip
propertyNaziv promenljive koju želite dodeliti kontroli.String
labelOznaka koja se prikazuje korisniku.String
typeTip kontrole. Trenutno su važeće sledeće opcije: boolean, number, hue, color, combobox i textfieldString
defaultPodrazumevana vrednost za kontrolu.Varira

Kontrola number omogućava korisniku da odabere vrednost broja putem klizača.

{"property":"dpi1", "label":"DPI","step":"50", "type":"number","min":"200", "max":"18000","default":"800"},

Ova kontrola podržava sledeće atribute:

ParametarVrednostTip
propertyNaziv promenljive koju želite dodeliti kontroli.String
labelOznaka koja se prikazuje korisniku.String
type”number”String
defaultPodrazumevana vrednost za kontrolu.String, Int
minMinimalna vrednost klizača koja se može izabrati. Ovaj atribut podržava negativne vrednosti.String, Int
maxMaksimalna vrednost klizača koja se može izabrati.String, Int
stepKorak za koji se klizač povećava i smanjuje.String, Int

Kontrola boolean omogućava korisniku da odabere vrednost logičke promenljive putem prekidača.

{"property":"AngleSnap", "label":"Angle Snapping", "type":"boolean", "default":"0"},

Ova kontrola podržava sledeće atribute:

ParametarVrednostTip
propertyNaziv promenljive koju želite dodeliti kontroli.String
labelOznaka koja se prikazuje korisniku.String
type”boolean”String
defaultPodrazumevana vrednost za prekidač. Postavite na 1 da biste podesili “Uključeno” kao podrazumevano stanje.String, Int

Kontrola hue omogućava korisniku da odabere komponentu nijanse boje putem klizača.

Ova kontrola podržava sledeće atribute:

ParametarVrednostTip
propertyNaziv promenljive koju želite dodeliti kontroli.String
labelOznaka koja se prikazuje korisniku.String
type”hue”String, Int
defaultPodrazumevana vrednost za klizač nijanse.String
minMinimalna vrednost nijanse koja se može izabrati. Ova vrednost mora biti između 0 i 359.String, Int
maxMaksimalna vrednost nijanse koja se može izabrati. Ova vrednost mora biti između 1 i 360.String, Int

Kontrola color omogućava korisniku da odabere boju putem točka nijanse, klizača zasićenosti i klizača osvetljenosti. Ikona ključa otvara proširenu paletu boja za odabir.

{"property":"forcedColor", "label":"Forced Color","min":"0","max":"360","type":"color","default":"#009bde"},

Ova kontrola podržava sledeće atribute:

ParametarVrednostTip
propertyNaziv promenljive koju želite dodeliti kontroli.String
labelOznaka koja se prikazuje korisniku.String
type”color”String
defaultPodrazumevana vrednost za birač boja. Mora biti navedena kao hex vrednost u obliku #RRGGBB.String
minMinimalna vrednost nijanse koja se može izabrati. Ova vrednost mora biti između 0 i 359.Int
maxMaksimalna vrednost nijanse koja se može izabrati. Ova vrednost mora biti između 1 i 360.Int

Kontrola combobox omogućava korisniku da odabere iz padajućeg menija sa unapred definisanim vrednostima.

{"property":"SleepModeTime", "label":"Sleep After x Minutes", "type":"combobox", "values":[5,10,15,30,60], "default":10},

Ova kontrola podržava sledeće atribute:

ParametarVrednostTip
propertyNaziv promenljive koju želite dodeliti kontroli.String
labelOznaka koja se prikazuje korisniku.String
type”combobox”String
defaultPodrazumevana vrednost za kombinovanu listu. Ova vrednost mora biti prisutna u nizu values.String, Int
valuesNiz vrednosti za padajući meni. Važeći tipovi su stringovi i celi brojevi.[String, Int]

Kontrola textfield omogućava korisniku da slobodno unosi tekst, opciono sa RegEx filterom.

{"property":"textBox", "label":"Text Field", "type":"textfield", "default":"3"},

Ova kontrola podržava sledeće atribute:

ParametarVrednostTip
propertyNaziv promenljive koju želite dodeliti kontroli.String
labelOznaka koja se prikazuje korisniku.String
type”textfield”String
defaultPodrazumevana vrednost za tekstualno polje.String, Int
filterOpcioni RegEx filter za ograničavanje korisničkog unosa.RegEx-String

Svaki put kada korisnik promeni kontrolu, SignalRGB poziva odgovarajuću funkciju on[property]Changed() pre sledećeg poziva Render(). Naziv funkcije mora tačno odgovarati nazivu svojstva iz ControllableParameters(), sa prefiksom on i sufiksom Changed. Razlikuju se velika i mala slova.

// ControllableParameters unos:
{"property":"dpi1", "label":"DPI", "step":"50", "type":"number", "min":"200", "max":"18000", "default":"800"},
// Odgovarajući callback:
export function ondpi1Changed() {
setDpi(dpi1);
}

Ovi callbacks su dostupni bez odgovarajućeg unosa u ControllableParameters:

FunkcijaOpis
onBrightnessChanged()Poziva se kada korisnik pomera glavni klizač osvetljenosti uređaja.