123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380 |
- /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
- /* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is mozilla.org code.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 2001
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
- #include "nsISupports.idl"
- interface nsIDOMWindow;
- /**
- * This is the interface to the embeddable prompt service; the service that
- * implements nsIPrompt. Its interface is designed to be just nsIPrompt, each
- * method modified to take a parent window parameter.
- *
- * Accesskeys can be attached to buttons and checkboxes by inserting an &
- * before the accesskey character in the checkbox message or button title. For
- * a real &, use && instead. (A "button title" generally refers to the text
- * label of a button.)
- *
- * One note: in all cases, the parent window parameter can be null. However,
- * these windows are all intended to have parents. So when no parent is
- * specified, the implementation should try hard to find a suitable foster
- * parent.
- *
- * Implementations are free to choose how they present the various button
- * types. For example, while prompts that give the user a choice between OK
- * and Cancel are required to return a boolean value indicating whether or not
- * the user accepted the prompt (pressed OK) or rejected the prompt (pressed
- * Cancel), the implementation of this interface could very well speak the
- * prompt to the user instead of rendering any visual user-interface. The
- * standard button types are merely idioms used to convey the nature of the
- * choice the user is to make.
- *
- * Because implementations of this interface may loosely interpret the various
- * button types, it is advised that text messages passed to these prompts do
- * not refer to the button types by name. For example, it is inadvisable to
- * tell the user to "Press OK to proceed." Instead, such a prompt might be
- * rewritten to ask the user: "Would you like to proceed?"
- *
- * @status FROZEN
- */
- [scriptable, uuid(1630C61A-325E-49ca-8759-A31B16C47AA5)]
- interface nsIPromptService : nsISupports
- {
- /**
- * Puts up an alert dialog with an OK button.
- *
- * @param aParent
- * The parent window or null.
- * @param aDialogTitle
- * Text to appear in the title of the dialog.
- * @param aText
- * Text to appear in the body of the dialog.
- */
- void alert(in nsIDOMWindow aParent,
- in wstring aDialogTitle,
- in wstring aText);
- /**
- * Puts up an alert dialog with an OK button and a labeled checkbox.
- *
- * @param aParent
- * The parent window or null.
- * @param aDialogTitle
- * Text to appear in the title of the dialog.
- * @param aText
- * Text to appear in the body of the dialog.
- * @param aCheckMsg
- * Text to appear with the checkbox.
- * @param aCheckState
- * Contains the initial checked state of the checkbox when this method
- * is called and the final checked state after this method returns.
- */
- void alertCheck(in nsIDOMWindow aParent,
- in wstring aDialogTitle,
- in wstring aText,
- in wstring aCheckMsg,
- inout boolean aCheckState);
- /**
- * Puts up a dialog with OK and Cancel buttons.
- *
- * @param aParent
- * The parent window or null.
- * @param aDialogTitle
- * Text to appear in the title of the dialog.
- * @param aText
- * Text to appear in the body of the dialog.
- *
- * @return true for OK, false for Cancel
- */
- boolean confirm(in nsIDOMWindow aParent,
- in wstring aDialogTitle,
- in wstring aText);
- /**
- * Puts up a dialog with OK and Cancel buttons and a labeled checkbox.
- *
- * @param aParent
- * The parent window or null.
- * @param aDialogTitle
- * Text to appear in the title of the dialog.
- * @param aText
- * Text to appear in the body of the dialog.
- * @param aCheckMsg
- * Text to appear with the checkbox.
- * @param aCheckState
- * Contains the initial checked state of the checkbox when this method
- * is called and the final checked state after this method returns.
- *
- * @return true for OK, false for Cancel
- */
- boolean confirmCheck(in nsIDOMWindow aParent,
- in wstring aDialogTitle,
- in wstring aText,
- in wstring aCheckMsg,
- inout boolean aCheckState);
- /**
- * Button Flags
- *
- * The following flags are combined to form the aButtonFlags parameter passed
- * to confirmEx. See confirmEx for more information on how the flags may be
- * combined.
- */
-
- /**
- * Button Position Flags
- */
- const unsigned long BUTTON_POS_0 = 1;
- const unsigned long BUTTON_POS_1 = 1 << 8;
- const unsigned long BUTTON_POS_2 = 1 << 16;
-
- /**
- * Button Title Flags (used to set the labels of buttons in the prompt)
- */
- const unsigned long BUTTON_TITLE_OK = 1;
- const unsigned long BUTTON_TITLE_CANCEL = 2;
- const unsigned long BUTTON_TITLE_YES = 3;
- const unsigned long BUTTON_TITLE_NO = 4;
- const unsigned long BUTTON_TITLE_SAVE = 5;
- const unsigned long BUTTON_TITLE_DONT_SAVE = 6;
- const unsigned long BUTTON_TITLE_REVERT = 7;
- const unsigned long BUTTON_TITLE_IS_STRING = 127;
-
- /**
- * Button Default Flags (used to select which button is the default one)
- */
- const unsigned long BUTTON_POS_0_DEFAULT = 0;
- const unsigned long BUTTON_POS_1_DEFAULT = 1 << 24;
- const unsigned long BUTTON_POS_2_DEFAULT = 1 << 25;
- /**
- * Causes the buttons to be initially disabled. They are enabled after a
- * timeout expires. The implementation may interpret this loosely as the
- * intent is to ensure that the user does not click through a security dialog
- * too quickly. Strictly speaking, the implementation could choose to ignore
- * this flag.
- */
- const unsigned long BUTTON_DELAY_ENABLE = 1 << 26;
- /**
- * Selects the standard set of OK/Cancel buttons.
- */
- const unsigned long STD_OK_CANCEL_BUTTONS = (BUTTON_TITLE_OK * BUTTON_POS_0) +
- (BUTTON_TITLE_CANCEL * BUTTON_POS_1);
- /**
- * Selects the standard set of Yes/No buttons.
- */
- const unsigned long STD_YES_NO_BUTTONS = (BUTTON_TITLE_YES * BUTTON_POS_0) +
- (BUTTON_TITLE_NO * BUTTON_POS_1);
- /**
- * Puts up a dialog with up to 3 buttons and an optional, labeled checkbox.
- *
- * @param aParent
- * The parent window or null.
- * @param aDialogTitle
- * Text to appear in the title of the dialog.
- * @param aText
- * Text to appear in the body of the dialog.
- * @param aButtonFlags
- * A combination of Button Flags.
- * @param aButton0Title
- * Used when button 0 uses TITLE_IS_STRING
- * @param aButton1Title
- * Used when button 1 uses TITLE_IS_STRING
- * @param aButton2Title
- * Used when button 2 uses TITLE_IS_STRING
- * @param aCheckMsg
- * Text to appear with the checkbox. Null if no checkbox.
- * @param aCheckState
- * Contains the initial checked state of the checkbox when this method
- * is called and the final checked state after this method returns.
- *
- * @return index of the button pressed.
- *
- * Buttons are numbered 0 - 2. The implementation can decide whether the
- * sequence goes from right to left or left to right. Button 0 is the
- * default button unless one of the Button Default Flags is specified.
- *
- * A button may use a predefined title, specified by one of the Button Title
- * Flags values. Each title value can be multiplied by a position value to
- * assign the title to a particular button. If BUTTON_TITLE_IS_STRING is
- * used for a button, the string parameter for that button will be used. If
- * the value for a button position is zero, the button will not be shown.
- *
- * In general, aButtonFlags is constructed per the following example:
- *
- * aButtonFlags = (BUTTON_POS_0) * (BUTTON_TITLE_AAA) +
- * (BUTTON_POS_1) * (BUTTON_TITLE_BBB) +
- * BUTTON_POS_1_DEFAULT;
- *
- * where "AAA" and "BBB" correspond to one of the button titles.
- */
- PRInt32 confirmEx(in nsIDOMWindow aParent,
- in wstring aDialogTitle,
- in wstring aText,
- in unsigned long aButtonFlags,
- in wstring aButton0Title,
- in wstring aButton1Title,
- in wstring aButton2Title,
- in wstring aCheckMsg,
- inout boolean aCheckState);
- /**
- * Puts up a dialog with an edit field and an optional, labeled checkbox.
- *
- * @param aParent
- * The parent window or null.
- * @param aDialogTitle
- * Text to appear in the title of the dialog.
- * @param aText
- * Text to appear in the body of the dialog.
- * @param aValue
- * Contains the default value for the dialog field when this method
- * is called (null value is ok). Upon return, if the user pressed
- * OK, then this parameter contains a newly allocated string value.
- * Otherwise, the parameter's value is unmodified.
- * @param aCheckMsg
- * Text to appear with the checkbox. If null, check box will not be shown.
- * @param aCheckState
- * Contains the initial checked state of the checkbox when this method
- * is called and the final checked state after this method returns.
- *
- * @return true for OK, false for Cancel.
- */
- boolean prompt(in nsIDOMWindow aParent,
- in wstring aDialogTitle,
- in wstring aText,
- inout wstring aValue,
- in wstring aCheckMsg,
- inout boolean aCheckState);
- /**
- * Puts up a dialog with an edit field, a password field, and an optional,
- * labeled checkbox.
- *
- * @param aParent
- * The parent window or null.
- * @param aDialogTitle
- * Text to appear in the title of the dialog.
- * @param aText
- * Text to appear in the body of the dialog.
- * @param aUsername
- * Contains the default value for the username field when this method
- * is called (null value is ok). Upon return, if the user pressed OK,
- * then this parameter contains a newly allocated string value.
- * Otherwise, the parameter's value is unmodified.
- * @param aPassword
- * Contains the default value for the password field when this method
- * is called (null value is ok). Upon return, if the user pressed OK,
- * then this parameter contains a newly allocated string value.
- * Otherwise, the parameter's value is unmodified.
- * @param aCheckMsg
- * Text to appear with the checkbox. If null, check box will not be shown.
- * @param aCheckState
- * Contains the initial checked state of the checkbox when this method
- * is called and the final checked state after this method returns.
- *
- * @return true for OK, false for Cancel.
- */
- boolean promptUsernameAndPassword(in nsIDOMWindow aParent,
- in wstring aDialogTitle,
- in wstring aText,
- inout wstring aUsername,
- inout wstring aPassword,
- in wstring aCheckMsg,
- inout boolean aCheckState);
- /**
- * Puts up a dialog with a password field and an optional, labeled checkbox.
- *
- * @param aParent
- * The parent window or null.
- * @param aDialogTitle
- * Text to appear in the title of the dialog.
- * @param aText
- * Text to appear in the body of the dialog.
- * @param aPassword
- * Contains the default value for the password field when this method
- * is called (null value is ok). Upon return, if the user pressed OK,
- * then this parameter contains a newly allocated string value.
- * Otherwise, the parameter's value is unmodified.
- * @param aCheckMsg
- * Text to appear with the checkbox. If null, check box will not be shown.
- * @param aCheckState
- * Contains the initial checked state of the checkbox when this method
- * is called and the final checked state after this method returns.
- *
- * @return true for OK, false for Cancel.
- */
- boolean promptPassword(in nsIDOMWindow aParent,
- in wstring aDialogTitle,
- in wstring aText,
- inout wstring aPassword,
- in wstring aCheckMsg,
- inout boolean aCheckState);
- /**
- * Puts up a dialog box which has a list box of strings from which the user
- * may make a single selection.
- *
- * @param aParent
- * The parent window or null.
- * @param aDialogTitle
- * Text to appear in the title of the dialog.
- * @param aText
- * Text to appear in the body of the dialog.
- * @param aCount
- * The length of the aSelectList array parameter.
- * @param aSelectList
- * The list of strings to display.
- * @param aOutSelection
- * Contains the index of the selected item in the list when this
- * method returns true.
- *
- * @return true for OK, false for Cancel.
- */
- boolean select(in nsIDOMWindow aParent,
- in wstring aDialogTitle,
- in wstring aText,
- in PRUint32 aCount,
- [array, size_is(aCount)] in wstring aSelectList,
- out long aOutSelection);
- };
|