Viewer:UI/Widgets

Category:CodeDocumentation
Category:UI
Category:XUI
= Overview =
Widgets are the UI controls, i.e. the components that make up the UI.
= Widget design and registration =
== Overview ==
== Registration ==
A widget is registered by including the following code in the widget C++ file (e.g. llbutton.cpp):
 static LLDefaultChildRegistry::Register<LLButton> r("button");
= Test Plans = t
* Coverage Test
= Classes =
== Widget Base Classes ==
* LLView - Base class for all UI components
* ui_ctrl - LLUICtrl - Base class for all widgets. LLUICtrl derives from LLView
== Common Embedded Widgets ==
These are never used by themselves
* scroll_bar - LLScrollBar
== Containers ==
* panel - LLPanel
* floater - LLFloater
* layout_stack - LLLayoutStack
** LLResizeBar
** LLResizeHandle
** LLDragHandle
* tab_container - LLTabContainer
** placeholder - LLPlaceHolderPanel
* container_view - LLContainerView
* scroll_container - LLScrollContainer
* scrolling_panel_list - LLScrollingPanelList
** LLScrollingPanel
== UI Widgets ==
==== Misc Widgets ====
* progress_bar - LLProgressBar
* icon - LLIconCtrl - read-only icon, not clickable
* pad or locate - LLUICtrlLocate
==== Menu Widgets ====
* menu_bar - LLMenuBarGL - menu bar
* menu - LLMenuGL - drop-down menu for top of screen or floater
** menu_item_separator - LLMenuItemSeparatorGL
** menu_item_call - LLMenuItemCallGL
** menu_item_check - LLMenuItemCheckGL
==== Button Widgets ====
* button - LLButton - clickable push button
* flyout_button - LLFlyoutButton - button with combo box like behavior
==== Input Widgets ====
* check_box - LLCheckBoxCtrl
* combo_box - LLComboBox (LLCtrlSelectionInterface, LLCtrlListInterface) - pop-up menu of items with optional direct text entry
* line_editor - LLLineEditor (LLEditMenuHandler, LLPreeeditor) - single line input
* multi_slider - LLMultiSliderCtrl
** multi_slider_barLLMultiSlider
* radio_group - LLRadioGroup (LLCtrlSelectionInterface) - group of radio buttons
** radio_item - LLRadioCtrl - single radio button, usually part of a LLRadioGroup
* scroll_list - LLScrollListCtrl (LLCtrlSelectionInterface, LLCtrlListInterface, LLCtrlScrollInterface) + LLEditMenuHandler - scrolling list of columns
* search_editor - LLSearchEditor (contains LLLineEditor)
* slider - LLSliderCtrl
** slider_bar or volume_slider - LLSlider
* spinner - LLSpinCtrl - spinner, integer or float value
* star_view - LLStatView - grouping of statistics bars
** star_bar - LLStatBar - statistics bar, horizontal
* text - LLTextBox - read-only multi-line text output
* simple_text_editor - LLTextEditor (LLEditMenuHandler, LLPreeeditor) - multi-line text input
** See text_editor in Viewer section
* view_border - LLViewBorder - decorator for views
== Viewer Widgets ==
==== Containers ====
* inventory_panel - LLInventoryPanel
* panel_inventory - LLPanelInventory
==== Misc ====
* avatar_icon - LLAvatarIconCtrl
* favorites_bar - LLFavoritesBarCtrl
* output_monitor - LLOutputMonitorCtrl
* drop_target - LLDropTarget
* group_drop_target - LLGroupDropTarget
==== Color / Texture Input ====
* color_swatch - LLColorSwatchCtrl
* texture_picker - LLTextureCtrl
==== Input ====
* location_input - LLLocationInputCtrl
* name_box - LLNameBox
* name_editor - LLNameEditor
* name_list - LLNameListCtrl
* text_editor - LLViewerTextEditor
==== Camera / Joystick ====
* joystick_slide - LLJoystickAgentSlide
* joystick_turn - LLJoystickAgentTurn
* joystick_rotate - LLJoystickCameraRotate
* joystick_zoom - LLJoystickCameraZoom
* joystick_track - LLJoystickCameraTrack
==== Web ====
* web_browser - LLWebBrowserCtrl
== Also ==
* string - This tag occurs in XML files to specify translatable strings