2001-09-25 01:32:19 +00:00
|
|
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
2012-05-21 11:12:37 +00: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/. */
|
1999-06-08 21:58:32 +00:00
|
|
|
|
|
|
|
#include "nsISupports.idl"
|
|
|
|
|
|
|
|
[scriptable, uuid(D5B61B82-1DA4-11d3-BF87-00105A1B0627)]
|
|
|
|
interface nsIController : nsISupports {
|
2014-12-09 15:48:27 +00:00
|
|
|
boolean isCommandEnabled(in string command);
|
|
|
|
boolean supportsCommand(in string command);
|
1999-10-14 10:58:25 +00:00
|
|
|
|
2014-12-09 15:48:27 +00:00
|
|
|
void doCommand(in string command);
|
1999-11-04 01:59:04 +00:00
|
|
|
|
2014-12-09 15:48:27 +00:00
|
|
|
void onEvent(in string eventName);
|
1999-06-08 21:58:32 +00:00
|
|
|
};
|
2002-02-02 05:13:56 +00:00
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
|
|
|
Enhanced controller interface that allows for passing of parameters
|
|
|
|
to commands.
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
interface nsICommandParams;
|
|
|
|
|
2014-12-09 15:48:27 +00:00
|
|
|
[scriptable, uuid(EEC0B435-7F53-44FE-B00A-CF3EED65C01A)]
|
2002-02-02 05:13:56 +00:00
|
|
|
interface nsICommandController : nsISupports
|
|
|
|
{
|
|
|
|
|
2002-09-12 19:10:32 +00:00
|
|
|
void getCommandStateWithParams( in string command, in nsICommandParams aCommandParams);
|
2002-02-02 05:13:56 +00:00
|
|
|
|
2002-09-12 19:10:32 +00:00
|
|
|
void doCommandWithParams(in string command, in nsICommandParams aCommandParams);
|
2002-02-02 05:13:56 +00:00
|
|
|
|
2014-12-09 15:48:27 +00:00
|
|
|
void getSupportedCommands(out unsigned long count,
|
|
|
|
[array, size_is(count), retval] out string commands);
|
2002-02-02 05:13:56 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
An API for registering commands in groups, to allow for
|
2011-07-15 10:31:34 +00:00
|
|
|
updating via nsIDOMWindow::UpdateCommands.
|
2002-02-02 05:13:56 +00:00
|
|
|
*/
|
|
|
|
interface nsISimpleEnumerator;
|
|
|
|
|
|
|
|
[scriptable, uuid(9F82C404-1C7B-11D5-A73C-ECA43CA836FC)]
|
|
|
|
interface nsIControllerCommandGroup : nsISupports
|
|
|
|
{
|
|
|
|
|
2002-07-15 22:04:13 +00:00
|
|
|
void addCommandToGroup(in string aCommand, in string aGroup);
|
|
|
|
void removeCommandFromGroup(in string aCommand, in string aGroup);
|
2002-02-02 05:13:56 +00:00
|
|
|
|
2002-07-15 22:04:13 +00:00
|
|
|
boolean isCommandInGroup(in string aCommand, in string aGroup);
|
2002-02-02 05:13:56 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
We should expose some methods that allow for enumeration.
|
|
|
|
*/
|
|
|
|
nsISimpleEnumerator getGroupsEnumerator();
|
|
|
|
|
2002-07-15 22:04:13 +00:00
|
|
|
nsISimpleEnumerator getEnumeratorForGroup(in string aGroup);
|
2002-02-02 05:13:56 +00:00
|
|
|
|
|
|
|
};
|
|
|
|
|