Difference between revisions of "Skinning How To/Edit a menu"

From Second Life Wiki
Jump to navigation Jump to search
Line 22: Line 22:
== Menu files ==
== Menu files ==


Viewer menu: '''menu_viewer.xml'''<br>
* Viewer menu: '''menu_viewer.xml'''
Inventory menu: '''floater_inventory.xml'''<br>
* Inventory menu: '''floater_inventory.xml'''
Inventory item menu when right clicked: '''menu_inventory.xml'''<br>
* Inventory item menu when right clicked: '''menu_inventory.xml'''
Landmark menu when right clicked: '''menu_slurl.xml'''<br>
* Landmark menu when right clicked: '''menu_slurl.xml'''
Menu at the login screen: '''menu_login.xml'''<br>
* Menu at the login screen: '''menu_login.xml'''
Pie menu when you right click:
* Pie menu when you right click:
* An object: '''menu_pie_object.xml'''
** An object: '''menu_pie_object.xml'''
* Yourself: '''menu_pie_self.xml'''
** Yourself: '''menu_pie_self.xml'''
* Land: '''menu_pie_land.xml'''
** Land: '''menu_pie_land.xml'''
* Someone else: '''menu_pie_avatar.xml'''
** Someone else: '''menu_pie_avatar.xml'''
* An attachment: '''menu_pie_attachment.xml'''
** An attachment: '''menu_pie_attachment.xml'''


= Tags =
= Tags =

Revision as of 17:01, 16 May 2008

Introduction

  • All viewer menu options are set in menu_viewer.xml except for the Advanced/Admin menus (see VWR-2896).
  • Width/height/bottom/left/top are irrelevant in the menu files. The viewer constructs menus based on the xml file's organization and ignores these parameters.
  • Example menu structure:
<menu>
     <menu_item_call>
          <on_click>
     </menu_item_call>
     <menu> 
          <menu_item_check> 
               <on_check>
          </menu_item_check>
          <menu_item_call> 
               <on_click>
               <on_enable>
          </menu_item_call>
     </menu>
</menu>

Menu files

  • Viewer menu: menu_viewer.xml
  • Inventory menu: floater_inventory.xml
  • Inventory item menu when right clicked: menu_inventory.xml
  • Landmark menu when right clicked: menu_slurl.xml
  • Menu at the login screen: menu_login.xml
  • Pie menu when you right click:
    • An object: menu_pie_object.xml
    • Yourself: menu_pie_self.xml
    • Land: menu_pie_land.xml
    • Someone else: menu_pie_avatar.xml
    • An attachment: menu_pie_attachment.xml

Tags

<menu>

Top level menu. Flyout menu when nested.

<menu_bar>

<menu_item_call>

Menu item that tells the viewer to execute a specific function.

<on_click>

Nested in a menu item. Sets the function when clicked.

<on_enable>

Nested in a menu item. Sets the function when option is enabled.

<menu_item_separator>

Draws a separator between menu options.

<menu_item_check>

Menu item that toggles whether something is active or inactive (set via an X next to the name).

<on_check>

Nested in a menu item. Sets the function when checked.

<tearoff_menu>

Does nothing. Assumed to be a legacy setting.


Parameters

enabled

Sets whether or not a menu is enabled or not. Use in <menu>. Boolean: enabled="true"

label

Sets the name the user sees. Necessary for <menu> and menu items. String: label="Awesome Menu"

name

Sets the name the viewer sees. Necessary for <menu> and menu items. String: name="MenuAwesome"

  • Changing the name of the Tools menu will make it not auto-hide.

tear_off

Optional. Sets whether or not the menu can be torn off (the double bars at the top of a menu). Use in <menu>. Boolean: tear_off="true"

opaque

Optional. Sets whether or not the menu is opaque (setting a stop level menu to false will turn the entire menu transparent unless torn off and reattached. Setting the menu bar to false will turn it transparent per settings in colors.xml). Use in <menu>. Boolean: opaque="true"

mouse_opaque

drop_shadow

create_jump_keys

userdata

Optional. Any data sent to the function. Use in <on_click>, etc. String: userdata="800,600"

function

Associates a function with a menu item and action. Use in <on_click>, etc. String: function="Tools.SelectedScriptAction"

shortcut

Optional. Sets the keyboard shortcut for a menu item. Each key is separated by pipes. String: shortcut="control|alt|T"

Changing a menu

  • If you're adding a shortcut, make sure it isn't used by another item first.
  • Renaming a menu or menu item is fine as long as it calls a working function.
  • Any number of top level menus, flyout menus, and menu items can be set.
  • Don't worry about width/height/bottom/left/top. As said in the intro, these don't do anything anymore.
  • If you want to create a new menu item that doesn't call an existing function, you need to edit the source as well. See Adding_a_menu_item for a start.