Ga naar inhoud

Gebruikersbesturingen

Gebruikersbesturingen in een plugin hebben de vorm van een globale variabele die door de eindgebruiker kan worden gewijzigd. Ze worden allemaal geëxporteerd vanuit de plugin via ControllableParameters(), die een array van instellingsobjecten retourneert zoals hieronder weergegeven.

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

Deze instellingsobjecten hebben altijd enkele basisparameters. Deze zijn geldig voor alle plugin-gebruikersbesturingen.

ParameterWaardeType
propertyDe naam van de variabele die u aan de besturing wilt koppelen.String
labelHet label dat aan de gebruiker wordt weergegeven.String
typeHet type besturing. De volgende opties zijn momenteel geldig: boolean, number, hue, color, combobox, en textfieldString
defaultDe standaardwaarde voor de besturing.Wisselend

De nummerbesturing stelt de gebruiker in staat de waarde van een getal te selecteren met een schuifregelaar.

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

Deze besturing ondersteunt de volgende attributen:

ParameterWaardeType
propertyDe naam van de variabele die u aan de besturing wilt koppelen.String
labelHet label dat aan de gebruiker wordt weergegeven.String
type”number”String
defaultDe standaardwaarde voor de besturing.String, Int
minDe minimaal selecteerbare waarde voor de schuifregelaar. Dit attribuut ondersteunt negatieve waarden.String, Int
maxDe maximaal selecteerbare waarde voor de schuifregelaar.String, Int
stepDe stapwaarde waarmee de schuifregelaar wordt verhoogd en verlaagd.String, Int

De booleaanse besturing stelt de gebruiker in staat de waarde van een booleaanse variabele te selecteren met een schakelaar.

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

Deze besturing ondersteunt de volgende attributen:

ParameterWaardeType
propertyDe naam van de variabele die u aan de besturing wilt koppelen.String
labelHet label dat aan de gebruiker wordt weergegeven.String
type”boolean”String
defaultDe standaardwaarde voor de schakelaar. Stel dit in op 1 om “aan” de standaardstatus te maken.String, Int

De tintkeuzeregelaar stelt de gebruiker in staat de tintcomponent van een kleur te selecteren met een schuifregelaar.

Deze besturing ondersteunt de volgende attributen:

ParameterWaardeType
propertyDe naam van de variabele die u aan de besturing wilt koppelen.String
labelHet label dat aan de gebruiker wordt weergegeven.String
type”hue”String, Int
defaultDe standaardwaarde voor de tintschuifregelaar.String
minDe minimaal selecteerbare tintwaarde. Deze waarde moet tussen 0 en 359 liggen.String, Int
maxDe maximaal selecteerbare tintwaarde. Deze waarde moet tussen 1 en 360 liggen.String, Int

De kleurbesturing stelt de gebruiker in staat een kleur te selecteren met een tintring, verzadigingsschuifregelaar en helderheidsschuifregelaar. Het moersleutelpictogram opent een geavanceerder kleurenpalet.

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

Deze besturing ondersteunt de volgende attributen:

ParameterWaardeType
propertyDe naam van de variabele die u aan de besturing wilt koppelen.String
labelHet label dat aan de gebruiker wordt weergegeven.String
type”color”String
defaultDe standaardwaarde voor de kleurkiezer. Dit moet worden opgegeven als een hexwaarde in de vorm #RRGGBB.String
minDe minimaal selecteerbare tintwaarde. Deze waarde moet tussen 0 en 359 liggen.Int
maxDe maximaal selecteerbare tintwaarde. Deze waarde moet tussen 1 en 360 liggen.Int

De keuzelijstbesturing stelt de gebruiker in staat te kiezen uit een vervolgkeuzemenu met vooraf ingestelde waarden.

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

Deze besturing ondersteunt de volgende attributen:

ParameterWaardeType
propertyDe naam van de variabele die u aan de besturing wilt koppelen.String
labelHet label dat aan de gebruiker wordt weergegeven.String
type”combobox”String
defaultDe standaardwaarde voor de keuzelijst. Deze waarde moet in de waarden-array staan.String, Int
valuesEen array van waarden voor het vervolgkeuzemenu. Geldige typen zijn strings en gehele getallen.[String, Int]

De tekstveldbesturing stelt de gebruiker in staat vrijelijk tekst in te voeren met een optioneel RegEx-filter.

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

Deze besturing ondersteunt de volgende attributen:

ParameterWaardeType
propertyDe naam van de variabele die u aan de besturing wilt koppelen.String
labelHet label dat aan de gebruiker wordt weergegeven.String
type”textfield”String
defaultDe standaardwaarde voor het tekstveld.String, Int
filterEen optioneel RegEx-filter om gebruikersinvoer te beperken.RegEx-tekenreeks

Wanneer een gebruiker een besturing wijzigt, roept SignalRGB de bijbehorende on[property]Changed()-functie aan vóór de volgende Render()-aanroep. De functienaam moet exact overeenkomen met de eigenschapsnaam uit ControllableParameters(), voorafgegaan door on en gevolgd door Changed. Dit is hoofdlettergevoelig.

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

Deze callbacks zijn beschikbaar zonder een bijbehorend ControllableParameters-item:

FunctieBeschrijving
onBrightnessChanged()Wordt aangeroepen wanneer de gebruiker de hoofdhelderheidsschuifregelaar van het apparaat beweegt.