In this section, we will look at how to add some simple buttons to a window.
The window we've created so far has had nothing in it, so it isn't very interesting yet. In this section, we will add two buttons, a Find button and a Cancel button. We will also learn a simple way to position them on the window.
Like HTML, XUL has a number of tags that can be used to create user interface elements. The most basic of these is the
tag. This element is used to create simple buttons.button
The button element has two main properties associated with it, a label
and an image
. You need one or the other or both. Thus, a button can have a label only, an image only or both a label and an image. Buttons are commonly used for the OK and Cancel buttons in a dialog, for example.
The
tag has the following syntax:button
<button id="identifier" class="dialog" label="OK" image="images/image.jpg" disabled="true" accesskey="t"/>
The attributes are as follows, all of which are optional:
id
class
dialog
is used. In most cases, you will not use a class for a button.label
image
list-style-image
property.disabled
true
, the button is disabled. This is usually drawn with the text in grey. If the button is disabled, the function of the button cannot be performed. If this attribute is left out entirely, the button is enabled. You can switch the disabled state of the button using JavaScript.accesskey
<button label="Normal"/> <button label="Disabled" disabled="true"/>
The examples above will generate the buttons in the image. The first button is a normal button. The second button is disabled so it appears greyed out.
We'll start by creating a simple Find button for the find files utility. The example code below shows how to do this.
<button id="find-button" label="Find"/>
Let's add this code to the file findfile.xul that we created in the previous section. The code needs to be inserted in-between the
tags. The code to add is shown in red below:window
<?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>
You'll notice that the Cancel button was added also. The window has been given a horizontal orientation so that the two buttons appear beside each other. If you open the file in Mozilla, you should get something like the image shown here.
In the next section, we will find out how to add labels and images to a XUL window.