This tag creates an area of the canvas that the user can use to
edit text. It is equivalent to the HTML <input
type="text">, <input type="password">,
and textarea tags.
See the documentation for the text
tag for a description of the width and height attributes,
and of scrolling.
With the multiline and
password attributes set to false
(the default), this tag is similar to the HTML <input
type="text"> tag. In this use, long lines of text are
clipped according to the width attribute.
Example 18. Simple inputtext
<canvas height="20"> <inputtext width="150">This text is editable.</inputtext> </canvas>
With the multiline attribute set to
true, this tag is similar to the HTML
<textarea> tag. In this use, text is wrapped to
the length of the width attribute, and the user
can press Enter to create multiple lines of input.
Example 19. Simple inputtext
<canvas height="20"> <inputtext width="150" multiline="true">This text is editable.</inputtext> </canvas>
With password set to true, this
tag is similar to the HTML <input type="password">
tag. Input characters are displayed as the asterisk
('*') character.
Example 20. Password inputtext
<canvas height="20"> <inputtext width="100" password="true">password.</inputtext> </canvas>
inputtext
A large inputtext view will respond to character
input slowly. In many cases, it will not be able to keep up with
reasonable typing speed, even on a fast machine.
If an instance of inputtext will not be resized
at runtime, and the compiler can determine its size at compile time,
the compiler can substitute a inputtext view that
is optimized to accept text at that size for the generic resizable
inputtext view. This optimized
inputtext view can keep up with typing speed even
at large sizes or on a slow computer.
A program can request an optimized inputtext by
setting the resizable attribute to
false, and supplying recognizable
width and height
dimension attributes. A recognizable dimension attribute is an
attribute that is defined as a numeric literal, such as
width="100", or that is defined as a simple
$once expression that adds or subtracts a numeric literal
to the width or height
attribute of the view's parent, its parent's parent, or so on. This
final optimization allows the optimization to apply to
inputtext tags within a class definition, as in the
second example below.
Example 21. Optimized inputtext
<canvas height="20">
<inputtext resizable="false" width="150" height="20">
This text is editable.
</inputtext>
</canvas>
Example 22. Component with optimized inputtext
<canvas height="20">
<class name="mytext" width="150" height="20" bgcolor="gray">
<attribute name="text" type="text"/>
<inputtext resizable="false" text="${parent.text}" bgcolor="white"
x="1" y="1"
width="$once{parent.width-2}" height="$once{parent.height-2}"/>
</class>
<mytext>This text is editable.</mytext>
</canvas>
The compiler can also infer the values of the
width and height
attributes if they are not supplied. If supplied, the value of the
font must be a constant string in order for the
text field to be optimized. If supplied, the value of the
fontsize must be a constant in order to
for the text field to be optimized. Generally these can be omitted and
the inputtext will inherit the parent's font size and style by
default.
Copyright © 2002-2007 Laszlo Systems, Inc. All Rights Reserved. Unauthorized use, duplication or distribution is strictly prohibited. This is the proprietary information of Laszlo Systems, Inc. Use is subject to license terms.