Adicionando botões

  • Revision slug: Tutorial_XUL/Adicionando_botões
  • Revision title: Adicionando botões
  • Revision id: 259196
  • Created:
  • Creator: Rodmalkav
  • Is current revision? Não
  • コメント /* Alguns exemplos de botões */

Revision Content

Adicionando Botões a uma Janela

A janela que nós criamos não possuía nada, então ainda não é muito interessante. Nessa sessão, iremos adicionar dois botões, um botão "Find" e outro "Cancel". Iremos também aprender uma maneira simples de posicionar os botões na janela.

Como em HTML, XUL tem uma série de tags que podem ser usadas para criar UIs. A mais básica delas é a tag {{template.XULElem("button")}}. Este elemento é usado para criar botões simples.

O elemento botão tem duas propriedades principais associadas a ele, uma label uma image. Você precisará ao menos de uma delas ou das duas para criar um botão simples. Portanto, um botão pode ter apenas uma label (texto), uma imagem ou os dois juntos. Botões são geralmente usados para comandos OK e Cancel numa caixa de diálogo, por exemplo. Vale lembrar que não haverá erro caso não seja colocado nem uma label ou uma imagem, apenas o botão ficará em branco o que não é muito comum em interfaces.

Sintaxe dos Botões

A tag button tem a seguinte sintaxe:

<button
    id="identifier"
    class="dialog"
    label="OK"
    image="images/image.jpg"
    disabled="true"
    accesskey="t"/>

Os atributos a seguir são todos opcionais:

id 
Um identificador único para o botão. Como já dissemos em sessões anteriores, muitos elementos terão esse identificador. Você deverá usar este atributo caso deseje referenciar o botão em um CSS ou script. Entretanto, é aconselhável que você coloque o atributo id mesmo que não vá referenciar o botão em nenhum lugar.
class 
A classe do botão. Tem o mesmo efeito do atributo "class" em HTML, usado para CSS. Neste caso, o valor dialog é usado.
label 
O texto que irá aparecer dentro do botão. Se for deixado em branco ou não for especificado, nenhum texto irá aparecer.
image 
A URL da imagem que aparecerá no botão. Se for deixado em branco ou não for especificado, nenhuma imagem irá aparecer. Você também pode especificar a imagem através da propriedade CSS list-style-image.
disabled 
Se este atributo for setado como true, o botão ficará desabilitado. Se um botão está desabilitado, as funções que ele possui não poderão ser executadas. O default para esta propriedade é o botão habilitado. Você também pode trocar o estado do botão com JavaScript.
accesskey 
Esta propriedade designa uma letra como tecla de atalho. A letra especificada geralmente sublinhada no texto do botão. Caso não haja a letra especificada como atalho no texto escrito no atributo "label", a letra aparecerá no final do texto, entre parênteses. Quando o usuário pressionar a tecla ALT (ou a tecla similar em outras plataformas) e a letra de atalho, o botão será acionado.

O botão possui diversas outras propriedades que podem ser vistas no link Mais propriedades.

Alguns exemplos de botões

"Codigo Fonte" : Visualizar

Image:
<button label="Normal"/>
<button label="Disabled" disabled="true"/>

O exemplo acima irá gerar os botões da imagem ao lado. O primeiro é um botã normal. O segundo está desabilitado, por isso aparece em tom de cinza.

Vamos começar criando um simples botão "Find", para nosso aplicativo de encontrar arquivos. O código abaixo mostra como fazer isso.

<button id="find-button" label="Find"/>
Note que o Firefox não permite a você abrir janelas chrome de páginas Web, por isso os links "Visualizar" abrem em janelas normais do browser. Por esse motivo, os botões ocuparão toda a tela. Você pode adicionar o atributo align="start" na tag window para prevenir isso.
O exemplo findfile.xul

Vamos adicionar o código acima ao arquivo findfile.xul criado na sessão anterior. O código precisa se inserido entre as tags window. O código a ser adicionado está exibido em vermelho, abaixo:

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window
    id="findfile-window"
    title="Find Files"
    orient="horizontal"
     xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

  <button id="find-button" label="Find"/>
  <button id="cancel-button" label="Cancel"/>

</window>
Image:
Você irá notar que o botão "Cancel" foi adicionado. Foi dado à janela uma orientação horizontal fazendo com que os botões apareçam um ao lado do outro. Se você abrir o arquivo no Mozilla, você deverá ter alguma coisa parecida como a imagem ao lado.
Note que é aconselhável não colocar as labels diretamento no arquivo XUL. Devemos usar entidades de forma que o texto seja facilmente traduzido.

Na próxima sessão, iremos encontrar como

In the next section, we will find out how to adicionar labels e imagens em um arquivo XUL.

See also more button fetaures

{{template.PreviousNext("XUL Tutorial:Creating a Window", "XUL Tutorial:Adding Labels and Images")}}

Categorias

Interwiki Language Links

{{ wiki.languages( { "en": "en/XUL_Tutorial/Adding_Buttons", "es": "es/Tutorial_de_XUL/A\u00f1adiendo_botones", "ja": "ja/XUL_Tutorial/Adding_Buttons", "pl": "pl/Kurs_XUL/Dodawanie_przycisk\u00f3w" } ) }}

Revision Source

<h3 name="Adicionando_Bot.C3.B5es_a_uma_Janela"> Adicionando Botões a uma Janela </h3>
<p>A janela que nós criamos não possuía nada, então ainda não é muito interessante. Nessa sessão, iremos adicionar dois botões, um botão "Find" e outro "Cancel". Iremos também aprender uma maneira simples de posicionar os botões na janela.
</p><p>Como em HTML, XUL tem uma série de tags que podem ser usadas para criar UIs. A mais básica delas é a tag <code>{{template.XULElem("button")}}</code>. Este elemento é usado para criar botões simples.
</p><p>O elemento botão tem duas propriedades principais associadas a ele, uma <code>label</code> uma <code>image</code>. Você precisará ao menos de uma delas ou das duas para criar um botão simples. Portanto, um botão pode ter apenas uma label (texto), uma imagem ou os dois juntos. Botões são geralmente usados para comandos OK e Cancel numa caixa de diálogo, por exemplo. Vale lembrar que não haverá erro caso não seja colocado nem uma label ou uma imagem, apenas o botão ficará em branco o que não é muito comum em interfaces.
</p>
<h4 name="Sintaxe_dos_Bot.C3.B5es"> Sintaxe dos Botões </h4>
<p>A tag <code><a class="external" href="http://developer.mozilla.org/en/docs/XUL:button">button</a></code> tem a seguinte sintaxe:
</p>
<pre>&lt;button
    id="identifier"
    class="dialog"
    label="OK"
    image="images/image.jpg"
    disabled="true"
    accesskey="t"/&gt;
</pre>
<p>Os atributos a seguir são todos opcionais:
</p>
<dl><dt> <a class="external" href="http://developer.mozilla.org/en/docs/XUL:Attribute:id">id</a> </dt><dd> Um identificador único para o botão. Como já dissemos em sessões anteriores, muitos elementos terão esse identificador. Você deverá usar este atributo caso deseje referenciar o botão em um CSS ou script. Entretanto, é aconselhável que você coloque o atributo id mesmo que não vá referenciar o botão em nenhum lugar.
</dd><dt> <a class="external" href="http://developer.mozilla.org/en/docs/XUL:Attribute:class">class</a> </dt><dd> A classe do botão. Tem o mesmo efeito do atributo "class" em HTML, usado para CSS. Neste caso, o valor <code>dialog</code> é usado.
</dd><dt> <a class="external" href="http://developer.mozilla.org/en/docs/XUL:Attribute:label">label</a> </dt><dd> O texto que irá aparecer dentro do botão. Se for deixado em branco ou não for especificado, nenhum texto irá aparecer.
</dd><dt> <a class="external" href="http://developer.mozilla.org/en/docs/XUL:Attribute:image">image</a> </dt><dd> A URL da imagem que aparecerá no botão. Se for deixado em branco ou não for especificado, nenhuma imagem irá aparecer. Você também pode especificar a imagem através da propriedade CSS <code><a href="pt/CSS/list-style-image">list-style-image</a></code>.
</dd><dt> <a class="external" href="http://developer.mozilla.org/en/docs/XUL:Attribute:disabled">disabled</a> </dt><dd> Se este atributo for setado como <code>true</code>, o botão ficará desabilitado. Se um botão está desabilitado, as funções que ele possui não poderão ser executadas. O default para esta propriedade é o botão habilitado. Você também pode trocar o estado do botão com <a href="pt/JavaScript">JavaScript</a>.
</dd><dt> <a class="external" href="http://developer.mozilla.org/en/docs/XUL:Attribute:accesskey">accesskey</a> </dt><dd> Esta propriedade designa uma letra como tecla de atalho. A letra especificada geralmente sublinhada no texto do botão. Caso não haja a letra especificada como atalho no texto escrito no atributo "label", a letra aparecerá no final do texto, entre parênteses. Quando o usuário pressionar a tecla ALT (ou a tecla similar em outras plataformas) e a letra de atalho, o botão será acionado.
</dd></dl>
<p>O botão possui diversas outras propriedades que podem ser vistas no link <a href="pt/XUL_Tutorial/More_Button_Features">Mais propriedades</a>.
</p>
<h4 name="Alguns_exemplos_de_bot.C3.B5es"> Alguns exemplos de botões </h4>
<p><a class="external" href="http://developer.mozilla.org/samples/xultu/examples/ex_buttons_1.xul.txt">"Codigo Fonte"</a> : <a class="external" href="http://developer.mozilla.org/samples/xultu/examples/ex_buttons_1.xul">Visualizar</a>
</p>
<div class="float-right"><img alt="Image:" src="File:pt/Media_Gallery/Http://developer.mozilla.org/en/docs/buttons1.png"></div>
<pre>&lt;button label="Normal"/&gt;
&lt;button label="Disabled" disabled="true"/&gt;
</pre>
<p>O exemplo acima irá gerar os botões da imagem ao lado. O primeiro é um botã normal. O segundo está desabilitado, por isso aparece em tom de cinza.
</p><p>Vamos começar criando um simples botão "Find", para nosso aplicativo de encontrar arquivos. O código abaixo mostra como fazer isso.
</p>
<pre>&lt;button id="find-button" label="Find"/&gt;
</pre>
<div class="note">Note que o Firefox não permite a você abrir janelas chrome de páginas Web, por isso os links "Visualizar" abrem em janelas normais do browser. Por esse motivo, os botões ocuparão toda a tela. Você pode adicionar o atributo align="start" na tag window para prevenir isso.</div>
<div class="highlight">
<h5 name="O_exemplo_findfile.xul"> O exemplo findfile.xul </h5>
<p>Vamos adicionar o código acima ao arquivo findfile.xul criado na sessão anterior. O código precisa se inserido entre as tags <code><a class="external" href="http://developer.mozilla.org/en/docs/XUL:window">window</a></code>. O código a ser adicionado está exibido em vermelho, abaixo:
</p>
<pre class="eval">&lt;?xml version="1.0"?&gt;
&lt;?xml-stylesheet href="chrome://global/skin/" type="text/css"?&gt;
&lt;window
    id="findfile-window"
    title="Find Files"
    orient="horizontal"
     xmlns="<span class="plain">http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul</span>"&gt;

  <span class="highlightred">&lt;button id="find-button" label="Find"/&gt;</span>
  <span class="highlightred">&lt;button id="cancel-button" label="Cancel"/&gt;</span>

&lt;/window&gt;
</pre>
<div class="float-right"><img alt="Image:" src="File:pt/Media_Gallery/Http://developer.mozilla.org/en/docs/buttons2.png"></div>
Você irá notar que o botão "Cancel" foi adicionado. Foi dado à janela uma orientação horizontal fazendo com que os botões apareçam um ao lado do outro. Se você abrir o arquivo no Mozilla, você deverá ter alguma coisa parecida como a imagem ao lado.</div>
<div class="note">Note que é aconselhável não colocar as labels diretamento no arquivo XUL. Devemos usar <a href="pt/XUL_Tutorial/Localization">entidades de forma que o texto seja facilmente traduzido</a>.</div>
<p>Na próxima sessão, iremos encontrar como
</p><p>In the next section, we will find out how to <a href="pt/XUL_Tutorial/Adding_Labels_and_Images"> adicionar labels e imagens em um arquivo XUL</a>. 
</p><p><small>See also <a href="pt/XUL_Tutorial/More_Button_Features">more button fetaures</a></small>
</p><p>{{template.PreviousNext("XUL Tutorial:Creating a Window", "XUL Tutorial:Adding Labels and Images")}}
</p><p><span class="comment">Categorias</span>
</p><p><span class="comment">Interwiki Language Links</span>
</p>{{ wiki.languages( { "en": "en/XUL_Tutorial/Adding_Buttons", "es": "es/Tutorial_de_XUL/A\u00f1adiendo_botones", "ja": "ja/XUL_Tutorial/Adding_Buttons", "pl": "pl/Kurs_XUL/Dodawanie_przycisk\u00f3w" } ) }}
Revert to this revision