# Elementos

Os blocos de construção de uma janela do &kommander; são os elementos gráficos ou 'widgets'. Eles são como qualquer um dos elementos gráficos do Qt; e do &kde;, excepto no facto de terem alguma funcionalidade extra, que lhes permite ter uma associação de texto. O texto é associado com um estado do elemento gráfico ou com o seu 'slot' de população. O número de estado depende do elemento gráfico. Se um elemento só tiver um estado, este é chamado de 'estado por omissão'.

Texto do elemento blá blá

A janela tem dois estados especiais para o texto do &kommander;. Eles são o Initiate e o Destroy. Estes são executados quando a janela é inicializada e quando é destruída. Estes protegem contra situações conhecidos por race conditions (condições de corrida) e significam que você não precisa de nenhuns procedimentos especiais ao fechar para 'manter a casa arrumada'.

ButtonGroup

- Um elemento contentor para organizar os botões num grupo. Poderá ser definido um título opcional com a propriedade 'title'. O contorno da área poderá ser ajustado com a propriedade 'lineWidth'. O grupo de botões poderá ser exclusivo se disser que a propriedade 'exclusive' é verdadeira. Isto significa que, quando um botão está carregado, todos os outros ficarão desligados, com a excepção dos RadioButton's, os quais são sempre mutuamente exclusivos, mesmo que o grupo o não seja. Estes botões poderão deixar de ser exclusivos com a propriedade 'radioButtonExclusive'. (Não é certo se esta propriedade funciona de facto.)

  O ButtonGroup tem um estado, o estado por omissão.

  O texto do elemento de um ButtonGroup são as associações de texto para cada um dos botões, pela ordem que aparecem no ButtonGroup.

CheckBox

- Um botão que poderá ser ligado e desligado. Também poderá ser semi-ligado se a propriedade 'tristate' estiver activada. A legenda associada ao CheckBox é definida na propriedade 'text'. Se activar a propriedade 'checked', ficará com o elemento ligado inicialmente.

  Um CheckBox tem 3 estados: 'checked' (ligado), 'semichecked' (semi-ligado) e 'unchecked' (desligado).

  O texto do elemento CheckBox é o valor da propriedade 'text'.

CloseButton

- Um botão que, quando for carregado, executa a sua associação de texto e fecha então a janela. O texto no botão é definido com a propriedade 'text'. O resultado da associação de texto será emitido para o 'stdout' se a propriedade 'writeStdout' estiver activa. O botão poderá ser a acção por omissão para a janela, se a propriedade 'default' for verdadeira.

  O CloseButton tem um estado, o predefinido.

  Não existe nenhum texto do elemento associado a um CloseButton.

ComboBox

- O ComboBox é um elemento de selecção que combina um botão com um menu. Ele mostra a escolha actual do utilizador, a partir de uma lista de opções, num espaço mínimo. Os itens são adicionados à lista com a janela de edição. Se a propriedade 'editable' for verdadeira, o utilizador poderá indicar textos arbitrários.

  O ComboBox tem um estado, o por omissão.

  O texto do elemento para uma ComboBox é o texto do item seleccionado.

ExecButton

- Um botão que, quando for carregado, executa a sua associação de texto. A legenda do botão é definida com a propriedade 'text'. O resultado da associação de texto será emitido no 'stdout', se a propriedade 'writeStdout' for verdadeira. O botão poderá ser a acção por omissão, se a propriedade 'default' for verdadeira.

  O ExecButton tem um estado, o por omissão.

  Não existe nenhum texto do elemento gráfico associado ao ExecButton.

FileChooser

- O elemento FileChooser combina uma LineEdit com um botão que, quando carregado, irá apresentar ao utilizador uma janela para poder seleccionar ficheiros/pastas. O ficheiro/pasta seleccionado é guardado no LineEdit. O tipo do FileChooser é definido com a propriedade 'selectionType'. Os tipos disponíveis são o Open, o Save e o Directory. Podem ser seleccionados vários ficheiros/pastas se a propriedade 'selectionOpenMultiple' for verdadeira. Poderá ser definido um título para o FileChooser com a propriedade 'selectionCaption'. Isto é mostrado como o título da janela. Se não for indicado nenhum título, o tipo de selecção será mostrado no título. Os ficheiros mostrados na janela poderão ser limitado com a propriedade 'selectionFilter'.

  O FileChooser tem um estado, o por omissão.

  O texto do elemento FileChoose é o texto contido no LineEdit (o ficheiro seleccionado pelo utilizador).

GroupBox

- Um elemento que contém outros elementos. O contorno da sua área é ajustado com a propriedade 'lineWidth'. Pode ser adicionado um título com a propriedade 'title'.

  O GroupBox tem um estado, o por omissão.

  O texto do elemento GroupBox são as associações de texto de cada um dos elementos que ele contém, combinados em conjunto. Eles estarão na ordem pela qual aparecem no GroupBox.

LineEdit

- Um elemento LineEdit é um campo de texto de uma linha. Permite ao utilizador indicar e modificar uma única linha de texto. O texto inicial do campo pode ser definido com a propriedade 'text'. O elemento poderá ser configurado como sendo apenas para leitura com a propriedade 'readOnly'. Existem três modos para o elemento: Normal, NoEcho e Password. O modo é definido com a propriedade 'echoMode'.

  O LineEdit tem um estado, o por omissão.

  O texto do elemento LineEdit é o texto escrito no próprio campo.

ListBox

- Um elemento ListBox contém uma lista de itens seleccionáveis. Normalmente, só está um ou zero elementos seleccionados. Este comportamento poderá ser alterado com a propriedade 'selectionMode'. Os itens são adicionados à ListBox usando a janela de edição.

  Uma ListBox só tem um estado, o por omissão.

  O texto do elemento para uma ListBox são os itens contidos na ListBox. O @selectedWidgetText irá devolver apenas os itens que estão seleccionados de momento.

ListView

- Este elemento não está activo no &kommander;. É funcionalmente igual ao elemento em árvore, por isso baseie-se nisso.

PixmapLabel

- Um elemento simples que contém uma legenda de texto ou imagem. A imagem a mostrar é definida na propriedade 'pixmap'. O texto é definido na propriedade 'text'. Só uma destas propriedades poderá ser definida ao mesmo tempo (pelo menos o editor recusa configurar ambas ao mesmo tempo). Se o 'scaledContents' for verdadeiro, então a janela será ajustada para caber no elemento. O formato do texto poderá ser definido com a propriedade 'textFormat'.

  Este elemento não está activo no &kommander; e não tem nenhuns estados ou texto associado.

RadioButton

- Um botão que poderá ser ligado e desligado, usado normalmente no ButtonGroup para criar uma opção exclusiva. A legenda associada ao CheckBox é definida na propriedade 'text'. Se activar a propriedade 'checked', ficará com o elemento ligado inicialmente. Se todos os RadioButton's de um ButtonGroup tiverem a propriedade 'checked' verdadeira, então será usado o último botão.

  O RadioButton tem 2 estados: ligado e desligado.

  Não existe nenhum texto de elemento associado a um RadioButton.

RichTextEditor

- Este elemento contém um editor de texto que permite alguma formatação simples de texto.

  O RichTextEditor tem um estado, o por omissão.

  O texto do elemento RichTextEditor é o texto contido no editor, num formato de texto rico. O texto seleccionado poderá ser devolvido com o @selectedWidgetText.

SpinBoxInt

- Um elemento que permite ao utilizador alterar um valor inteiro, carregando quer nas setas para cima ou para baixo ou indicar um valor no campo de texto. Os valores mínimo e máximo poderão ser definidos com as propriedades 'minValue' e 'maxValue'. A propriedade 'specialValueText' é usada para configurar um valor de texto que será mostrado em vez do valor mínimo.

  Este elemento só tem um estado, o por omissão.

  O texto do elemento SpinBoxInt é o número mostrado de momento.

SubDialog

- Um botão que corre outra janela do &kommander;, quando for carregado. A janela a correr é definida na propriedade 'kmdrFile'. Se a propriedade 'default' for verdadeira, a janela será executada, quando o Enter for carregado enquanto a janela está em primeiro plano. Pensa-se que poderá também ser usada como contentor (possuir outros elementos dentro dela).

  O SubDialog tem um estado, o por omissão.

  O texto do elemento SubDialog é a associação de texto da janela que executa.

  Este pretendia conter a janela, mas foi desactualizado com o novo conceito de projecto. Deverá ficar à mesma com o `@dialog()` no seu texto do &kommander; ou deverá ser eliminado? Tal como está, fica incorrecto.

TabWidget

- Um elemento que contém várias páginas, que por sua vez podem conter outros elementos.

TextEdit

- Um campo de texto simples em várias linhas.

TextLabel

- Um elemento simples que contém algum texto. Este elemento permite-lhe também definir uma imagem. Ok, o editor diz que eles são ambos QLabel's. Porque é que existem 2 elementos que parecem fazer a mesma coisa, mas com nomes diferentes? - Isto pretende ser corrigido na Alpha 7.

  Desde a versão Alpha 6 este item está parcialmente activado e poderá ser configurado através de chamadas de DCOP externas.

TreeWidget

- Um elemento que oferece uma lista com uma estrutura em árvore. Este elemento gráfico está agora completamente activo para adicionar e remover itens, desde a versão Alpha 6. Você poderá adicionar itens-filhos e dados em várias colunas. A limitação actual é que você não poderá modificar as colunas. Para adicionar um item-filho, use o / como separador. Para adicionar dados nas colunas, use o carácter de tabulação\t entre as colunas.