Difference between revisions of "Skinning How To/Hardcoded limits in the xml files"

From Second Life Wiki
Jump to navigation Jump to search
Line 5: Line 5:
= panel_toolbar.xml =
= panel_toolbar.xml =


Opening lltoolbar.cpp, we can see that the toolbar width is hardcoded to display horizontally across the bottom of the screen ([http://jira.secondlife.com/browse/VWR-6941 VWR-6941]). This means that toolbars that don't span the entire length of the screen will not display correctly, as their width settings will be altered by a constant in lltoolbar.cpp. Furthermore, it also means that the viewer has no support for vertical toolbars, or toolbars that don't span the entire length of the screen. This can be hacked around somewhat, but is messy.  
Opening lltoolbar.cpp, we can see that the toolbar width is hardcoded to display horizontally across the bottom of the screen ([http://jira.secondlife.com/browse/VWR-6941 VWR-6941]). This means that toolbars that don't span the entire length of the screen will not display correctly, as their width settings will be altered by a constant in lltoolbar.cpp. This also means that the viewer has no support for vertical toolbars, or toolbars that don't span the entire length of the screen, or toolbars not aligned to the lower left. This can be hacked around somewhat, but is messy.  


Likewise, the button positioning is ignored by the viewer. Setting left or right values for toolbar buttons will have no effect, and the only way to alter button positions is through the use of spacers, which unfortunately often display incorrectly (again due to the toolbar's width being influenced by a hardcoded constant).
Likewise, the button positioning is ignored by the viewer. Setting left or right values for toolbar buttons will have no effect, and the only way to alter button positions is through the use of spacers, which unfortunately also display incorrectly (again due to the toolbar's width being influenced by a hardcoded constant). There is no workaround for this, unfortunately.


= panel_chat_bar.xml =
= panel_chat_bar.xml =

Revision as of 14:57, 28 April 2008

What is a hardcoded limit?

A hardcoded limit is a limit on functionality by design. This is a list of hard coded limits in the current XUI implementation that limit just what a viewer skin can do. All of these are specific limitations that exist within the way the viewer handles certain elements of the user interface. This page is for addressing shortcomings in the current xml files, and should not be confused with the need for a fully scriptable interface.

panel_toolbar.xml

Opening lltoolbar.cpp, we can see that the toolbar width is hardcoded to display horizontally across the bottom of the screen (VWR-6941). This means that toolbars that don't span the entire length of the screen will not display correctly, as their width settings will be altered by a constant in lltoolbar.cpp. This also means that the viewer has no support for vertical toolbars, or toolbars that don't span the entire length of the screen, or toolbars not aligned to the lower left. This can be hacked around somewhat, but is messy.

Likewise, the button positioning is ignored by the viewer. Setting left or right values for toolbar buttons will have no effect, and the only way to alter button positions is through the use of spacers, which unfortunately also display incorrectly (again due to the toolbar's width being influenced by a hardcoded constant). There is no workaround for this, unfortunately.

panel_chat_bar.xml

The chatbar cannot be moved from its current position (VWR-6937). Regardless of where the position is set in panel_chat_bar.xml, or where the toolbar is located, the chatbar is coded to display at only one location.

  • panel_voice_controls.xml and panel_media_controls.xml have this same problem.

color_base.xml

Certain elements of the viewer cannot be specifically colored due to dependencies. These are:

  • Background color of the inventory. This is controlled by FocusBackgroundColor and DefaultBackgroundColor. In other words, changing the background color of your inventory will change the color of floaters, and vice versa.
  • Text of the pie menu, inventory, and menus. All three are controlled by MenuItemDisabledColor and MenuItemEnabledColor and cannot be individually changed, even though their backgrounds can be set to different colors.