gecko-dev/xpfe/appshell/public/nsICommonDialogs.idl

159 строки
6.4 KiB
Plaintext

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Netscape 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/NPL/
*
* 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) 1998
* 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 NPL, 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 NPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#include "nsISupports.idl"
#include "nsIDialogParamBlock.idl"
%{C++
class nsIFactory;
#define NS_CommonDialog_CID \
{ 0xc01ad084, 0x4915, 0x11d3, { 0xb7, 0xa0, 0x85, 0xcf, 0x55, 0xc3, 0x52, 0x3c } }
%}
interface nsIDOMWindowInternal;
[scriptable, uuid(c01ad082-4915-11d3-b7a0-85cf55c3523c)]
interface nsICommonDialogs : nsISupports
{
%{C++
enum { eMsg =0, eCheckboxMsg =1, eIconURL =2 , eTitleMessage =3, eEditfield1Msg =4, eEditfield2Msg =5, eEditfield1Value = 6, eEditfield2Value = 7,
eButton0Text = 8, eButton1Text = 9, eButton2Text =10, eButton3Text = 11,eDialogTitle = 12 };
enum { eButtonPressed = 0, eCheckboxState = 1, eNumberButtons = 2, eNumberEditfields =3, eEditField1Password =4 };
%}
/**
* Puts up an alert dialog with an OK button.
*/
void Alert(in nsIDOMWindowInternal inParent, in wstring inDialogTitle, in wstring inMsg);
/**
* Puts up a dialog with OK button, and
* a message with a single checkbox.
* @return the value of the checkbox.
*/
void AlertCheck(in nsIDOMWindowInternal inParent, in wstring inDialogTitle, in wstring inMsg,
in wstring inCheckMsg, inout boolean outCheckValue);
/**
* Puts up a dialog with OK and Cancel buttons.
* @return true for OK, false for Cancel
*/
boolean Confirm(in nsIDOMWindowInternal inParent, in wstring inDialogTitle, in wstring inMsg);
/**
* Puts up a dialog with OK and Cancel buttons, and
* a message with a single checkbox.
* @return true for OK, false for Cancel
*/
boolean ConfirmCheck(in nsIDOMWindowInternal inParent, in wstring inDialogTitle, in wstring inMsg,
in wstring inCheckMsg,
inout boolean outCheckValue);
/**
* Puts up a text input dialog with OK and Cancel buttons.
* @return true for OK, false for Cancel
*/
boolean Prompt(in nsIDOMWindowInternal inParent,in wstring inDialogTitle, in wstring inMsg,
in wstring inDefaultText,
out wstring result);
/**
* Puts up a username/password dialog with OK and Cancel buttons.
* @return true for OK, false for Cancel
*/
boolean PromptUsernameAndPassword(in nsIDOMWindowInternal inParent,
in wstring inDialogTitle,
in wstring inMsg,
out wstring outUser,
out wstring outPassword);
/**
* Puts up a password dialog with OK and Cancel buttons.
* @return true for OK, false for Cancel
*/
boolean PromptPassword( in nsIDOMWindowInternal inParent,
in wstring inDialogTitle,
in wstring inMsg,
out wstring outPassword);
/*
Puts up a dialog box which has a list box of strings. return true/false for OK/Cancel
*/
boolean Select( in nsIDOMWindowInternal inParent,
in wstring inDialogTitle,
in wstring inMsg,
in PRUint32 inCount,
[array,size_is(inCount) ] in wstring inList,
out long outSelection );
/**
* Put up a universal dialog
*/
void UniversalDialog
(in nsIDOMWindowInternal inParent,
in wstring inTitleMessage,
in wstring inDialogTitle, /* e.g., alert, confirm, prompt, prompt password */
in wstring inMsg, /* main message for dialog */
in wstring inCheckboxMsg, /* message for checkbox */
in wstring inButton0Text, /* text for first button */
in wstring inButton1Text, /* text for second button */
in wstring inButton2Text, /* text for third button */
in wstring inButton3Text, /* text for fourth button */
in wstring inEditfield1Msg, /*message for first edit field */
in wstring inEditfield2Msg, /* message for second edit field */
inout wstring inEditfield1Value, /* initial and final value for first edit field */
inout wstring inEditfield2Value, /* initial and final value for second edit field */
in wstring inIConURL, /* url of icon to be displayed in dialog */
inout boolean outCheckboxState, /* initial and final state of check box */
in PRInt32 inNumberButtons, /* total number of buttons (0 to 4) */
in PRInt32 inNumberEditfields, /* total number of edit fields (0 to 2) */
in PRInt32 inEditField1Password, /* is first edit field a password field */
out PRInt32 outButtonPressed); /* number of button that was pressed (0 to 3) */
/*
Core Dialog function
*/
void DoDialog(in nsIDOMWindowInternal inParent, in nsIDialogParamBlock ioParamBlock, in string inChromeURL );
};
%{C++
extern nsresult NS_NewCommonDialogsFactory(nsIFactory** aResult);
%}