Controlos do Utilizador
Os Controlos do Utilizador num plugin assumem a forma de uma variável global que pode ser modificada pelo utilizador final. Todos são exportados do plugin via ControllableParameters(), que retorna um array de objetos de configuração conforme mostrado abaixo.
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"} ];}Estes objetos de configuração têm sempre alguns parâmetros base. Estes são válidos para todos os Controlos de Utilizador de plugins.
| Parâmetro | Valor | Tipo |
|---|---|---|
| property | O nome da variável que deseja atribuir ao controlo. | String |
| label | O rótulo a apresentar ao utilizador. | String |
| type | O tipo de controlo. Atualmente, as seguintes opções são válidas: boolean, number, hue, color, combobox, e textfield | String |
| default | O valor predefinido para o controlo. | Varia |
Slider Numérico
Seção intitulada “Slider Numérico”O controlo numérico permite ao utilizador selecionar o valor de um número usando um slider.
{"property":"dpi1", "label":"DPI","step":"50", "type":"number","min":"200", "max":"18000","default":"800"},
Este controlo suporta os seguintes atributos:
| Parâmetro | Valor | Tipo |
|---|---|---|
| property | O nome da variável que deseja atribuir ao controlo. | String |
| label | O rótulo a apresentar ao utilizador. | String |
| type | ”number” | String |
| default | O valor predefinido para o controlo. | String, Int |
| min | O valor mínimo selecionável para o slider. Este atributo suporta valores negativos. | String, Int |
| max | O valor máximo selecionável para o slider. | String, Int |
| step | O valor de incremento e decremento do slider | String, Int |
Botão de Alternância Boolean
Seção intitulada “Botão de Alternância Boolean”O controlo boolean permite ao utilizador selecionar o valor de uma variável boolean usando um controlo de alternância.
{"property":"AngleSnap", "label":"Angle Snapping", "type":"boolean", "default":"0"},
Este controlo suporta os seguintes atributos:
| Parâmetro | Valor | Tipo |
|---|---|---|
| property | O nome da variável que deseja atribuir ao controlo. | String |
| label | O rótulo a apresentar ao utilizador. | String |
| type | ”boolean” | String |
| default | O valor predefinido para a alternância. Defina como 1 para que “ligado” seja o estado predefinido. | String, Int |
Slider de Matiz
Seção intitulada “Slider de Matiz”O controlo de seleção de matiz permite ao utilizador selecionar o componente de matiz de uma cor com um controlo deslizante.

Este controlo suporta os seguintes atributos:
| Parâmetro | Valor | Tipo |
|---|---|---|
| property | O nome da variável que deseja atribuir ao controlo. | String |
| label | O rótulo a apresentar ao utilizador. | String |
| type | ”hue” | String, Int |
| default | O valor predefinido para o slider de matiz. | String |
| min | O valor mínimo de matiz selecionável. Este valor deve estar entre 0 e 359. | String, Int |
| max | O valor máximo de matiz selecionável. Este valor deve estar entre 1 e 360. | String, Int |
Seletor de Cor
Seção intitulada “Seletor de Cor”O controlo de cor permite ao utilizador selecionar uma cor usando uma roda de matiz, slider de saturação e slider de luminância. O ícone de chave inglesa abrirá uma paleta de cores mais avançada para seleção.
{"property":"forcedColor", "label":"Forced Color","min":"0","max":"360","type":"color","default":"#009bde"},
Este controlo suporta os seguintes atributos:
| Parâmetro | Valor | Tipo |
|---|---|---|
| property | O nome da variável que deseja atribuir ao controlo. | String |
| label | O rótulo a apresentar ao utilizador. | String |
| type | ”color” | String |
| default | O valor predefinido para o seletor de cor. Deve ser especificado como um valor hex no formato #RRGGBB | String |
| min | O valor mínimo de matiz selecionável. Este valor deve estar entre 0 e 359. | Int |
| max | O valor máximo de matiz selecionável. Este valor deve estar entre 1 e 360. | Int |
Caixa de Combinação
Seção intitulada “Caixa de Combinação”O controlo de caixa de combinação permite ao utilizador selecionar a partir de um menu suspenso de valores predefinidos.
{"property":"SleepModeTime", "label":"Sleep After x Minutes", "type":"combobox", "values":[5,10,15,30,60], "default":10},
Este controlo suporta os seguintes atributos:
| Parâmetro | Valor | Tipo |
|---|---|---|
| property | O nome da variável que deseja atribuir ao controlo. | String |
| label | O rótulo a apresentar ao utilizador. | String |
| type | ”combobox” | String |
| default | O valor predefinido para a caixa de combinação. Este valor deve estar no array de valores | String, Int |
| values | Um array de valores para o menu suspenso. Os tipos válidos são strings e inteiros. | [String, Int] |
Campo de Texto
Seção intitulada “Campo de Texto”O controlo de campo de texto permite ao utilizador inserir texto livremente com um filtro RegEx opcional.
{"property":"textBox", "label":"Text Field", "type":"textfield", "default":"3"},
Este controlo suporta os seguintes atributos:
| Parâmetro | Valor | Tipo |
|---|---|---|
| property | O nome da variável que deseja atribuir ao controlo. | String |
| label | O rótulo a apresentar ao utilizador. | String |
| type | ”textfield” | String |
| default | O valor predefinido para o campo de texto. | String, Int |
| filter | um filtro RegEx opcional para limitar a entrada do utilizador | String RegEx |
Callbacks on*Changed
Seção intitulada “Callbacks on*Changed”Sempre que um utilizador altera um controlo, o SignalRGB chama a função on[property]Changed() correspondente antes da próxima chamada a Render(). O nome da função deve corresponder exatamente ao nome da propriedade em ControllableParameters(), precedido de on e com o sufixo Changed. Esta correspondência é sensível a maiúsculas e minúsculas.
// Entrada em ControllableParameters:{"property":"dpi1", "label":"DPI", "step":"50", "type":"number", "min":"200", "max":"18000", "default":"800"},
// Callback correspondente:export function ondpi1Changed() { setDpi(dpi1);}Callbacks integrados
Seção intitulada “Callbacks integrados”Estes callbacks estão disponíveis sem uma entrada correspondente em ControllableParameters:
| Função | Descrição |
|---|---|
onBrightnessChanged() | Chamado quando o utilizador move o slider de brilho principal do dispositivo. |