AT&T Home | AT&T Labs | Research
AT&T Labs, Inc. - Research

The Yoix® Scripting Language

Home | What's New | Grammar | Documentation | Download | License | YDAT | YWAIT | Byzgraf | FAQs
Label typedict
 
A Label is the interface to Java's AWT Label Component. Yoix programs normally interact with a Label using event handlers and by reading or writing the following fields:
alignment An int that controls the positioning of the text in the label. The value should be LEFT, CENTER, or RIGHT, which are all defined in yoix.awt. Reading returns the current alignment. Writing immediately repaints the text using the new alignment.
autotrim An int that is 1 when white space is automatically trimmed from both ends of every string read from or written to the text field, and 0 otherwise.
background The Color that is used to paint the background of the label. Reading returns a snapshot of the current color. Writing immediately changes the background to the new color. Storing NULL in background is special and means use the background of the nearest component that contains the label and was assigned a background color other than NULL; if no component qualifies the label uses VM.screen.background.
cursor An Object that should be an int, Image, or String that selects the cursor shown when the pointer is over the label. A cursor that is an int should be one of the cursors defined in the yoix.awt.Cursor dictionary. A cursor that is an Image can describe the cursor using its size and hotspot fields and often draws it using its paint function. A cursor that is a String should be the name of a cursor that is already defined in yoix.awt.Cursor or the name a local a file or URL that contains a GIF or JPEG image that will be used as the cursor.

Reading returns the current cursor. Writing immediately changes the label's cursor to the new value. Storing STANDARD_CURSOR (the default) or NULL in cursor is special and means use the cursor assigned to the nearest component that contains the label and was assigned a cursor other than STANDARD_CURSOR; if no component qualifies the label uses DEFAULT_CURSOR.

enabled An int that is 1 when the label can respond to user input, and 0 otherwise. Reading returns the current state. Writing immediately sets the label's state to the new value.
focusowner A read-only int that is non-zero when the label has the focus.
font The Font, or font name if it is a String, used to paint the characters stored in the text field. Reading returns a snapshot of the current font. Writing immediately repaints the text in the new font.
foreground The Color that is used to paint the characters stored in the text field. Reading returns a snapshot of the current color. Writing immediately repaints the label in the new color. Storing NULL in foreground is special and means use the foreground of the nearest component that contains the label and was assigned a foreground color other than NULL; if no component qualifies the label uses VM.screen.foreground.
location A Point that determines the location of the label in a coordinate system that has its origin at the upper left corner of the container closest to the label (in the component hierarchy) that actually contains it, positive x to the right, positive y down, and a resolution of 72 dots per inch. Reading returns a snapshot of the current location. Writing is allowed, but layout managers usually get the final say, so setting location should be viewed as a request that may not be honored.
popup A PopupMenu that is associated with the label. Reading returns the current popup menu. Writing immediately shows the popup menu at the point in the label's coordinate system specified by the popup menu's location field, assuming of course that the label is showing on the screen. Storing TRUE in the popup menu's visible field, which was added in release 1.2.0, is an easy way to show the popup menu that currently belongs to the label.
requestfocus An int that can be used to request or transfer the keyboard focus. Storing a non-zero value in requestfocus tries to get the focus. Storing 0 tries to transfer the focus. Reading requestfocus does not currently return any useful information.
root An Object that is automatically updated by the interpreter's layout machinery so it is always the top-level object that contains the label. For example, put a label in a panel and root will be set to that panel; add the panel to a frame and the label's root field will be set to that frame. A label's event handlers can use root when they need to interact with the other components in the container.
showing A read-only int that is non-zero when the label is showing on the screen.
size A Dimension that determines the size of the label in units of 72 dots per inch. Reading returns a snapshot of the current size. Writing is allowed, but layout managers usually get the final say, so setting size should be viewed as a request that may not be honored.
tag A String used to identify the label that is either supplied when the label is declared, or automatically generated otherwise. Add a label to a container, like a Frame or Panel, and the interpreter's layout machinery updates the root field so it points at the top-level container and then adds the label, as tag, to the root.components dictionary.
text A String of characters that is displayed in the label. Reading returns the current text. Writing immediately paints the new text.
visible An int that is 1 when the label is visible, and 0 otherwise. Reading returns the current visibility. Writing immediately sets the label's visibility to the new state.
Several permanent fields have not been documented and should not be used in Yoix applications. Event handlers are functions that must be added to a label when it is declared. The handlers that work with labels are listed below; the names should be familiar if you have done some Java programming. The actionPerformed and itemStateChanged event handlers are only for menus.
 
 Event Handlers:   actionPerformed, componentHidden, componentMoved, componentResized, componentShown, dragDropEnd, dragEnter, dragExit, dragGestureRecognized, dragMouseMoved, dragOver, drop, dropActionChanged, focusGained, focusLost, invocationRun, itemStateChanged, keyPressed, keyReleased, keyTyped, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, mouseWheelMoved
 
 Example:   The program,
import yoix.*.*;

Frame f = {
    Array layout = {
        new Label {
            String text = "Here's some text";
            String tag = "label";
            Color  foreground = Color.red;
            int    alignment = LEFT;
        },
    };
};

f.visible = TRUE;
sleep(3);
f.components.label.alignment = RIGHT;
sleep(3);
f.components.label.alignment = CENTER;
sleep(3);
f.components.label.text = "";
f.components.label.font = "Helvetica-bold-14";
f.components.label.text = "ALL DONE...";
sleep(3);
exit(0);
adds a label to to a frame, lets you watch as some of the fields are changed, and then quits.
 
 See Also:   Button, Canvas, Checkbox, Choice, Dialog, FileDialog, Frame, List, Panel, postEvent, ScrollPane, Scrollbar, TableColumn, TableManager, TextArea, TextCanvas, TextField, TextTerm, Window

 

Yoix is a registered trademark of AT&T Intellectual Property.