DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (5b81998bb7ab)

VCS Links

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
/* -*- 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);
};