<x>10</x>
<y>50</y>
<label>Hello, world</label>
+ <color>
+ <red>1.0</red>
+ <green>0.0</green>
+ <blue>0.0</blue>
+ </color>
</text>
<button>
height - the height of the object, in pseudo-pixels. The default is
the width of the parent container.
+ border - the border thickness, in pseudo-pixels. The default is 2.
+
color - a subgroup to specify the dialogs color:
red - specify the red color component of the color scheme.
green - specify the green color component of the color scheme.
font - a subgroup to specify a specific font type
name - the name of the font (excluding it's .txf extension)
size - size of the font
- slant - the slant of the font (in pixels)
+ slant - the slant of the font (in pseudo-pixels)
legend - the text legend to display in the object.
presses the [RETURN] key.
Objects may appear nested within the top-level dialog or a "group"
-object. Here are all the object types allowed, with their special
-properties:
+or a "frame" object. Here are all the object types allowed, with their
+special properties:
dialog
</PropertyList>
-group
------
+group and frame
+---------------
A group of subobjects. This object does not draw anything on the
screen, but all of its children specify their coordinates relative to
the group; using groups makes it easy to move parts of a dialog
around.
+A frame is a visual representation of a group and has a border and an
+adjustable background color.
+
Example:
<group>
puGroup * group = new puGroup(x, y);
setupGroup(group, props, width, height, color, false);
return group;
+ } else if (type == "frame") {
+ puFrame * frame = new puFrame(x, y, width, height);
+ frame->setBorderThickness(1);
+ frame->setColorScheme(color[0], color[1], color[2], color[3]);
+ puGroup * group = new puGroup(x, y);
+ setupGroup(group, props, width, height, color, false);
+ return group;
} else if (type == "list") {
puList * list = new puList(x, y, x + width, y + height);
setupObject(list, props);
if (props->hasValue("label"))
object->setLabel(props->getStringValue("label"));
+ if (props->hasValue("border"))
+ object->setBorderThickness( props->getIntValue("border", 2) );
+
if ( SGPropertyNode *nft = props->getNode("font", false) ) {
SGPath path( _font_path );
const char *name = nft->getStringValue("name", "default");