public class AdfDhtmlDialogManager
extends AdfObject
Dialog manager handles activation of the active window, deactivating the previous active window and restoring the most recent open dialog. It also tracks active open windows. The ctrl+alt+w key combination can be used to cycle through the active dialogs. The active open window navigation consists of any open modeless dialogs that are at the same level as the primary window. The primary window is also included in the window rotation. The definition of the primary window depends on if there are any modal dialogs open. When there is not a model dialog open, the primary window is the document. When a model dialog is open, the primary window becomes the modal dialog. Any modeless windows open after the modal dialog (primary window) defines the active window navigation. This means that any open windows under the modal glass pane are inactive. When the primary window is closed, all active modeless child dialogs are closed.
Dialog manager handles activation of the active window, deactivating the previous active window and restoring the most recent open dialog. It also tracks active open windows. The ctrl+alt+w key combination can be used to cycle through the active dialogs. The active open window navigation consists of any open modeless dialogs that are at the same level as the primary window. The primary window is also included in the window rotation. The definition of the primary window depends on if there are any modal dialogs open. When there is not a model dialog open, the primary window is the document. When a model dialog is open, the primary window becomes the modal dialog. Any modeless windows open after the modal dialog (primary window) defines the active window navigation. This means that any open windows under the modal glass pane are inactive. When the primary window is closed, all active modeless child dialogs are closed.
Makes the dialog passed in active. The dialog must already have been registered by calling registerDialog. If there is an active dialog, it is deactivated before making the target dialog active. Dialog activation history is kept so that we can determine the previous dialog to active when a dialog is unregistered. The dialog will not be activated if it is "under the modality glass". If the target dialog to activate is not in the top dialog navigation stack, "false" is returned.
Parameters:
dialog
-
the dialog to unregister
Return:
Boolean - returns true if the dialog was activated; otherwise, false if the dialog couldn't be activated.
public Object focusNextModelessDialog(Object prevDocumentDomElement)
Looks for the next dialog to activate. The dialogs are tracked in order they are opend. To determine then next dialog we need to first define the subset of modless windows. A modal window can open modeless windows. We can only rotate within the last set of modeless windows. If all opened windows are modeless, the document must be must be included in the rotation. If there is an open modal dialog, the "document" primary window will be under glass and will not be in the rotation. The modeless dialog will become the primary window.
Parameters:
prevDocumentDomElement
-
optional DOM document element that focus should return using the ctrl+alt+w key combo
Builds a private array of the top modeless dialogs if it doesn't exist. The top of the array or the first modal dialog delineates the active modeless stack. If there are not any modal dialogs in the list, the "primary window" is added to the end "top" of the dialog rotation. If there is a modal dialog, the "primary window" is under glass and so the modal dialog is considered the primary. When the primary window is the document it is represended by a private object that implements an "active" method like the AdfDhtmlSimpleFloat. Each time this method is called, the private "this._topDialogNavigation" is rebuilt from "this._dialogs". The method returns an integer that is the index into the private stack that is the "this._activeDialog". If the active dialog is not found, -1 is returned.
Return:
Number - index into this._topDialogNavigation for the this._activeDialog.
Adds a new dialog to the bottom of the dialog stack. The unregisterDialog method is used to remove it. This call only registers the dialog. The activeDialog must be called to set it active.