Skinning HowTo/XUI Selection Widgets

== Overview ==
This page describes the XML attributes for the XUI selection widgets. These are some of the XML elements and attributes used within the floaters, panels, and so forth, that make up the viewer user interface. They are used by the XUI files in the \skins\default\xui folders. 
Many XUI elements share the same attributes. Rather than repeatedly describing them, we just list their names here and describe them at Skinning HowTo/Common XUI attributes.
== check_box ==
*Class LLCheckBoxCtrl : LLUICtrl : LLView
*In source file llui/llcheckboxctrl.cpp
*Used by floater, panel, and layout_panel.
<xml><?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater bottom="400" can_close="true" can_drag_on_left="false" can_minimize="true"
 can_resize="true" can_tear_off="false" enabled="true" follows="left|top"
 height="70" left="582" min_height="70" min_width="150" mouse_opaque="true"
 name="example_check_box" tab_stop="false" title="check_box" width="150">
 <check_box bottom="-52" enabled="true" follows="left|bottom" font="SansSerif" height="10"
 initial_value="false" label="check_box label" left="15" mouse_opaque="true"
 name="checkbox" radio_style="false" tab_stop="true" width="455" />
 </floater></xml>
===Common attributes===
*General: name, mouse_opaque, tool_tip, control_name, enabled, visible, use_bounding_rect, default_tab_group
*Positioning: width, height, left, right, left_delta, bottom, top, bottom_delta, follows, rect_control
*Text: label, font, font_size, font_style, halign
*Others: tab_group
===Special attributes===
===== initial_value =====
Optional.
===== radio_style =====
Optional.
===== tab_stop =====
Optional.
===== border_drop_shadow_visible =====
Optional.
===== hidden =====
Optional.
===== max_length =====
Optional.
== color_swatch ==
*Class LLColorSwatchCtrl : LLUICtrl : LLView
*In source file newview/llcolorswatch.cpp
*Used by floater and panel.
<xml><?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater bottom="400" can_close="true" can_drag_on_left="false" can_minimize="true"
 can_resize="true" can_tear_off="false" enabled="true" follows="left|top"
 height="100" left="559" min_height="100" min_width="200" mouse_opaque="true"
 name="example_color_swatch" tab_stop="false" title="color_swatch" width="200">
 <color_swatch border_color="0.5 0.5 0.5 1" bottom="-74"
 can_apply_immediately="true" color="1 0 0 1" enabled="true" height="50"
 label="color_swatch label" left="10" mouse_opaque="true" name="colorswatch" tab_stop="true"
 width="150" />
 </floater></xml>
===Common attributes===
*General: name, mouse_opaque, tool_tip, control_name, enabled, visible, use_bounding_rect, default_tab_group
*Positioning: width, height, left, right, left_delta, bottom, top, bottom_delta, follows, rect_control
*Text: label
===Special attributes===
==== border_color ====
Optional.
==== can_apply_immediately ====
==== color ====
Optional.
== combo_box ==
*Class LLComboBox : LLUICtrl : LLView
*In source file llui/llcombobox.cpp
*Used by floater, panel, and layout_panel.
*Can contain combo_item.
<xml><?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater bottom="400" can_close="true" can_drag_on_left="false" can_minimize="true"
 can_resize="true" can_tear_off="false" enabled="true" follows="left|top"
 height="80" left="550" min_height="80" min_width="250" mouse_opaque="true"
 name="example_combo_box" tab_stop="false" title="combo_box" width="250">
 <combo_box allow_text_entry="false" bottom="20" enabled="true" follows="left|bottom"
 height="20" left="20" max_chars="20" mouse_opaque="true" name="combo_box"
 tab_stop="true" width="200">
 <combo_item type="string" length="1" enabled="true" value="combo_item 1">Item 1</combo_item>
 <combo_item type="string" length="1" enabled="true" value="combo_item 2">Item 2</combo_item>
 </combo_box>
 </floater></xml>
===Common attributes===
*General: name, mouse_opaque, tool_tip, control_name, enabled, visible, use_bounding_rect, default_tab_group
*Positioning: width, height, left, right, left_delta, bottom, top, bottom_delta, follows, rect_control
*Text: label, font, font_size, font_style, halign
*Others: tab_group
===Special attributes===
==== allow_text_entry ====
Optional.
==== length ====
Optional.
==== max_chars ====
Optional.
==== initial_value ====
Optional.
==== max_length ====
Optional.
==== bg_readonly_color ====
Optional.
==== text_readonly_color ====
Optional.
== combo_item ==
*member of LLComboBox : LLUICtrl : LLView
*In source file llui/llcombobox.cpp
*Used by combo_box.
===Common attributes===
==== name ====
==== value ====
Optional.
==== type ====
Optional.
==== length ====
Optional.
==== enabled ====
Optional.
== name_list ==
*Class LLNameListCtrl : LLScrollListCtrl : LLUICtrl : LLView
*In source file newview/llnamelistctrl.cpp
*Used by floater and panel.
*Can contain column.
*Can contain row.
<xml><?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater bottom="400" can_close="true" can_drag_on_left="false" can_minimize="true"
 can_resize="true" can_tear_off="false" enabled="true" follows="left|top"
 height="160" left="550" min_height="160" min_width="250" mouse_opaque="true"
 name="example_name_list" tab_stop="false" title="name_list" width="250">
 <name_list allow_calling_card_drop="false" background_visible="true" bottom="20"
 column_padding="5" draw_border="true" draw_heading="true"
 draw_stripes="true" enabled="true" follows="left|top" height="100"
 left="20" mouse_opaque="true" multi_select="false" name="name_list"
 tab_stop="true" width="210">
 <column label="column label 1" name="column1" width="100" />
 <column label="column label 2" name="column2" width="100" />
 <row
 name="action_something_1"
 value="Something 1" />
 <row
 name="action_something_2"
 value="Something 2" />
 <row>
 <column column="column1">Text 1</column>
 <column column="column2">Text 2</column>
 </row>
 </name_list>
 </floater></xml>
===Common attributes===
*General: name, mouse_opaque, tool_tip, control_name, enabled, visible, use_bounding_rect, default_tab_group
*Positioning: width, height, left, right, left_delta, bottom, top, bottom_delta, follows, rect_control
===Special attributes===
==== allow_calling_card_drop ====
Optional.
==== background_visible ====
Optional.
==== column_padding ====
Optional.
==== draw_border ====
Optional.
==== draw_heading ====
Optional.
==== draw_stripes ====
Optional.
==== multi_select ==== 
==== name_column_index ====
Optional.
==== heading_font ====
Optional.
==== heading_height ====
Optional.
==== bg_selected_color ====
Optional.
==== fg_selected_color ====
Optional.
==== fg_disable_color ====
Optional.
==== fg_unselected_color ====
Optional.
==== background_opaque ====
Optional.
==== bg_alpha_color ====
Optional.
==== bg_opaque_color ====
Optional.
== radio_group ==
*Class LLRadioGroup : LLUICtrl : LLView
*In source file llui/llradiogroup.cpp
*Used by floater and panel.
*Can contain radio_item.
<xml><?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater bottom="400" can_close="true" can_drag_on_left="false" can_minimize="true"
 can_resize="true" can_tear_off="false" enabled="true" follows="left|top"
 height="160" left="550" min_height="160" min_width="250" mouse_opaque="true"
 name="example_radio_group" tab_stop="false" title="radio_group" width="250">
 <radio_group bottom="20" draw_border="true" enabled="true" follows="left|bottom"
 height="100" left="20" mouse_opaque="true" name="radio_group"
 tab_stop="true" width="200">
 <radio_item type="string" length="1" bottom="10" enabled="true" font="SansSerif" height="20"
 initial_value="false" label="radio_item label 1" left="20" mouse_opaque="true" name="radio"
 radio_style="true" tab_stop="false" width="200">
 radio_item 1
 </radio_item>
 <radio_item type="string" length="1" bottom="40" enabled="true" font="SansSerif" height="20"
 initial_value="false" label="radio_item label 2" left="20" mouse_opaque="true" name="radio"
 radio_style="true" tab_stop="false" width="200">
 radio_item 2
 </radio_item>
 <radio_item type="string" length="1" bottom="70" enabled="true" font="SansSerif" height="20"
 initial_value="false" label="radio_item label 3" left="20" mouse_opaque="true" name="radio"
 radio_style="true" tab_stop="false" width="200">
 radio_item 3
 </radio_item>
 </radio_group>
 </floater></xml>
===Common attributes===
*General: name, mouse_opaque, tool_tip, control_name, enabled, visible, use_bounding_rect, default_tab_group
*Positioning: width, height, left, right, left_delta, bottom, top, bottom_delta, follows, rect_control
*Text: label
===Special attributes===
==== draw_border ====
Optional.
==== text_disabled_color ====
Optional.
== radio_item ==
*Class LLRadioItem : LLCheckBoxCtrl : LLUICtrl : LLView
*In source file llui/llradiogroup.cpp
*Used by radio_group.
===Common attributes===
*General: name, mouse_opaque, tool_tip, control_name, enabled, visible, use_bounding_rect, default_tab_group
*Positioning: width, height, left, right, left_delta, bottom, top, bottom_delta, follows, rect_control
===Special attributes===
==== type ====
Optional.
==== length ====
Optional.
== scroll_list ==
*Class LLScrollListCtrl : LLUICtrl : LLView
*In source file llui/llscrolllist.cpp
*Used by floater, panel, layout_stack, and layout_panel.
*Can contain column.
*Can contain row.
<xml><?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater bottom="400" can_close="true" can_drag_on_left="false" can_minimize="true"
 can_resize="true" can_tear_off="false" enabled="true" follows="left|top"
 height="160" left="550" min_height="160" min_width="250" mouse_opaque="true"
 name="example_scroll_list" tab_stop="false" title="scroll_list" width="250">
 <scroll_list allow_calling_card_drop="false" background_visible="true" bottom="20"
 column_padding="5" draw_border="true" draw_heading="true"
 draw_stripes="true" enabled="true" follows="left|top" height="100"
 left="20" mouse_opaque="true" multi_select="false" name="scroll_list"
 tab_stop="true" width="210">
 <column label="column label 1" name="column1" width="100" />
 <column label="column label 2" name="column2" width="100" />
 <row
 name="action_something_1"
 value="Something 1" />
 <row
 name="action_something_2"
 value="Something 2" />
 <row>
 <column column="column1">Text 1</column>
 <column column="column2">Text 2</column>
 </row>
 </scroll_list>
 </floater></xml>
===Common attributes===
*General: name, mouse_opaque, tool_tip, control_name, enabled, visible, use_bounding_rect, default_tab_group
*Positioning: width, height, left, right, left_delta, bottom, top, bottom_delta, follows, rect_control
*Text: font, font_size, font_style
*Others: tab_group
===Special attributes===
==== can_resize ====
Optional.
==== column_padding ====
Optional.
==== column_widths ====
Optional. 
==== draw_heading ====
Optional.
==== draw_stripes ====
Optional.
==== draw_border ====
Optional.
==== multi_select ====
Optional.
==== search_column ====
Optional.
==== sort_column ====
Optional.
==== background_visible ====
Optional.
==== bg_selected_color ====
Optional.
==== fg_disable_color ====
Optional.
==== fg_selected_color ====
Optional.
==== fg_unselected_color ====
Optional.
==== heading_font ====
Optional.
==== heading_height ====
Optional.
==== allow_calling_card_drop ====
Optional.
==== tab_stop ====
Optional.
==== user_resize ====
Optional.
==== sort_ascending ====
Optional.
== column ==
*member of LLNameListCtrl : LLScrollListCtrl : LLUICtrl : LLView
*In source file newview/llnamelistctrl.cpp
*Used by name_list and scroll_list.
=== Attributes ===
==== name ====
==== label ====
Optional.
==== sort ====
Optional.
==== width ====
Optional.
==== dynamicwidth ====
Optional.
==== relwidth ====
Optional.
==== image ====
Optional.
==== tool_tip ====
Optional.
==== user_resize ====
Optional.
== texture_picker ==
*Class LLTextureCtrl : LLUICtrl : LLView
*In source file newview/lltexturectrl.cpp
*Used by floater and panel.
<xml><?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater bottom="400" can_close="true" can_drag_on_left="false" can_minimize="true"
 can_resize="true" can_tear_off="false" enabled="true" follows="left|top"
 height="200" left="550" min_height="200" min_width="200" mouse_opaque="true"
 name="example_texture_picker" tab_stop="false" title="texture_picker"
 width="250">
 <texture_picker allow_no_texture="false" bottom="20" can_apply_immediately="false"
 default_image_name="Default" enabled="true" height="130"
 label="texture_picker label" left="20" mouse_opaque="true"
 name="texture_picker" tab_stop="true" width="130" />
 </floater></xml>
===Common attributes===
*General: name, mouse_opaque, tool_tip, control_name, enabled, visible, use_bounding_rect, default_tab_group
*Positioning: width, height, left, right, left_delta, bottom, top, bottom_delta, follows, rect_control
*Text: label
===Special attributes===
==== allow_no_texture ====
Optional.
==== can_apply_immediately ====
Optional.
==== default_image_name ====
Optional.