Source code
Revision control
Copy as Markdown
Other Tools
/* -*- 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
/* 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);
};