<!-- Formerly "developer.html" and "quanta-dialog-xml.html" -->

<chapter id="developer">
<chapterinfo>
<author
> <firstname
>Richard</firstname
> <surname
>Moore</surname
> <affiliation
><address
><email
>rich@kde.org</email
></address
></affiliation
> </author>
</chapterinfo>
<title
>Informação do Desenvolvedor</title>

<para>
<inlinemediaobject
><imageobject
><imagedata fileref="quantahdr.png"/></imageobject
></inlinemediaobject>
<inlinemediaobject
><imageobject
><imagedata fileref="webdev.png"/></imageobject
></inlinemediaobject>
</para>

<sect1 id="quanta-dialog-xml">
<title
>XML de definicão de dialogo do &quanta;</title>

<sect2 id="xml-introduction">
<title
>Introdução</title>

<para
> 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. </para>

<note
><para
> A codificação precisa ser conferida e deve ser especificada nos arquivos XML </para
></note>

</sect2>

<sect2 id="xml-elements-and-attibutes">
<title
>Elementos Suportados e Atributos</title>

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

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

<variablelist
> <varlistentry
> <term
>TAGS</term
> <listitem
> <para
> Esta é a tag raiz do documento XML. Não possui atributos e deve conter a definição de uma tag única. </para
> <note
><para
> Posso mudar esta tag para minúscula para consistência com as outras? </para
></note
> </listitem
> </varlistentry
> <varlistentry
> <term
>tag</term
> <listitem
> <para
> Especifica a tag que esta sendo definida. </para
> <informaltable
><tgroup cols="2"
> <thead
> <row
> <entry
>Atributo</entry
> <entry
>Descrição</entry
> </row
> </thead
> <tbody
> <row
> <entry
>name</entry
> <entry
>Especifica o nome da tag que esta sendo definida.[requerido]</entry
> </row
> </tbody
> </tgroup
></informaltable
> </listitem
> </varlistentry
> <varlistentry
> <term
>attr</term
> <listitem
> <para
> 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. </para
> <informaltable
><tgroup cols="3"
> <thead
> <row
> <entry
>Atributo</entry
> <entry
>Value</entry
> <entry
>Descrição</entry
> </row
> </thead
> <tbody
> <row
> <entry
>name</entry
> <entry
></entry
> <entry
>Especifica o nome do atributo que esta sendo definido.[requerido]</entry
> </row
> <row
> <entry
>type</entry
> <entry
></entry
> <entry
>Especifica o tipo do atributo que esta sendo definido. O valor deve ser um dos seguintes.[opcional]</entry
> </row
> <row
> <entry
></entry
> <entry
>input</entry
> <entry
>Diz que o campo suporta texto livre(campo de texto).[padrão]</entry
> </row
> <row
> <entry
></entry
> <entry
>check</entry
> <entry
>Diz que o valor é boleano(caixa de marcar). </entry
> </row
> <row
> <entry
></entry
> <entry
>color</entry
> <entry
>Diz que o valor é uma cor.</entry
> </row
> <row
> <entry
></entry
> <entry
>url</entry
> <entry
>Diz que o valor é um URL (Permite o usuário especificar um arquivo local para referenciar).</entry
> </row
> <row
> <entry
></entry
> <entry
>list</entry
> <entry
>Diz que o valor é um ítem de uma lista especificada.</entry
> </row
> </tbody
> </tgroup
></informaltable
> </listitem
> </varlistentry
> <varlistentry
> <term
>location</term
> <listitem
> <para
> 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. </para
> <informaltable
><tgroup cols="2"
> <thead
> <row
> <entry
>Atributo</entry
> <entry
>Descrição</entry
> </row
> </thead
> <tbody
> <row
> <entry
>row</entry
> <entry
>Especifica a linha no layout do dialogo de um campo ou rótulo.[requerido]</entry
> </row
> <row
> <entry
>col</entry
> <entry
>Especifica a coluna no layout do dialogo de um campo ou rótulo.[requerido]</entry
> </row
> <row
> <entry
>rowspan</entry
> <entry
>Especifica o número de linhas que um campo deve ocupar.[opcional]</entry
> </row
> <row
> <entry
>colspan</entry
> <entry
>Especifica o número de colunas que um campo deve ocupar.[opcional]</entry
> </row
> </tbody
> </tgroup
></informaltable
> </listitem
> </varlistentry
> <varlistentry
> <term
>label</term
> <listitem
> <para
> Coloca um rótulo no dialogo. O texto é especificado pela proxima tag text </para
> </listitem
> </varlistentry
> <varlistentry
> <term
>text</term
> <listitem
> <para
> 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. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
>spacer</term
> <listitem
> <para
> Define um espaçador no layout do dialogo. A orientação do espaçador deve ser horizontal ou vertical. </para
> <informaltable
><tgroup cols="3"
> <thead
> <row
> <entry
>Atributo</entry
> <entry
>Value</entry
> <entry
>Descrição</entry
> </row
> </thead
> <tbody
> <row
> <entry
>orientation</entry
> <entry
></entry
> <entry
>Especifica a orientação do espaçador no layout.[opcional]</entry
> </row
> <row
> <entry
></entry
> <entry
>h</entry
> <entry
>Horizontal [padrão]</entry
> </row
> <row
> <entry
></entry
> <entry
>v</entry
> <entry
>Vertical</entry
> </row
> </tbody
> </tgroup
></informaltable
> </listitem
> </varlistentry
> <varlistentry
> <term
>items</term
> <listitem
> <para
> Uma tag que agrupa juntos os ítens em uma lista, </para
> </listitem
> </varlistentry
> <varlistentry
> <term
>item</term
> <listitem
> <para
> Contém o texto para um ítem numa lista. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
>tooltip</term
> <listitem
> <para
> Uma tag contendo o texto da dica de ferramenta para um campo no dialogo. </para
> <note
><para
> Atualmente só texto plano é suportado(você não pode usar nenhuma marcação). </para
></note
> </listitem
> </varlistentry
> <varlistentry
> <term
>whatsthis</term
> <listitem
> <para
> Uma tag contendo "O Que é Isto" para um campo no dialogo. </para
> <note
><para
> Atualmente só texto plano é suportado(você não pode usar nenhuma marcação). </para
></note
> </listitem
> </varlistentry
> </variablelist>

</sect2>

<sect2 id="xml-issues">
<title
>Emissão com o formato atual</title>

<para
> Para mim, o atual sistema de definição de tag tem problemas: <itemizedlist
> <listitem
><para
> Provem uma UI inflexível </para
></listitem
> <listitem
><para
> Faz a definição de tipos associados com um atributo parte da especifição da GUI em vez do modelo de dados. </para
></listitem
> <listitem
><para
> suporte a i18n </para
></listitem
> <listitem
><para
> Suporte para múltiplos DTDs </para
></listitem
> </itemizedlist
> </para>

</sect2>
</sect1>
</chapter>


