« Documentation Home

MenuItem.parent

This documentation relates to Opera's now deprecated .oex Extension API framework for Opera versions <= 12.15 and also provided by our OEX2NEX shim library.

For the latest Opera Extensions API documentation for Opera versions > 12.15 please consult the latest Opera Extensions API documentation online.

Description:

The read-only parent attribute is the parent object on which the current context menu item resides. By default, and on object creation, this attribute is set to null.

Syntax:

readonly MenuContext parent

Example:

The following example creates a main menu item and two sub-menu items. The sub-menu items refer to the parent object to set their icons.

<!-- 
  The configuration file ('config.xml').
-->
<?xml version='1.0' encoding='utf-8'?>
<widget xmlns="http://www.w3.org/ns/widgets">
    ...
    <feature name="opera:contextmenus"/>
    ...
</widget>
//
// The background process (e.g. index.html)
//

if (opera.contexts.menu) {
  var menu = opera.contexts.menu;
  
  // Create menu item properties objects
  var itemProps = {
    title: 'Translate this page',
    icon: 'images/translate.png',
    type: 'folder'
  }
  var itemPropsEnglish = {
    title: 'English',
    onclick: function(event) {
      doTranslate(event.pageURL, 'English');
    }
  };
  var itemPropsJapanese = {
    title: 'Japanese',
    onclick: function(event) {
      doTranslate(event.pageURL, 'Japanese');
    }
  };

  // Create menu items with the specified properties
  var item = menu.createItem(itemProps);
  var itemEnglish = menu.createItem(itemPropsEnglish);
  var itemJapanese = menu.createItem(itemPropsJapanese);
  
  // Add the menu item to the context menu
  menu.addItem(item);
  // Add the sub-menu items to the main menu item, with the same icon
  item.addItem(itemEnglish);
  item.addItem(itemJapanese);
  itemEnglish.icon = itemEnglish.parent.icon;
  itemJapanese.icon = itemJapanese.parent.icon;
}