gecko/editor/idl/nsIEditorStyleSheets.idl
2012-05-21 12:12:37 +01:00

92 lines
3.3 KiB
Plaintext

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* 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/. */
#include "nsISupports.idl"
%{C++
class nsCSSStyleSheet;
%}
[ptr] native nsCSSStyleSheet(nsCSSStyleSheet);
[scriptable, uuid(4805e682-49b9-11d3-9ce4-ed60bd6cb5bc)]
interface nsIEditorStyleSheets : nsISupports
{
/** Load and apply the style sheet, specified by aURL, to the
* editor's document, replacing the last style sheet added (if any).
* This is always asynchronous, and may cause network I/O.
*
* @param aURL The style sheet to be loaded and applied.
*/
void replaceStyleSheet(in AString aURL);
/** Add the given style sheet to the editor's document,
* on top of any that are already there.
* This is always asynchronous, and may cause network I/O.
*
* @param aURL The style sheet to be loaded and applied.
*/
void addStyleSheet(in AString aURL);
/** Load and apply the override style sheet, specified by aURL, to the
* editor's document, replacing the last override style sheet added (if any).
* This is always synchronous, so aURL should be a local file with only
* local @imports. This action is not undoable. It is not intended for
* "user" style sheets, only for editor developers to add sheets to change
* display behavior for editing (like showing special cursors) that will
* not be affected by loading "document" style sheets with addStyleSheet or
* especially replaceStyleSheet.
*
* @param aURL The style sheet to be loaded and applied.
*/
void replaceOverrideStyleSheet(in AString aURL);
/** Load and apply an override style sheet, specified by aURL, to
* the editor's document, on top of any that are already there.
* This is always synchronous, so the same caveats about local files and no
* non-local @import as replaceOverrideStyleSheet apply here, too.
*
* @param aURL The style sheet to be loaded and applied.
*/
void addOverrideStyleSheet(in AString aURL);
/** Remove the given style sheet from the editor's document
* This is always synchronous
*
* @param aURL The style sheet to be removed
*/
void removeStyleSheet(in AString aURL);
/** Remove the given override style sheet from the editor's document
* This is always synchronous
*
* @param aURL The style sheet to be removed.
*/
void removeOverrideStyleSheet(in AString aURL);
/** Enable or disable the given style sheet from the editor's document
* This is always synchronous
*
* @param aURL The style sheet to be enabled or disabled
* @param aEnable true to enable, or false to disable the style sheet
*/
void enableStyleSheet(in AString aURL, in boolean aEnable);
/** Get the nsCSSStyleSheet associated with the given URL.
*
* @param aURL The style sheet's URL
* @return the style sheet
*/
[noscript] nsCSSStyleSheet getStyleSheetForURL(in AString aURL);
/** Get the URL associated with the given nsCSSStyleSheet.
*
* @param aStyleSheet The style sheet
* @return the style sheet's URL
*/
[noscript] AString getURLForStyleSheet(in nsCSSStyleSheet aStyleSheet);
};