/* ***** BEGIN LICENCE BLOCK *****
 * Version: MPL 2.0
 *
 * 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/.
 * 
 * Software distributed under the License is distributed on an "AS IS"
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
 * the License for the specific language governing rights and limitations
 * under the License.
 * 
 * The Original Code is Celtx Script Manager.
 * 
 * The Initial Developer of the Original Code is 4067479 Canada Inc.
 * t/a CELTX.
 * 
 * Portions created by Celtx are Copyright (C) 4067479 Canada Inc. All
 * Rights Reserved.
 * 
 * Contributor(s):
 *
 ***** END LICENCE BLOCK ***** */

#include "nsISupports.idl"

interface nsIDOMNode;
interface nsIDOMElement;
interface nsIDOMDocument;
interface nsIDocShell;

[scriptable, uuid(5bb52751-34c3-4fbd-8262-15e32ee377c5)]
interface nsIScriptEditor : nsISupports
{
  readonly attribute nsIDOMDocument contentDocument;
  readonly attribute nsIDocShell docShell;
  readonly attribute long modificationCount;
  readonly attribute boolean isLocked;
  readonly attribute boolean scenesLocked;
  readonly attribute long revisionNumber;

  void beginTransaction ();
  void endTransaction ();

  void lockScript ();
  void unlockScript ();

  void incrementRevisionNumber ();

  nsIDOMElement sceneContaining (in nsIDOMNode aNode);
};
