Imprudence:XML skin formats

XML skin floater format
Windows and dialogs in the viewer are implemented as LLFloater objects. The class hierarchy of some LLFloaterFoo object is:

LLView - Base class, container for UI widget children. LLUICtrl - Any widget that can take keyboard focus. LLPanel - Rectangular area with dark background, has functions like childSetText, childGetValue. LLFloater - Generic window or dialog with close box, minimize box, etc. LLFloaterFoo - A "Foo" dialog.

The XML files describing these floaters reside in. The format of all files is:





{LLView attributes}
The following  are defined in.


 * rect_control="FloaterFooRect"
 * is a  Setting defined in   and sets the values (x, y, w, h). If rect_control is omitted or when w is 0, then the default width is such that the right side is FLOATER_H_MARGIN from the right side of the containing parent view. If h is 0 it is set to the required height (passed to  ) but never less than MIN_WIDGET_HEIGHT.


 * width=
 * A S32 value that overrides the w value set above.


 * height=
 * A S32 value that overrides the h value set above.


 * left=
 * A S32 value that overrides the x value of rect_control. A negative value means that left is specified in pixels from the right side of the parent view (even after resizing the parent view).


 * right=
 * A S32 value to position right-side of the floater. If left and right are both specified, they are used to determine the width (ignoring 'width' above), otherwise if left is not specified, x is set to right - width. A negative value means that right is specified as the number pixels left of the right side of the parent view.


 * bottom=
 * A S32 value that overrides the y value of rect_control. A negative value means that bottom is specified in pixels below the top of the parent view (even after resizing the parent view).


 * top=
 * A S32 value that overrides h above by setting h to top - y. A negative value means that top is specified in pixels below the top of the parent view.


 * left_delta=
 * A S32 value that causes a subsequent floater to be opened this number of pixels more to the right than the previous floater.


 * bottom_delta=
 * A S32</tt> value that causes a subsequent floater to be opened this number of pixels lower than the previous floater.

The following  are defined in.


 * control_name=


 * default_tab_group=


 * enabled=


 * hover_cursor=


 * mouse_opaque=


 * tool_tip=


 * use_bounding_rect=


 * visible=

The following  are defined in.


 * follows=

The following  are defined in.


 * font_size=


 * font_style=


 * font-style=
 * Deprecated, see font_style. However, if both exist then this one overrules.


 * font=

The following  are defined in.


 * halign=

The following  are defined in.


 * valign=

The following  are defined in.


 * style=

The following  is generated in.


 * sound_flags=
 * This appears not to be used anywhere though.

{LLUICtrl attributes}
are defined in.


 * tab_stop=
 * A BOOL</tt> type. True means that the UI control should honor TAB stops. The default is false.