# Informação do Desenvolvedor

## XML de definicão de dialogo do &quanta;

### Introdução

Esta seção descreve os arquivos XML usados para definir as tags no editor de HTML do Quanta. Eu acredito que os arquivos estão codificados como UTF8. Os arquivos definem os atributos suportado pela tag (eu não acho que isto é usado atualmente), layout e conteúdos da caixa de propriedades que o Quanta mostra para a tag.

A codificação precisa ser conferida e deve ser especificada nos arquivos XML

### Elementos Suportados e Atributos

A tabela abaixo lista os elementos atuamente suportados nos arquivos de definição de tags do &quanta;

Elemento | Descrição
TAGS | Tag de nível superior
tag | Define a tag que esta sendo descrita
attr | Define um atributo para a tag
location | Especifica a localização de um campo em um dialogo
tooltip | Especifica a dica de ferramenta para um campo no dialogo
whatsthis | Especifica a ajuda 'O que é isto?' para um campo no dialogo
label | Cria um rótulo
text | Define o texto para um rótulo ou caixa de marcar
items | Elemento para definir listas
item | Define um ítem em uma lista
spacer | Adiciona um espaçador no layout do dialogo

TAGS

- Esta é a tag raiz do documento XML. Não possui atributos e deve conter a definição de uma tag única.

  Posso mudar esta tag para minúscula para consistência com as outras?

tag

- Especifica a tag que esta sendo definida.

  Atributo | Descrição
  name | Especifica o nome da tag que esta sendo definida.[requerido]

attr

- Especifica um atributo. Este elemento ocorre uma vez para cada atributo definido e define o nome e o tipo. Contem também tags adicionais que especificam como este atributo deve ser mostrato, etc.

  Atributo | Value | Descrição
  name |  | Especifica o nome do atributo que esta sendo definido.[requerido]
  type |  | Especifica o tipo do atributo que esta sendo definido. O valor deve ser um dos seguintes.[opcional]
  | input | Diz que o campo suporta texto livre(campo de texto).[padrão]
  | check | Diz que o valor é boleano(caixa de marcar).
  | color | Diz que o valor é uma cor.
  | url | Diz que o valor é um URL (Permite o usuário especificar um arquivo local para referenciar).
  | list | Diz que o valor é um ítem de uma lista especificada.

location

- Especifica a posição e o tamanho de um campo no dialogo. Esta tag deve ocorrer uma vez para cada campo no dialogo (um para cada attr e label). Todos os atributos devem ter valores inteiros e o índice de linha/coluna começam com 0.

  Atributo | Descrição
  row | Especifica a linha no layout do dialogo de um campo ou rótulo.[requerido]
  col | Especifica a coluna no layout do dialogo de um campo ou rótulo.[requerido]
  rowspan | Especifica o número de linhas que um campo deve ocupar.[opcional]
  colspan | Especifica o número de colunas que um campo deve ocupar.[opcional]

label

- Coloca um rótulo no dialogo. O texto é especificado pela proxima tag text

text

- Contém o texto associado com um rótulo. O rótulo pode ser sozinho ou parte de um widget como uma caixa de marcar.

spacer

- Define um espaçador no layout do dialogo. A orientação do espaçador deve ser horizontal ou vertical.

  Atributo | Value | Descrição
  orientation |  | Especifica a orientação do espaçador no layout.[opcional]
  | h | Horizontal [padrão]
  | v | Vertical

items

- Uma tag que agrupa juntos os ítens em uma lista,

item

- Contém o texto para um ítem numa lista.

tooltip

- Uma tag contendo o texto da dica de ferramenta para um campo no dialogo.

  Atualmente só texto plano é suportado(você não pode usar nenhuma marcação).

whatsthis

- Uma tag contendo "O Que é Isto" para um campo no dialogo.

  Atualmente só texto plano é suportado(você não pode usar nenhuma marcação).

### Emissão com o formato atual

Para mim, o atual sistema de definição de tag tem problemas:

- Provem uma UI inflexível

- Faz a definição de tipos associados com um atributo parte da especifição da GUI em vez do modelo de dados.

- suporte a i18n

- Suporte para múltiplos DTDs