UI Widgets

From Second Life Wiki
Jump to navigation Jump to search

Documentation of the current XUI xml format as used in the Second Life viewer for its UI elements.

Widget List

List of widgets at your disposal:

LLTextBox - a holder of displayed text

LLSlider - a knob you can move horizontally to control a value

LLRadioGroup - a group of radio buttons for choosing a particular setting

LLLineEditor - a means of inputing text

LLCheckBoxCtrl - a check box for turning something on or off

LLButton - a button to press

LLComboBox - a drop down list with a single line text box

Widget Options

You will see the following information in XML files as you go. Here's what all the options mean.

Name

  • name="SuperWidget" // name of the widget. You will use this name in the code to identify your widget when you need it

Control Name

  • control_name="DebugSetting" // Allows you to instantly tie a widget to Debug_Settings without writing any code. Very useful.

Width and Height

  • width="100" // sets the width of the widget to be 100 pixels
    • Note: This is the entire width of the widget, not just the label.
  • height="20" // sets the height of the widget to be 20 pixels
    • Note: This is the entire width of the widget, not just the label.

Left

  • left="10" // sets the horizontal position of the left edge of the widget to be 10 pixels from the left edge of the panel or floater
  • left_delta="100" // sets the horizontal position of the left edge of the widget to be 100 pixels from the left edge of previously listed widget
    • Note: Use left *or* left_delta, never both.

Bottom

  • bottom="300" // sets the vertical position of the bottom edge of the widget to be 300 pixels from the bottom edge of the panel or floater
  • bottom="-30" // sets the vertical position of the bottom edge of the widget to be 30 pixels from the top edge of the panel or floater
  • bottom_delta="-30" // sets the vertical position of the bottom edge of widget to be 30 pixels from the bottom edge of previously listed widget
    • Note: Use bottom *or* bottom_delta, never both.
      • Note: All floaters, panels and widgets appear to accept these, so I will simply refer to them as "coordinates" rather than spell them out for each file.