Gå til indhold

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.

ParameterVærdiType
propertyNavnet på den variabel du vil tildele kontrollen.String
labelDet label der vises til brugeren.String
typeKontroltypes. Følgende er aktuelt gyldige: boolean, number, hue, color, combobox og textfieldString
defaultStandardværdien for kontrollen.Varierer

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:

ParameterVærdiType
propertyNavnet på den variabel du vil tildele kontrollen.String
labelDet label der vises til brugeren.String
type”number”String
defaultStandardværdien for kontrollen.String, Int
minDen minimale valgbare værdi for skyderen. Denne attribut understøtter negative værdier.String, Int
maxDen maksimale valgbare værdi for skyderen.String, Int
stepDet trin som skyderen øges og mindskes med.String, Int

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:

ParameterVærdiType
propertyNavnet på den variabel du vil tildele kontrollen.String
labelDet label der vises til brugeren.String
type”boolean”String
defaultStandardværdien for kontakten. Sæt denne til 1 for at angive “Til” som standardtilstand.String, Int

Hue-kontrollen giver brugeren mulighed for at vælge farvetone-delen af en farve via en skyder.

Denne kontrol understøtter følgende attributter:

ParameterVærdiType
propertyNavnet på den variabel du vil tildele kontrollen.String
labelDet label der vises til brugeren.String
type”hue”String, Int
defaultStandardværdien for farvetone-skyderen.String
minDen minimale valgbare farvetoneværdi. Denne værdi skal være mellem 0 og 359.String, Int
maxDen maksimale valgbare farvetoneværdi. Denne værdi skal være mellem 1 og 360.String, Int

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:

ParameterVærdiType
propertyNavnet på den variabel du vil tildele kontrollen.String
labelDet label der vises til brugeren.String
type”color”String
defaultStandardværdien for farvevælgeren. Denne skal angives som en hex-værdi i formen #RRGGBB.String
minDen minimale valgbare farvetoneværdi. Denne værdi skal være mellem 0 og 359.Int
maxDen maksimale valgbare farvetoneværdi. Denne værdi skal være mellem 1 og 360.Int

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:

ParameterVærdiType
propertyNavnet på den variabel du vil tildele kontrollen.String
labelDet label der vises til brugeren.String
type”combobox”String
defaultStandardværdien for kombinationsfeltet. Denne værdi skal være til stede i values-arrayet.String, Int
valuesEt array af værdier til dropdown-menuen. Gyldige typer er strenge og integer.[String, Int]

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:

ParameterVærdiType
propertyNavnet på den variabel du vil tildele kontrollen.String
labelDet label der vises til brugeren.String
type”textfield”String
defaultStandardværdien for tekstfeltet.String, Int
filterEt valgfrit RegEx-filter til begrænsning af brugerinput.RegEx-String

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);
}

Disse callbacks er tilgængelige uden en tilsvarende ControllableParameters-post:

FunktionBeskrivelse
onBrightnessChanged()Kaldes når brugeren bevæger enhedens hoved-lysstyrke-skyder.