Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

Variações de tipo de tema

Ao projetar uma interface de usuário, pode haver momentos em que um nó Control precisa ter uma aparência diferente do que normalmente é definido por um Theme. Cada nó de controle tem substituições de propriedade de tema, que permitem redefinir o estilo de cada elemento de interface do usuário individual.

../../_images/themecheck.png

Essa abordagem rapidamente se torna difícil de gerenciar, se você precisar compartilhar a mesma aparência personalizada entre vários controles. Imagine que você usa variantes cinza, azul e vermelho de Button em todo o seu projeto. Configurá-lo toda vez que você adiciona um novo elemento de botão à sua interface é uma tarefa tediosa.

Para ajudar na organização e aproveitar melhor o poder dos temas você pode usar variações de tipo de tema. Eles funcionam como tipos de tema normais, mas em vez de serem autossuficientes e autônomos, eles estendem outro tipo básico.

Seguindo o exemplo anterior, seu tema pode ter alguns estilos, cores e fontes definidas para o tipo Button, personalizando a aparência de cada elemento de botão em sua interface do usuário. Para ter um botão cinza, vermelho ou azul, você criaria um novo tipo, por exemplo, GrayButton, e marque-o como uma variação do tipo base Button.

As variações de tipo podem substituir alguns aspectos do tipo base, mas mantêm outros. Eles também podem definir propriedades que o estilo base não definiu. Por exemplo, seu GrayButton pode substituir o estilo normal da base Button e adicionar font_color que o Button nunca definiu. O controle usará uma combinação de ambos os tipos dando prioridade à variação do tipo.

Nota

A maneira como os controles resolvem quais itens de tema eles usam de cada tipo e cada tema é melhor descrita na seção Personalizando um projeto do artigo "Introduction to GUI skinning".

Criando uma variação de tipo

Para criar uma variação de tipo, abra o editor de temas e clique no ícone de adição próximo ao menu suspenso Tipo no lado direito do editor. Digite o nome que deseja para a variação do tipo de tema na caixa de texto e clique em Adicionar tipo.

Abaixo do menu suspenso Tipo estão as abas de propriedade. Mude para a aba com um ícone de chave inglesa e chave de fenda.

../../_images/base_type.png

Clique no ícone de adição ao lado do campo Tipo de base. Você pode selecionar o tipo base lá, que normalmente seria o nome de uma classe de nó de controle (por exemplo, Button, Label, etc). As variações de tipo também podem encadear e estender outras variações de tipo. Isso funciona da mesma forma que os nós de controle herdam o estilo de sua classe base. Por exemplo, CheckButton herda estilos de Button porque os tipos de nós correspondentes se estendem entre si.

Depois de selecionar o tipo base, você poderá ver suas propriedades nas outras abas do editor de temas. Você pode editá-los normalmente.

Usando uma variação de tipo

Agora que uma variação de tipo foi criada, você pode aplicá-la aos seus nós. No dock do inspetor, na propriedade Theme de um nó de controle, você pode encontrar a propriedade Theme Type Variation. Ele está vazio por padrão, o que significa que apenas o tipo base tem um efeito sobre esse nó.

You can either select a type variation from a dropdown list, or input its name manually. Variations appear on the list only if the type variation belongs to the project-wide theme, which you can configure in the project settings. For any other case you have to input the name of the variation manually. Click on the pencil icon to the right. Then type in the name of the type variation and click the check mark icon or press enter. If a type variation with that name exists it will now be used by the node.