Hoppa till innehåll

Användarkontroller

Användarkontroller i ett plugin tar formen av globala variabler som kan ändras av slutanvändaren. De exporteras från pluginet via ControllableParameters() som returnerar en array med inställningsobjekt enligt nedan.

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

Vart och ett av dessa inställningsobjekt har alltid ett par grundläggande parametrar. Dessa gäller för alla plugin-användarkontroller.

ParameterVärdeTyp
propertyNamnet på variabeln du vill tilldela kontrollen.String
labelEtiketten som visas för användaren.String
typeKontrolltypen. För tillfället giltiga alternativ: boolean, number, hue, color, combobox och textfieldString
defaultStandardvärdet för kontrollen.Variabel

Nummerkontroll låter användaren välja ett talvärde med ett reglage.

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

Den här kontrollen stöder följande attribut:

ParameterVärdeTyp
propertyNamnet på variabeln du vill tilldela kontrollen.String
labelEtiketten som visas för användaren.String
type”number”String
defaultStandardvärdet för kontrollen.String, Int
minMinsta valbara värde för reglaget. Det här attributet stöder negativa värden.String, Int
maxMaximalt valbara värde för reglaget.String, Int
stepDet stegvärde som reglaget ökar och minskar medString, Int

Boolean-kontroll låter användaren välja värdet på en boolesk variabel med en växelkontroll.

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

Den här kontrollen stöder följande attribut:

ParameterVärdeTyp
propertyNamnet på variabeln du vill tilldela kontrollen.String
labelEtiketten som visas för användaren.String
type”boolean”String
defaultStandardvärdet för växeln. Sätt detta till 1 för att göra standardtillståndet “på”.String, Int

Tonväljar-kontrollen låter användaren välja färgens tonkomponent med en reglage-kontroll.

Den här kontrollen stöder följande attribut:

ParameterVärdeTyp
propertyNamnet på variabeln du vill tilldela kontrollen.String
labelEtiketten som visas för användaren.String
type”hue”String, Int
defaultStandardvärdet för toneglaget.String
minMinsta valbara tonvärde. Det här värdet måste vara mellan 0 och 359.String, Int
maxMaximalt valbara tonvärde. Det här värdet måste vara mellan 1 och 360.String, Int

Färgkontroll låter användaren välja en färg med ett tonskiva, ett mättnadseglage och ett ljusstyrkeeglage. Nyckelikonen öppnar en mer avancerad färgpalett för urval.

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

Den här kontrollen stöder följande attribut:

ParameterVärdeTyp
propertyNamnet på variabeln du vill tilldela kontrollen.String
labelEtiketten som visas för användaren.String
type”color”String
defaultStandardvärdet för färgväljaren. Måste anges som ett hex-värde i formatet #RRGGBBString
minMinsta valbara tonvärde. Det här värdet måste vara mellan 0 och 359.Int
maxMaximalt valbara tonvärde. Det här värdet måste vara mellan 1 och 360.Int

Kombinationsruta-kontrollen låter användaren välja från en rullgardinsmeny med förinställda värden.

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

Den här kontrollen stöder följande attribut:

ParameterVärdeTyp
propertyNamnet på variabeln du vill tilldela kontrollen.String
labelEtiketten som visas för användaren.String
type”combobox”String
defaultStandardvärdet för kombinationsrutan. Det här värdet måste finnas i values-arrayenString, Int
valuesEn array med värden för rullgardinsmenyn. Giltiga typer är string och integer.[String, Int]

Textfältets kontroll låter användaren mata in text med ett valfritt RegEx-filter.

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

Den här kontrollen stöder följande attribut:

ParameterVärdeTyp
propertyNamnet på variabeln du vill tilldela kontrollen.String
labelEtiketten som visas för användaren.String
type”textfield”String
defaultStandardvärdet för textfältet.String, Int
filterValfritt RegEx-filter för att begränsa användarinmatningRegEx String

När en användare ändrar en kontroll anropar SignalRGB motsvarande on[property]Changed()-funktion före nästa Render()-anrop. Funktionsnamnet måste exakt matcha egenskapsnamnet i ControllableParameters(), med prefixet on och suffixet Changed. Det är skiftlägeskänsligt.

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

Dessa callbacks kan användas utan en motsvarande ControllableParameters-post:

FunktionBeskrivning
onBrightnessChanged()Anropas när användaren rör enhetens huvudljusstyrkereglage.