Richard
Moore

    rich@kde.org

# 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