/* -*- 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" [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); };