2012-05-21 15:12:37 +04:00
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
2010-02-08 06:38:14 +03:00
|
|
|
|
|
|
|
#include "nsISupports.idl"
|
|
|
|
|
|
|
|
interface nsIDOMElement;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Platform-independent interface to platform native menu objects.
|
|
|
|
*/
|
|
|
|
|
|
|
|
[scriptable, uuid(7F7201EB-510C-4CEF-BDF0-04A15A7A4A8C)]
|
|
|
|
interface nsIStandaloneNativeMenu : nsISupports
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Initialize the native menu using given XUL DOM element.
|
|
|
|
*
|
|
|
|
* @param aDOMElement A XUL DOM element of tag type |menu| or |menupopup|.
|
|
|
|
*/
|
|
|
|
void init(in nsIDOMElement aDOMElement);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This method must be called before the menu is opened and displayed to the
|
|
|
|
* user. It allows the platform code to update the menu and also determine
|
|
|
|
* whether the menu should even be shown.
|
|
|
|
*
|
|
|
|
* @return true if the menu can be shown, false if it should not be shown
|
|
|
|
*/
|
|
|
|
boolean menuWillOpen();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The native object representing the XUL menu that was passed to Init(). On
|
|
|
|
* Mac OS X, this will be a NSMenu pointer, which will be retained and
|
|
|
|
* autoreleased when the attribute is retrieved.
|
|
|
|
*/
|
|
|
|
[noscript] readonly attribute voidPtr nativeMenu;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Activate the native menu item specified by |anIndexString|. This method
|
|
|
|
* is intended to be used by the test suite.
|
|
|
|
*
|
|
|
|
* @param anIndexString string containing a list of indices separated by
|
|
|
|
* pipe ('|') characters
|
|
|
|
*/
|
|
|
|
void activateNativeMenuItemAt(in AString anIndexString);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Force an update of the native menu item specified by |anIndexString|. This
|
|
|
|
* method is intended to be used by the test suite.
|
|
|
|
*
|
|
|
|
* @param anIndexString string containing a list of indices separated by
|
|
|
|
* pipe ('|') characters
|
|
|
|
*/
|
|
|
|
void forceUpdateNativeMenuAt(in AString anIndexString);
|
|
|
|
};
|