2000-01-14 07:23:38 +03:00
|
|
|
/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
|
|
*
|
|
|
|
* The contents of this file are subject to the Mozilla Public
|
|
|
|
* License Version 1.1 (the "License"); you may not use this file
|
|
|
|
* except in compliance with the License. You may obtain a copy of
|
|
|
|
* the License at http://www.mozilla.org/MPL/
|
|
|
|
*
|
|
|
|
* 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 the Mozilla browser.
|
|
|
|
*
|
|
|
|
* The Initial Developer of the Original Code is Netscape
|
|
|
|
* Communications, Inc. Portions created by Netscape are
|
|
|
|
* Copyright (C) 1999, Mozilla. All Rights Reserved.
|
|
|
|
*
|
|
|
|
* Contributor(s):
|
|
|
|
* Travis Bogard <travis@netscape.com>
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "nsISupports.idl"
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The nsIXULWindow
|
|
|
|
*/
|
|
|
|
|
2000-01-22 06:13:20 +03:00
|
|
|
interface nsIDocShell;
|
|
|
|
interface nsIDocShellTreeItem;
|
|
|
|
|
2000-01-14 07:23:38 +03:00
|
|
|
[scriptable, uuid(D9CB00E0-CA39-11d3-B029-00A024FFC08C)]
|
|
|
|
interface nsIXULWindow : nsISupports
|
|
|
|
{
|
2001-11-06 04:19:39 +03:00
|
|
|
/**
|
|
|
|
The docshell owning the XUL for this window.
|
|
|
|
*/
|
|
|
|
readonly attribute nsIDocShell docShell;
|
2000-01-22 06:13:20 +03:00
|
|
|
|
2001-11-06 04:19:39 +03:00
|
|
|
/**
|
|
|
|
Indicates if this window is instrinsically sized.
|
|
|
|
*/
|
|
|
|
attribute boolean intrinsicallySized;
|
2000-02-14 09:10:52 +03:00
|
|
|
|
2001-11-06 04:19:39 +03:00
|
|
|
/**
|
|
|
|
This returns the primary content shell.
|
|
|
|
|
|
|
|
Note that this is a docshell tree item and therefore can not be assured of
|
|
|
|
what object it is. It could be an editor, a docshell, or a browser object.
|
|
|
|
Or down the road any other object that supports being a DocShellTreeItem
|
|
|
|
Query accordingly to determine the capabilities.
|
|
|
|
*/
|
|
|
|
readonly attribute nsIDocShellTreeItem primaryContentShell;
|
2000-01-22 06:13:20 +03:00
|
|
|
|
2001-11-06 04:19:39 +03:00
|
|
|
/**
|
|
|
|
This returns the content shell specified by the supplied id.
|
|
|
|
|
|
|
|
Note that this is a docshell tree item and therefore can not be assured of
|
|
|
|
what object it is. It could be an editor, a docshell, or a browser object.
|
|
|
|
Or down the road any other object that supports being a DocShellTreeItem
|
|
|
|
Query accordingly to determine the capabilities.
|
|
|
|
*/
|
|
|
|
nsIDocShellTreeItem getContentShellById(in wstring ID);
|
2000-01-22 06:13:20 +03:00
|
|
|
|
2001-11-06 04:19:39 +03:00
|
|
|
/**
|
|
|
|
Tell this window that it has picked up or lost a child XUL window
|
|
|
|
@param aChild the child window being added or removed
|
|
|
|
*/
|
|
|
|
void addChildWindow(in nsIXULWindow aChild);
|
|
|
|
void removeChildWindow(in nsIXULWindow aChild);
|
2001-03-30 06:27:50 +04:00
|
|
|
|
2001-11-06 04:19:39 +03:00
|
|
|
/**
|
|
|
|
Move the window to a centered position.
|
|
|
|
@param aRelative the window relative to which the window is moved.
|
|
|
|
See screen parameter for details. if null, the
|
|
|
|
window is centered relative to the main screen.
|
|
|
|
@param aScreen PR_TRUE to center the window relative to the screen
|
|
|
|
containing aRelative. PR_FALSE to center it relative
|
|
|
|
to aRelative itself.
|
|
|
|
@param aAlert PR_TRUE to move the window to an alert position,
|
|
|
|
generally centered horizontally and 1/3 down from the top.
|
|
|
|
*/
|
|
|
|
void center(in nsIXULWindow aRelative, in boolean aScreen, in boolean aAlert);
|
2000-04-14 00:07:28 +04:00
|
|
|
|
2001-11-06 04:19:39 +03:00
|
|
|
/**
|
|
|
|
Shows the window as a modal window. That is, ensures that it is visible
|
|
|
|
and runs a local event loop, exiting only once the window has been closed.
|
|
|
|
*/
|
|
|
|
void showModal();
|
2000-04-02 02:03:28 +04:00
|
|
|
|
2001-11-06 04:19:39 +03:00
|
|
|
const unsigned long lowestZ = 0;
|
|
|
|
const unsigned long loweredZ = 4; /* "alwaysLowered" attribute */
|
|
|
|
const unsigned long normalZ = 5;
|
|
|
|
const unsigned long raisedZ = 6; /* "alwaysRaised" attribute */
|
|
|
|
const unsigned long highestZ = 9;
|
2000-04-02 02:03:28 +04:00
|
|
|
|
2001-11-06 04:19:39 +03:00
|
|
|
readonly attribute unsigned long zlevel;
|
|
|
|
|
|
|
|
/**
|
|
|
|
Create a new window.
|
|
|
|
@param aChromeFlags: see nsIWebBrowserChrome
|
|
|
|
@return the newly minted window
|
|
|
|
*/
|
|
|
|
nsIXULWindow createNewWindow(in PRInt32 aChromeFlags);
|
2000-01-14 07:23:38 +03:00
|
|
|
};
|
|
|
|
|