Implemented by
[scriptable, uuid(0659cb81-faad-11d2-8e19-b206620a657c)]
interface nsIWindowMediator : nsISupports
Constants
const
unsigned long
zLevelTop = 1
const
unsigned long
zLevelBottom = 2
const
unsigned long
zLevelBelow = 3
Methods
Register a listener for window status changes. keeps strong ref? (to be decided) @param aListener the listener to register
void
addListener(in nsIWindowMediatorListener aListener)
A window wants to be moved in z-order. Calculate whether and how
it should be constrained. Note this method is advisory only:
it changes nothing either in WindowMediator's internal state
or with the window.
Note it compares the nsIXULWindow to nsIWidgets. A pure interface
would use all nsIXULWindows. But we expect this to be called from
callbacks originating in native window code. They are expected to
hand us comparison values which are pulled from general storage
in the native widget, and may not correspond to an nsIWidget at all.
For that reason this interface requires only objects one step
removed from the native window (nsIWidgets), and its implementation
must be very understanding of what may be completely invalid
pointers in those parameters.
@param inWindow the window in question
@param inPosition requested position
values: zLevelTop: topmost window. zLevelBottom: bottom.
zLevelBelow: below ioBelow. (the value of ioBelow will
be ignored for zLevelTop and Bottom.)
@param inBelow if inPosition==zLevelBelow, the window
below which inWindow wants to be placed. Otherwise this
variable is ignored.
@param outPosition constrained position, values like inPosition.
@param outBelow if outPosition==zLevelBelow, the window
below which inWindow should be placed. Otherwise this
this value will be null.
@return PR_TRUE if the position returned is different from
the position given.
[noscript]
boolean
calculateZPosition(in nsIXULWindow inWindow, in unsigned long inPosition, in nsIWidget inBelow, out unsigned long outPosition, out nsIWidget outBelow)
Return an enumerator which iterates over all windows of type aWindowType
from the oldest window to the youngest.
@param aWindowType the returned enumerator will enumerate only
windows of this type. ("type" is the
|windowtype| attribute of the XML <window> element.)
If null, all windows will be enumerated.
@return an enumerator of nsIDOMWindows
nsISimpleEnumerator
getEnumerator(in wstring aWindowType)
This is a shortcut for simply fetching the first window in
front to back order.
@param aWindowType return the topmost window of this type.
("type" is the |windowtype| attribute of
the XML <window> element.)
If null, return the topmost window of any type.
@return the topmost window
nsIDOMWindowInternal
getMostRecentWindow(in wstring aWindowType)
Identical to getEnumerator except: @return an enumerator of nsIXULWindows
nsISimpleEnumerator
getXULWindowEnumerator(in wstring aWindowType)
Return the window's Z level (as defined in nsIXULWindow). @param aWindow the window in question @return aWindow's z level
[noscript]
PRUint32
getZLevel(in nsIXULWindow aWindow)
Return an enumerator which iterates over all windows of type aWindowType
in their z (front-to-back) order. Note this interface makes
no requirement that a window couldn't be revisited if windows
are re-ordered while z-order enumerators are active.
@param aWindowType the returned enumerator will enumerate only
windows of this type. ("type" is the
|windowtype| attribute of the XML <window> element.)
If null, all windows will be enumerated.
@param aFrontToBack if true, the enumerator enumerates windows in order
from front to back. back to front if false.
@return an enumerator of nsIDOMWindows
nsISimpleEnumerator
getZOrderDOMWindowEnumerator(in wstring aWindowType, in boolean aFrontToBack)
Identical to getZOrderDOMWindowEnumerator except: @return an enumerator of nsIXULWindows
nsISimpleEnumerator
getZOrderXULWindowEnumerator(in wstring aWindowType, in boolean aFrontToBack)
Add the window to the list of known windows. Listeners (see addListener) will be notified through their onOpenWindow method. @param aWindow the window to add
[noscript]
void
registerWindow(in nsIXULWindow aWindow)
Unregister a listener of window status changes. @param aListener the listener to unregister
void
removeListener(in nsIWindowMediatorListener aListener)
Set the window's Z level (as defined in nsIXULWindow). The implementation will reposition the window as necessary to match its new Z level. The implementation will assume a window's Z level to be nsIXULWindow::normalZ until it has been informed of a different level. @param aWindow the window in question @param aZLevel the window's new Z level
[noscript]
void
setZLevel(in nsIXULWindow aWindow, in PRUint32 aZLevel)
A window has been positioned behind another. Inform WindowMediator
@param inWindow the window in question
@param inPosition new position. values:
zLevelTop: topmost window.
zLevelBottom: bottom.
zLevelBelow: below inBelow. (inBelow is ignored
for other values of inPosition.)
@param inBelow the window inWindow is behind, if zLevelBelow
[noscript]
void
setZPosition(in nsIXULWindow inWindow, in unsigned long inPosition, in nsIXULWindow inBelow)
Remove the window from the list of known windows. Listeners (see addListener) will be be notified through their onCloseWindow method. @param aWindow the window to remove
[noscript]
void
unregisterWindow(in nsIXULWindow aWindow)
Call this method when a window gains focus. It's a primitive means of determining the most recent window. It's no longer necessary and it really should be removed. @param aWindow the window which has gained focus
[noscript]
void
updateWindowTimeStamp(in nsIXULWindow aWindow)
Call this method when a window's title changes. Listeners (see addListener) will be notified through their onWindowTitleChange method. @param aWindow the window whose title has changed @param inTitle the window's new title
[noscript]
void
updateWindowTitle(in nsIXULWindow aWindow, in wstring inTitle)
Compare to: