gecko-dev/editor/nsIEditorStyleSheets.idl

94 lines
3.4 KiB
Plaintext
Raw Normal View History

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2012-05-21 11:12:37 +00:00
/* 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++
namespace mozilla {
class CSSStyleSheet;
} // namespace mozilla
%}
[ptr] native CSSStyleSheet(mozilla::CSSStyleSheet);
[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 CSSStyleSheet associated with the given URL.
*
* @param aURL The style sheet's URL
* @return the style sheet
*/
[noscript] CSSStyleSheet getStyleSheetForURL(in AString aURL);
/** Get the URL associated with the given CSSStyleSheet.
*
* @param aStyleSheet The style sheet
* @return the style sheet's URL
*/
[noscript] AString getURLForStyleSheet(in CSSStyleSheet aStyleSheet);
};