/// <inheritdoc /> public override bool WindowIsDialogInstance(Window candidateWindow) { bool windowIsDialog = false; IList<Window> buttons = candidateWindow.GetChildWindows(w => w.ClassName == WindowFactory.GetWindowClassForRole(AccessibleRole.PushButton, false)); if (buttons.Count == 2 && candidateWindow.Text.StartsWith("Firefox - ")) { windowIsDialog = true; } WindowFactory.DisposeWindows(buttons); return windowIsDialog; }
/// <inheritdoc /> public override bool WindowIsDialogInstance(Window candidateWindow) { bool windowIsDialog = candidateWindow.Text.ToLower().Contains("vbscript"); if (windowIsDialog) { IList<Window> buttons = candidateWindow.GetChildWindows(w => w.ClassName == WindowFactory.GetWindowClassForRole(AccessibleRole.PushButton, true)); IList<Window> staticLabel = candidateWindow.GetChildWindows(w => w.ClassName == WindowFactory.GetWindowClassForRole(AccessibleRole.Label, true) && w.ItemId == 0xFFFF); if (buttons.Count == 1 && buttons[0].ItemId == 2 && staticLabel.Count == 1) { this.Kind = NativeDialogConstants.VBScriptOKOnlyDialog; windowIsDialog = true; } else if (buttons.Count == 2 && staticLabel.Count == 1) { this.Kind = NativeDialogConstants.VBScriptOKCancelDialog; if (buttons[0].ItemId == 4 && buttons[1].ItemId == 2) { this.Kind = NativeDialogConstants.VBScriptRetryCancelDialog; } else if (buttons[0].ItemId == 6 && buttons[1].ItemId == 7) { this.Kind = NativeDialogConstants.VBScriptYesNoDialog; } windowIsDialog = true; } else if (buttons.Count == 3 && staticLabel.Count == 1) { this.Kind = NativeDialogConstants.VBScriptYesNoCancelDialog; if (buttons[0].ItemId == 3 && buttons[1].ItemId == 4 && buttons[2].ItemId == 5) { this.Kind = NativeDialogConstants.VBScriptAbortRetryIgnoreDialog; } windowIsDialog = true; } WindowFactory.DisposeWindows(buttons); WindowFactory.DisposeWindows(staticLabel); } return windowIsDialog; }
/// <inheritdoc /> public override bool WindowIsDialogInstance(Window candidateWindow) { bool windowIsDialog = false; Window sysCredentialWindow = this.GetSysCredentialWindow(candidateWindow); if (sysCredentialWindow != null) { windowIsDialog = true; sysCredentialWindow.Dispose(); } return windowIsDialog; }
private Window GetSysCredentialWindow(Window parentWindow) { Window sysCredentialWindow = null; IList<Window> credentialWindowList = parentWindow.GetChildWindows(w => w.ClassName == SysCredentialWindowClass); if (credentialWindowList.Count > 0) { sysCredentialWindow = credentialWindowList[0]; credentialWindowList.Remove(sysCredentialWindow); } WindowFactory.DisposeWindows(credentialWindowList); return sysCredentialWindow; }
/// <inheritdoc /> public override bool WindowIsDialogInstance(Window candidateWindow) { bool windowIsDialog = false; IList<Window> childWindowList = candidateWindow.GetChildWindows(w => w.ClassName == AccessibleRole.PasswordText.ToString()); if (childWindowList.Count > 0) { windowIsDialog = true; } WindowFactory.DisposeWindows(childWindowList); return windowIsDialog; }
/// <inheritdoc /> public override bool IsDialogWindowFor(Window ownerWindow) { bool windowIsDialogForCandidate = false; IntPtr owner = X11WindowsNativeMethods.GetTransientForWindow(this.handle); if (owner == ownerWindow.Handle) { windowIsDialogForCandidate = true; } return windowIsDialogForCandidate; }
/// <inheritdoc /> public FFDialogManager(Window firefoxMainWindow, WindowEnumerationMethod childEnumerationMethod) : base(firefoxMainWindow, childEnumerationMethod) { }
/// <summary> /// Gets a value indicating whether this window is a dialog for the specified window. /// </summary> /// <param name="ownerWindow">The <see cref="Window"/> to test to see if this window is a dialog for.</param> /// <returns><see langword="true"/> if this window is a dialog for the specified window, otherwise <see langword="false"/>.</returns> public abstract bool IsDialogWindowFor(Window ownerWindow);
/// <inheritdoc /> public override bool WindowIsDialogInstance(Window candidateWindow) { bool windowIsDialog = false; if (!candidateWindow.Text.ToLower().Contains("vbscript")) { IList<Window> buttons = candidateWindow.GetChildWindows(w => w.ClassName == WindowFactory.GetWindowClassForRole(AccessibleRole.PushButton, true)); IList<Window> staticLabel = candidateWindow.GetChildWindows(w => w.ClassName == WindowFactory.GetWindowClassForRole(AccessibleRole.Label, true) && w.ItemId == 0xFFFF); if (buttons.Count == 1 && buttons[0].ItemId == 2 && staticLabel.Count == 1) { this.Kind = NativeDialogConstants.JavaScriptAlertDialog; windowIsDialog = true; } else if (buttons.Count == 2 && buttons[0].ItemId == 1 && buttons[1].ItemId == 2 && staticLabel.Count == 1) { this.Kind = NativeDialogConstants.JavaScriptConfirmDialog; windowIsDialog = true; } WindowFactory.DisposeWindows(buttons); WindowFactory.DisposeWindows(staticLabel); } return windowIsDialog; }
/// <inheritdoc /> public override bool WindowIsDialogInstance(Window candidateWindow) { bool windowIsDialog = false; IList<Window> buttons = candidateWindow.GetChildWindows(w => w.ClassName == WindowFactory.GetWindowClassForRole(AccessibleRole.PushButton, false)); IList<Window> staticLabel = candidateWindow.GetChildWindows(w => w.ClassName == this.messageLabelClass); if (buttons.Count == 1 && buttons[0].ItemId == this.okButtonId && staticLabel.Count == 1) { this.Kind = NativeDialogConstants.JavaScriptAlertDialog; windowIsDialog = true; } else if (buttons.Count == 2 && buttons[0].ItemId == this.okButtonId && buttons[1].ItemId == this.cancelButtonId && staticLabel.Count == 1) { this.Kind = NativeDialogConstants.JavaScriptConfirmDialog; windowIsDialog = true; } WindowFactory.DisposeWindows(buttons); WindowFactory.DisposeWindows(staticLabel); return windowIsDialog; }
/// <inheritdoc /> public override bool IsDialogWindowFor(Window ownerWindow) { bool windowIsDialogFor = false; windowIsDialogFor = (ownerWindow.Handle == this.OwnerHandle || ownerWindow.Handle == this.ParentHandle) && this.Visible; return windowIsDialogFor; }