Skinning HowTo/XUI Text Entry Widgets

From Second Life Wiki
< Skinning HowTo
Revision as of 16:09, 26 May 2010 by Rand Linden (talk | contribs) (→‎prevalidate_callback)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Overview

This page describes the XML attributes for the XUI text entry 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.

line_editor

<line_editor> creates a single line text box

  • Class LLLineEditor : LLUICtrl : LLView
  • In source file llui/lllineeditor.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="80" left="550" min_height="80" min_width="250" mouse_opaque="true"
    name="example_line_editor" tab_stop="false" title="line_editor" width="250">
   <line_editor bevel_style="in" border_style="line" border_thickness="1" bottom="20"
        enabled="true" font="SansSerif" handle_edit_keys_directly="false"
        height="20" label="line_editor label" left="20" max_length="128"
        mouse_opaque="true" name="line_editor" select_all_on_focus_received="false"
        select_on_focus="false" tab_stop="true" width="200" />
</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
  • Others: tab_group

Special attributes

max_length

Optional.

bevel_style

Optional.

  • none
  • in
  • out
  • bright
  • line
  • texture

border_style

Optional.

border_thickness

Optional.

select_on_focus

Optional.

select_all_focus_received

Optional.

handle_edit_keys_directly

Optional.

cursor_color

Optional.

text_color

Optional.

text_readonly_color

Optional.

bg_readonly_color

Optional.

bg_writeable_color

Optional.

bg_focus_color

Optional.

handle_edit_keys_directly

Optional.

commit_on_focus_lost

Optional.

hidden

Optional.

is_unicode

Optional.

increment

Optional.

initial_val

Optional.

max_val

Optional.

min_val

Optional.

bg_visible

Optional.

border_drop_shadow_visible

Optional.

border_visible

Optional.

drop_shadow_visible

Optional.

h_pad

Optional.

prevalidate_callback

Optional.

Function to run on text to validate before the text is entered.

  • ascii -- guarantees that text entered is ascii encoded (non-unicode)

v_pad

Optional.

word_wrap

Optional.

name_editor

NOTE: This widget is deprecated and not used in Viewer 2.

  • Class LLNameEditor : LLLineEditor : LLUICtrl : LLView
  • In source file newview/llnameditor.cpp
  • Used by 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="80" left="550" min_height="80" min_width="250" mouse_opaque="true"
    name="example_name_editor" tab_stop="false" title="name_editor" width="250">
   <name_editor bevel_style="in" border_style="line" border_thickness="1" bottom="20"
        enabled="true" font="SansSerif" handle_edit_keys_directly="false"
        height="20" label="name_editor label" left="20" max_length="128"
        mouse_opaque="true" name="name_editor" select_all_on_focus_received="false"
        select_on_focus="false" tab_stop="true" width="200" />
</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

Special attributes

bevel_style

bg_readonly_color

Optional.

border_style

border_thickness

max_length

text_readonly_color

Optional.

is_unicode

Optional.

text

  • Class LLTextBox : LLUICtrl : LLView
  • In source file llui/lltextbox.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="80" left="550" min_height="80" min_width="80" mouse_opaque="true"
    name="example_text" tab_stop="false" title="text" width="250">
   <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
        bottom="20" enabled="true" font="SansSerif" h_pad="0" halign="left"
        height="20" left="20" mouse_opaque="false" name="text" tab_stop="false"
        v_pad="0" width="235">
       Text
   </text>
</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: hover_cursor

Special attributes

type

Optional.

length

Optional.

bg_visible

Optional.

border_drop_shadow_visible

Optional.

drop_shadow_visible

Optional.

border_visible

Optional.

h_pad

Optional.

v_pad

Optional.

hidden

Optional.

tab_stop

Optional.

initial_value

Optional.

radio_style

Optional.

word_wrap

Optional.

bevel_style

Optional.

border_style

Optional.

border_thickness

Optional.

is_unicode

Optional.

max_length

Optional.

hover

Optional.

hover_color

Optional.

text_color

Optional.

align

Optional.

text_wrap

Optional.

text_enabled_color

Optional.

allow_html

Optional.

bg_readonly_color

Optional.

embedded_items

Optional.

hide_border

Optional.

hide_scrollbar

Optional.

line_spacing

Optional.

disabled_color

Optional.

text_editor

Both text_editor and simple_text_editor create a multi-line text box, but text_editor has more functionality.

  • Class LLViewerTextEditor : LLTextEditor : LLUICtrl : LLView
  • In source file newview/llviewertexteditor.cpp
  • Class LLTextEditor : LLUICtrl : LLView
  • In source file llui/lltexteditor.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="160" left="550" min_height="160" min_width="250" mouse_opaque="true"
    name="example_text_editor" tab_stop="false" title="text_editor" width="250">
   <text_editor type="string" length="1" bottom="20" embedded_items="false"
        enabled="true" font="SansSerif" height="100"
        hide_scrollbar="false" left="20" max_length="255" mouse_opaque="true"
        name="text_editor" tab_stop="true" width="200" word_wrap="false" />
</floater></xml>

NOTE: The simple_text_editor widget is deprecated and not used in Viewer2.

<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_simple_text_editor" tab_stop="false"
    title="simple_text_editor" width="250">
   <simple_text_editor type="string" length="1" bottom="20" embedded_items="true"
        enabled="true" font="SansSerif" height="100"
        hide_scrollbar="false" left="20" max_length="255" mouse_opaque="true"
        name="text_editor" tab_stop="true" width="200" word_wrap="false" />
</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

Special attributes

max_length

Optional.

embedded_items

Optional.

word_wrap

Optional.

hide_scrollbar

Optional.

cursor_color

Optional.

text_color

Optional.

Attribute values can include

  • RGB + alpha values
  • Reserved color words such as "black," "white," or "green."

text_readonly_color

Optional.

bg_readonly_color

Optional.

bg_writeable_color

Optional.

bg_focus_color

Optional.

max_length

Optional.

type

Optional.

bevel_style

Optional.

border_style

Optional.

border_thickness

Optional.

handle_edit_keys_directly

Optional.

select_all_on_focus_received

Optional.

select_on_focus

Optional.

length

Optional.

track_bottom

Optional.

ignore_tab

Optional.

border_drop_shadow_visible

Optional.

border_visible

Optional.

show_line_numbers

Optional.

allow_html

Optional.

hide_border

Optional.

tab_stop

Optional.

is_unicode

Optional.

bg_visible

Optional.

drop_shadow_visible

Optional.

h_pad

Optional.

v_pad

Optional.

background_visible

Optional.

text_wrap

Optional.