diff options
Diffstat (limited to 'dom/xul/nsIController.idl')
-rw-r--r-- | dom/xul/nsIController.idl | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/dom/xul/nsIController.idl b/dom/xul/nsIController.idl new file mode 100644 index 000000000..ace5374a0 --- /dev/null +++ b/dom/xul/nsIController.idl @@ -0,0 +1,64 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* 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/. */ + +#include "nsISupports.idl" + +[scriptable, uuid(D5B61B82-1DA4-11d3-BF87-00105A1B0627)] +interface nsIController : nsISupports { + boolean isCommandEnabled(in string command); + boolean supportsCommand(in string command); + + void doCommand(in string command); + + void onEvent(in string eventName); +}; + + +/* + + Enhanced controller interface that allows for passing of parameters + to commands. + +*/ + +interface nsICommandParams; + +[scriptable, uuid(EEC0B435-7F53-44FE-B00A-CF3EED65C01A)] +interface nsICommandController : nsISupports +{ + + void getCommandStateWithParams( in string command, in nsICommandParams aCommandParams); + + void doCommandWithParams(in string command, in nsICommandParams aCommandParams); + + void getSupportedCommands(out unsigned long count, + [array, size_is(count), retval] out string commands); +}; + + +/* + An API for registering commands in groups, to allow for + updating via nsIDOMWindow::UpdateCommands. +*/ +interface nsISimpleEnumerator; + +[scriptable, uuid(9F82C404-1C7B-11D5-A73C-ECA43CA836FC)] +interface nsIControllerCommandGroup : nsISupports +{ + + void addCommandToGroup(in string aCommand, in string aGroup); + void removeCommandFromGroup(in string aCommand, in string aGroup); + + boolean isCommandInGroup(in string aCommand, in string aGroup); + + /* + We should expose some methods that allow for enumeration. + */ + nsISimpleEnumerator getGroupsEnumerator(); + + nsISimpleEnumerator getEnumeratorForGroup(in string aGroup); + +}; + |