gecko-dev/widget/nsIPrintDialogService.idl

67 строки
2.6 KiB
Plaintext

/* -*- Mode: C++; tab-width: 2; 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/. */
/* Doc interface here */
#include "nsISupports.idl"
#include "nsIWebProgressListener.idl"
#include "nsIPrintSettings.idl"
#include "nsIObserver.idl"
interface mozIDOMWindowProxy;
/**
* Service for opening native print dialogs provided by the operating system.
* (The widget code may customize the dialog.)
*/
[scriptable, uuid(88af6712-a9fd-4393-9af3-3ffbb1f2caaf)]
interface nsIPrintDialogService : nsISupports
{
/**
* Initialize the service.
*/
void init();
/**
* Show the print dialog.
* @param aParent A DOM window the dialog will be parented to.
* @param aHaveSelection A boolean indicating whether the document to be
* printed has some selected text, which is used to
* determine whether the "Print selection only" radio
* button is enabled in the print settings dialog.
* @param aSettings On entry, this contains initial settings for the
* print dialog. On return, if the print operation should
* proceed, then this has been updated with the settings
* that the user selected in the dialog.
* @return NS_OK if the print operation should proceed
* @return NS_ERROR_ABORT if the user indicated not to proceed
* @return a suitable error for failures to show the print dialog.
*/
void showPrintDialog(in mozIDOMWindowProxy aParent,
in boolean aHaveSelection,
in nsIPrintSettings aPrintSettings);
/**
* Show the page setup dialog. Note that there is no way to tell whether the
* user clicked OK or Cancel on the dialog.
* @param aParent A DOM window the dialog will be parented to.
* @param aSettings On entry, this contains initial settings for the
* page setup dialog. On return, if the dialog wasn't
* cancelled, then this has been updated with the settings
* that the user selected in the dialog.
*/
void showPageSetupDialog(in mozIDOMWindowProxy aParent,
in nsIPrintSettings aPrintSettings);
};
%{C++
#define NS_PRINTDIALOGSERVICE_IID \
{0x88af6712, 0xa9fd, 0x4393, { 0x9a, 0xf3, 0x3f, 0xfb, 0xb1, 0xf2, 0xca, 0xaf}}
#define NS_PRINTDIALOGSERVICE_CONTRACTID \
("@mozilla.org/widget/printdialog-service;1")
%}