<chapter id="advanced-quanta">
<title
>&quanta; muud omadused</title>
<para
>See peatükk kirjeldab &quanta; muid omadusi.</para>

<sect1 id="kommander">
<title
><application
>Kommander</application
>i kasutamine &quanta;ga</title>
<para
>Kommanderi autor on Marc Britton.</para>
</sect1>

&debugging-quanta;

<sect1 id="tag-files">
<title
>&quanta; sildifailid</title>
<para
>&quanta; kasutab sildifaile määramaks mitmesuguseid tööriistaribadelt kasutatavaid tegevusi. Sildifailid võivad defineerida tavalise atribuutideta sildi või ka dialoogikasti, mis toob esile kõik kättesaadavad atribuudid, jättes sinu vaevaks vaid tühjad väljad.</para>
<important
> <para
>Tühikud üldiselt midagi ei mõjuta, kuid ettevaatlik tasub olla märkidega &amp; ja &lt;. On tõenäoline, et need asendatakse kõigis XML-põhistes &quanta; ressursifailides vastavalt märkidega &amp;&amp; ja &amp;lt;. See ei põhjusta küll krahhi, kuid tähelepanematuse korral võib tubli tükk tööd vastu taevast lennata.</para
> </important>
<sect2 id="tag-file-structure">
<title
>Sildifaili struktuur</title>
<sect3>
<title
></title>
<para
>Sildi attr tüübiatribuudi võimalikud kirjed. Võimalike tüüpide leidmiseks kasutasin sildikataloogides järgmist käsku : grep -h type= *.tag |sed -e 's/^.*type=\"\([a-z]*\).*/\1/'| sort |uniq</para>
<para
>Sildidialoogi elementide tüübid: <simplelist
><member
>check</member
> <member
>color</member
> <member
>input</member
> <member
>list</member
> <member
>text</member
> <member
>url</member
> </simplelist
> </para>
<para
> Need on argumenditübid PHP funktsioonisiltides (küsi Andrase käest, kas need on pigem vabavormis): <simplelist
> <member
>array</member
> <member
>bool</member
> <member
>boolean</member
> <member
>char</member
> <member
>constant</member
> <member
>flags</member
> <member
>float</member
> <member
>function</member
> <member
>int</member
> <member
>long</member
> <member
>mixed</member
> <member
>number</member
> <member
>object</member
> <member
>resource</member
> <member
>resoure</member
> <member
>string</member
> </simplelist
> </para>
<para
>Sildimääratlusel on järgmised lisaatribuudid: <variablelist
> <varlistentry
> <term
>hasScript</term
> <listitem
><para
>"1", kui selle sildiga saab seostada tavalisi sündmusi/skripte (onclick jne.)</para
></listitem
> </varlistentry
> <varlistentry
> <term
>hasCore</term
> <listitem
><para
>"1", kui on olemas tavalised põhiatribuudid (id, class jne.)</para
></listitem
> </varlistentry
> <varlistentry
> <term
>hasI18n</term
> <listitem
><para
>"1", kui on olemas tavalised i18n atribuudid (lang, dir)</para
></listitem
> </varlistentry
> <varlistentry
> <term
>single </term
> <listitem
><para
>"1", kui on üksik silt (nt. &lt;hr
>)</para
></listitem
> </varlistentry
> <varlistentry
> <term
>optional </term
> <listitem
><para
>"1", kui on lisasilt (nt. &lt;colgroup
>)</para
></listitem
> </varlistentry
> <varlistentry
> <term
>returnType</term
> <listitem
><para
>skriptikeeltes funktsiooni tagasiside tüüp, kui on (nt int)</para
></listitem
> </varlistentry
> </variablelist
> </para>

<para
> &lt;attr
> määratlusel võivad olla järgmised atribuudid: <variablelist
> <varlistentry
> <term
>defaultValue</term
><listitem
><para
>Sildi vaikeväärtus ???</para
></listitem
> </varlistentry
> <varlistentry
> <term
>status</term
> <listitem
><para
>võib olla <quote
>optional</quote
>, <quote
>required</quote
>, <quote
>implied</quote
></para
></listitem
> </varlistentry
> </variablelist
> </para>
</sect3>
<sect3>
<sect3info>
<author
> <firstname
></firstname
> <surname
></surname
> </author>
</sect3info>
<title
></title>
<para
> Skriptikeele funktsioonide jaoks defineeri sildifailid näiteks nii: <informalexample
> <literallayout>
&lt;!DOCTYPE tags>
&lt;tags>

&lt;tag name=<quote
>[function-name]</quote
> type=<quote
>function</quote
> returnType=<quote
>[return-type]</quote
>>
  &lt;attr name=<quote
>[argument1]></quote
> type=<quote
>[argument1-type]</quote
>
>&lt;/attr>
  &lt;attr name=<quote
>[argument2]</quote
> type=<quote
>[argument2-type]</quote
> status=<quote
>optional</quote
>
>&lt;/attr>
    ...
&lt;/tag>
&lt;tag ...
...
&lt;/tag>
 ...
&lt;/tags>
</literallayout
> </informalexample
> </para>
<para
> Elemendid nurksulgudes asendatakse. argument1 on nõutav, argument2 lisavõimalus. </para>
<para
> Sildifail, millega peaks kaasnema redigeerimisdialoog, peaks välja nägema umbes nii: <informalexample
> <programlisting>
<markup>
&lt;!DOCTYPE tags>
&lt;tags>
  &lt;tag name="[name] [hasCore="[01]" hasI18n="[01]" hasScript="[01]"]>
    &lt;attr name="[attribute1]" type="[check|color|input|list|text|url]">
      &lt;text
>&lt;/text>
      &lt;textlocation col="0" row="0" />
      &lt;tooltip
>&lt;/tooltip>
      &lt;location col="1" row="0" colspan="3"/>
    &lt;/attr>
  ...
  &lt;/tag>
  ...
&lt;/tags>
</markup>
</programlisting
> </informalexample
> </para>

<para
> &lt;text&lt;/text
> defineerib objekti lühikirjelduse. </para>
<para
> &lt;textlocation .../> defineerib sildi &lt;text veergude ja ridade asetuse. </para>
<para
> &lt;tooltip&lt;/tooltip
> on tekst, mis ilmub kohtspikrina. </para>
<para
> &lt;location ../> defineerib objekti asukoha antud atribuudil. </para>
<para
> Sildifailis peavad olema kirjas kõik atribuudid. Kui sa ei soovi sildidialoogi ilmumist, siis jäta lihtsalt silt &lt;location
> ära. Nt. &lt;attr ...
> &lt;/attr
> </para>
</sect3>
</sect2>
</sect1>

</chapter>

