Brugerkontroller
Brugerkontroller i et plugin har form af en global variabel som slutbrugeren kan ændre. De eksporteres alle via ControllableParameters() fra pluginet, som returnerer et array af indstillingsobjekter som vist nedenfor.
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"} ];}Disse indstillingsobjekter har altid nogle basisparametre. Disse gælder for alle plugin-brugerkontroller.
| Parameter | Værdi | Type |
|---|---|---|
| property | Navnet på den variabel du vil tildele kontrollen. | String |
| label | Det label der vises til brugeren. | String |
| type | Kontroltypes. Følgende er aktuelt gyldige: boolean, number, hue, color, combobox og textfield | String |
| default | Standardværdien for kontrollen. | Varierer |
Numerisk skyder
Sektion kaldt “Numerisk skyder”Number-kontrollen giver brugeren mulighed for at vælge værdien af et tal via en skyder.
{"property":"dpi1", "label":"DPI","step":"50", "type":"number","min":"200", "max":"18000","default":"800"},
Denne kontrol understøtter følgende attributter:
| Parameter | Værdi | Type |
|---|---|---|
| property | Navnet på den variabel du vil tildele kontrollen. | String |
| label | Det label der vises til brugeren. | String |
| type | ”number” | String |
| default | Standardværdien for kontrollen. | String, Int |
| min | Den minimale valgbare værdi for skyderen. Denne attribut understøtter negative værdier. | String, Int |
| max | Den maksimale valgbare værdi for skyderen. | String, Int |
| step | Det trin som skyderen øges og mindskes med. | String, Int |
Boolesk kontakt
Sektion kaldt “Boolesk kontakt”Boolean-kontrollen giver brugeren mulighed for at vælge værdien af en boolesk variabel via en toggle.
{"property":"AngleSnap", "label":"Angle Snapping", "type":"boolean", "default":"0"},
Denne kontrol understøtter følgende attributter:
| Parameter | Værdi | Type |
|---|---|---|
| property | Navnet på den variabel du vil tildele kontrollen. | String |
| label | Det label der vises til brugeren. | String |
| type | ”boolean” | String |
| default | Standardværdien for kontakten. Sæt denne til 1 for at angive “Til” som standardtilstand. | String, Int |
Farvetone-skyder
Sektion kaldt “Farvetone-skyder”Hue-kontrollen giver brugeren mulighed for at vælge farvetone-delen af en farve via en skyder.

Denne kontrol understøtter følgende attributter:
| Parameter | Værdi | Type |
|---|---|---|
| property | Navnet på den variabel du vil tildele kontrollen. | String |
| label | Det label der vises til brugeren. | String |
| type | ”hue” | String, Int |
| default | Standardværdien for farvetone-skyderen. | String |
| min | Den minimale valgbare farvetoneværdi. Denne værdi skal være mellem 0 og 359. | String, Int |
| max | Den maksimale valgbare farvetoneværdi. Denne værdi skal være mellem 1 og 360. | String, Int |
Farvevælger
Sektion kaldt “Farvevælger”Color-kontrollen giver brugeren mulighed for at vælge en farve via et farvetonehjul, en mætningsskyder og en lysstyrke-skyder. Skruenøgle-ikonet åbner en udvidet farvepalet til valg.
{"property":"forcedColor", "label":"Forced Color","min":"0","max":"360","type":"color","default":"#009bde"},
Denne kontrol understøtter følgende attributter:
| Parameter | Værdi | Type |
|---|---|---|
| property | Navnet på den variabel du vil tildele kontrollen. | String |
| label | Det label der vises til brugeren. | String |
| type | ”color” | String |
| default | Standardværdien for farvevælgeren. Denne skal angives som en hex-værdi i formen #RRGGBB. | String |
| min | Den minimale valgbare farvetoneværdi. Denne værdi skal være mellem 0 og 359. | Int |
| max | Den maksimale valgbare farvetoneværdi. Denne værdi skal være mellem 1 og 360. | Int |
Kombinationsfelt
Sektion kaldt “Kombinationsfelt”Combobox-kontrollen giver brugeren mulighed for at vælge fra en dropdown-menu med foruddefinerede værdier.
{"property":"SleepModeTime", "label":"Sleep After x Minutes", "type":"combobox", "values":[5,10,15,30,60], "default":10},
Denne kontrol understøtter følgende attributter:
| Parameter | Værdi | Type |
|---|---|---|
| property | Navnet på den variabel du vil tildele kontrollen. | String |
| label | Det label der vises til brugeren. | String |
| type | ”combobox” | String |
| default | Standardværdien for kombinationsfeltet. Denne værdi skal være til stede i values-arrayet. | String, Int |
| values | Et array af værdier til dropdown-menuen. Gyldige typer er strenge og integer. | [String, Int] |
Tekstfelt
Sektion kaldt “Tekstfelt”Textfield-kontrollen giver brugeren mulighed for frit at indtaste tekst, valgfrit med et RegEx-filter.
{"property":"textBox", "label":"Text Field", "type":"textfield", "default":"3"},
Denne kontrol understøtter følgende attributter:
| Parameter | Værdi | Type |
|---|---|---|
| property | Navnet på den variabel du vil tildele kontrollen. | String |
| label | Det label der vises til brugeren. | String |
| type | ”textfield” | String |
| default | Standardværdien for tekstfeltet. | String, Int |
| filter | Et valgfrit RegEx-filter til begrænsning af brugerinput. | RegEx-String |
on*Changed-callbacks
Sektion kaldt “on*Changed-callbacks”Hver gang en bruger ændrer en kontrol, kalder SignalRGB den tilsvarende on[property]Changed()-funktion inden næste Render()-kald. Funktionsnavnet skal præcist matche property-navnet fra ControllableParameters(), med præfikset on og suffikset Changed. Der skelnes mellem store og små bogstaver.
// ControllableParameters-post:{"property":"dpi1", "label":"DPI", "step":"50", "type":"number", "min":"200", "max":"18000", "default":"800"},
// Tilsvarende callback:export function ondpi1Changed() { setDpi(dpi1);}Indbyggede callbacks
Sektion kaldt “Indbyggede callbacks”Disse callbacks er tilgængelige uden en tilsvarende ControllableParameters-post:
| Funktion | Beskrivelse |
|---|---|
onBrightnessChanged() | Kaldes når brugeren bevæger enhedens hoved-lysstyrke-skyder. |