public override bool CanClosePopup(RadPopupCloseReason reason) { if (reason == RadPopupCloseReason.Mouse) { if (this.OwnerPopup == null && this.OwnerElement != null && this.RootTreeHandler != null) { RadMenuItemBase menuItem = this.OwnerElement as RadMenuItemBase; Control rootControl = this.RootTreeHandler as Control; Point currentMousePoint = rootControl.PointToClient(MousePosition); RadElement itemUnderMouse = this.RootTreeHandler.ElementTree.GetElementAtPoint(currentMousePoint); if ((menuItem != null && itemUnderMouse != null && object.ReferenceEquals(itemUnderMouse, menuItem) && rootControl.Focused) || (menuItem != null && menuItem.IsMouseDown)) { return(false); } } if (this.OwnerElement != null) { this.OwnerElement.UpdateContainsMouse(); if (this.OwnerElement.ContainsMouse || this.OwnerElement.IsMouseDown) { return(false); } } } return(base.CanClosePopup(reason)); }
public RadAutoCompleteDropDownClosedEventArgs( RadPopupCloseReason reason, EventArgs inputArguments) : base(reason) { this.inputArguments = inputArguments; }
public override bool CanClosePopup(RadPopupCloseReason reason) { //added by ittodorov, requested by stefanov if (this.OwnerElement != null && this.OwnerElement.IsInValidState(true)) { RadRibbonBar ownerRibbonBar = (this.OwnerElement.ElementTree.Control as RadRibbonBar); if (ownerRibbonBar != null && ownerRibbonBar.IsDesignMode) { Point screenLocation = ownerRibbonBar.Parent.PointToScreen(ownerRibbonBar.Location); if (new Rectangle(screenLocation, ownerRibbonBar.Size).Contains(MousePosition)) { Point appButtonLocation = screenLocation; appButtonLocation.Offset(ownerRibbonBar.RibbonBarElement.ApplicationButtonElement.ControlBoundingRectangle.Location); Rectangle appButtonRect = new Rectangle(appButtonLocation, ownerRibbonBar.RibbonBarElement.ApplicationButtonElement.ControlBoundingRectangle.Size); return(!appButtonRect.Contains(MousePosition)); } } } if (this.OwnerElement != null && this.OwnerElement.IsInValidState(true) && (this.OwnerElement.ElementTree.Control is RadApplicationMenu) && (this.OwnerElement.ElementTree.Control as RadApplicationMenu).IsDesignMode) { Point screenLocation = this.OwnerElement.ElementTree.Control.Parent.PointToScreen(this.OwnerElement.ElementTree.Control.Location); if (new Rectangle(screenLocation, this.OwnerElement.ElementTree.Control.Size).Contains(MousePosition)) { return(false); } } return(base.CanClosePopup(reason)); }
public override bool CanClosePopup(RadPopupCloseReason reason) { if (reason == RadPopupCloseReason.Mouse) { if (this.OwnerPopup == null && this.OwnerElement != null && this.RootTreeHandler != null) { RadMenuItemBase ownerElement = this.OwnerElement as RadMenuItemBase; Control rootTreeHandler = this.RootTreeHandler as Control; RadElement elementAtPoint = this.RootTreeHandler.ElementTree.GetElementAtPoint(rootTreeHandler.PointToClient(Control.MousePosition)); if (ownerElement != null && elementAtPoint != null && (object.ReferenceEquals((object)elementAtPoint, (object)ownerElement) && rootTreeHandler.Focused) || ownerElement != null && ownerElement.IsMouseDown) { return(false); } } if (this.OwnerElement != null) { this.OwnerElement.UpdateContainsMouse(); if (this.OwnerElement.ContainsMouse || this.OwnerElement.IsMouseDown) { return(false); } } } return(base.CanClosePopup(reason)); }
public override bool CanClosePopup(RadPopupCloseReason reason) { RadRibbonBar ribbonBar = this.RibbonBarElement.ElementTree.Control as RadRibbonBar; Point pointInRibbon = ribbonBar.PointToClient(System.Windows.Forms.Cursor.Position); if (this.RibbonBarElement.TabStripElement.ItemContainer.ControlBoundingRectangle.Contains(pointInRibbon)) { return(false); } NativeMethods.POINTSTRUCT point = new NativeMethods.POINTSTRUCT(); point.x = Cursor.Position.X; point.y = Cursor.Position.Y; IntPtr handle = NativeMethods._WindowFromPoint(point); Control controlUnderMouse = Control.FromHandle(handle); if (controlUnderMouse is ZoomPopup) { return(false); } if (controlUnderMouse is RadDropDownMenu) { return(false); } return(base.CanClosePopup(reason)); }
public override bool CanClosePopup(RadPopupCloseReason reason) { if (this.PopupElement is RadGalleryPopupElement && this.Bounds.Contains(Control.MousePosition)) { return(false); } return(base.CanClosePopup(reason)); }
protected internal override bool CanClosePopUp(RadPopupCloseReason reason, MouseButtons buttons) { if (!this.PopupForm.Bounds.Contains(Cursor.Position)) { return(true); } return(reason != RadPopupCloseReason.Mouse); }
public override void CloseDropDown(RadPopupCloseReason reason) { if (reason == RadPopupCloseReason.CloseCalled && this.ListElement.SuggestedText != null && (this.ListElement.PatternText != null && this.ListElement.IsSuggestionMatched)) { return; } base.CloseDropDown(reason); }
public override bool CanClosePopup(RadPopupCloseReason reason) { if (this.OwnerElement.IsDesignMode && new Rectangle(this.OwnerElement.ElementTree.Control.Parent.PointToScreen(this.OwnerElement.ElementTree.Control.Location), this.OwnerElement.ElementTree.Control.Size).Contains(Control.MousePosition)) { return(false); } return(base.CanClosePopup(reason)); }
public override void ClosePopup(RadPopupCloseReason reason) { if (base.EditorControl.GridViewElement.ContainsMouse) { return; } base.ClosePopup(reason); }
public override bool CanClosePopup(RadPopupCloseReason reason) { if (reason == RadPopupCloseReason.Mouse) { Point client = this.PointToClient(Control.MousePosition); if (this.RootElement.ControlBoundingRectangle.Contains(client) && this.ListElement.GetVisualItemAtPoint(client) == null) { return(false); } } return(base.CanClosePopup(reason)); }
protected virtual bool CanClosePopupCore(MouseButtons mouseButtons, RadPopupCloseReason reason) { if (reason == RadPopupCloseReason.Mouse && this.ownerDropDownListElement != null && !this.ownerDropDownListElement.IsDisposed && !this.ownerDropDownListElement.IsDisposing && this.ownerDropDownListElement.ElementTree != null && this.ownerDropDownListElement.ElementTree.Control != null && this.ownerDropDownListElement.ListElement != null && this.ownerDropDownListElement.ListElement.ElementTree != null && this.ownerDropDownListElement.ListElement.ElementTree.Control != null && this.ownerDropDownListElement.ArrowButton != null) { Point relativeMousePosition = this.ownerDropDownListElement.ElementTree.Control.PointToClient(Control.MousePosition); Point relativeMousePositionInPopup = this.ownerDropDownListElement.ListElement.ElementTree.Control.PointToClient(Control.MousePosition); Rectangle arrowButtonRectangle = this.ownerDropDownListElement.ArrowButton.ControlBoundingRectangle; if (this.ownerDropDownListElement.DropDownStyle == RadDropDownStyle.DropDownList && (this.ownerDropDownListElement.ContainsMouse || this.ownerDropDownListElement.Bounds.Contains(relativeMousePosition))) { return(false); } if (mouseButtons != MouseButtons.Left) { return(true); } if (arrowButtonRectangle.Contains(relativeMousePosition)) { return(false); } if (this.ownerDropDownListElement.ListElement.HScrollBar != null && this.ownerDropDownListElement.ListElement.HScrollBar.ContainsMouse) { return(false); } if (this.ownerDropDownListElement.ListElement.VScrollBar != null && this.ownerDropDownListElement.ListElement.VScrollBar.ContainsMouse) { return(false); } if (this.SizingGrip != null && this.SizingGrip.ControlBoundingRectangle.Contains(relativeMousePositionInPopup)) { return(false); } } return(true); }
public override bool CanClosePopup(RadPopupCloseReason reason) { if (reason == RadPopupCloseReason.Mouse && this.OwnerComboItem != null && (!this.OwnerComboItem.IsDisposed && !this.OwnerComboItem.IsDisposing)) { Point client = this.OwnerComboItem.ElementTree.Control.PointToClient(Control.MousePosition); Rectangle boundingRectangle = this.OwnerComboItem.ArrowButton.ControlBoundingRectangle; RadElement elementAtPoint = this.OwnerComboItem.EditorControl.ElementTree.GetElementAtPoint(this.OwnerComboItem.EditorControl.ElementTree.Control.PointToClient(Control.MousePosition)); if (Control.MouseButtons == MouseButtons.Left && boundingRectangle.Contains(client) || this.OwnerComboItem.DropDownStyle == RadDropDownStyle.DropDownList && this.OwnerComboItem.ControlBoundingRectangle.Contains(client) || (elementAtPoint is GridSearchCellButtonElement || !this.OwnerComboItem.EditorControl.ReadOnly && elementAtPoint is RadCheckmark)) { return(false); } } return(true); }
protected override void OnMouseUp(MouseEventArgs e) { if (!PopupManager.Default.ContainsPopup((IPopupControl)this)) { return; } base.OnMouseUp(e); RadPopupCloseReason popupCloseReason = RadPopupCloseReason.Mouse; if (!this.CanClosePopup(popupCloseReason)) { return; } this.ClosePopup(new PopupCloseInfo(popupCloseReason, (object)e)); }
private void HideControl(RadPopupCloseReason reason) { if (this.Visible) { if (Closing != null) { RadPopupClosingEventArgs args = new RadPopupClosingEventArgs(reason); Closing(this, args); if (args.Cancel == true) return; } this.closeReason = reason; this.Hide(); } }
/// <summary> /// Closes the popup with the provided reason for closing. /// </summary> /// <param name="reason">the reason for the close operation as specified through RadPopupCloseReason enumeration.</param> protected internal virtual void ClosePopup(RadPopupCloseReason reason) { if (reason != RadPopupCloseReason.CloseCalled) { CancelEventArgs e = new CancelEventArgs(); this.OnQueryValue(e); if (e.Cancel) { return; } } if (this.popupForm != null) { this.popupForm.ClosePopup(reason); } }
/// <summary> /// Closes all popups from a leaf to the root. /// </summary> /// <param name="reason">The reason why popups are closed.</param> /// <param name="leaf">The leaf popup from which to start closing the hierarchy.</param> public void CloseAllToRoot(RadPopupCloseReason reason, IPopupControl leaf) { if (leaf.Children.Count > 0) { throw new InvalidOperationException("The provided IPopupControl is not a leaf"); } bool finished = false; if (leaf.CanClosePopup(reason)) { PopupCloseInfo info = new PopupCloseInfo(reason, null); leaf.ClosePopup(info); if (!info.Closed) { return; } } else { return; } IPopupControl parent = leaf.OwnerPopup; while (!finished) { if (parent != null && parent.CanClosePopup(reason)) { PopupCloseInfo info = new PopupCloseInfo(reason, null); parent.ClosePopup(info); if (!info.Closed) { finished = true; } parent = parent.OwnerPopup; } else { finished = true; } } }
public override bool CanClosePopup(RadPopupCloseReason reason) { if (this.RibbonBarElement.TabStripElement.ItemContainer.ControlBoundingRectangle.Contains((this.RibbonBarElement.ElementTree.Control as RadRibbonBar).PointToClient(Cursor.Position)) && reason != RadPopupCloseReason.AppFocusChange) { return(false); } Control control = Control.FromHandle(Telerik.WinControls.NativeMethods._WindowFromPoint(new Telerik.WinControls.NativeMethods.POINTSTRUCT() { x = Cursor.Position.X, y = Cursor.Position.Y })); if (control is ZoomPopup || control is RadDropDownMenu) { return(false); } return(base.CanClosePopup(reason)); }
public override bool CanClosePopup(RadPopupCloseReason reason) { if (reason != RadPopupCloseReason.Mouse) { return(base.CanClosePopup(reason)); } if (!this.OwnerElement.IsInValidState(true) || !(this.OwnerElement is RadDateTimePickerElement)) { return(base.CanClosePopup(reason)); } RadDateTimePickerElement ownerElement = this.OwnerElement as RadDateTimePickerElement; if (ownerElement.ArrowButton == null) { return(base.CanClosePopup(reason)); } return(!ownerElement.ArrowButton.IsMouseOver); }
public void CloseAll(RadPopupCloseReason reason) { while (this.popups.Count > 0) { this.lastActivatedPopup = this.popups[this.popups.Count - 1]; if (!this.lastActivatedPopup.CanClosePopup(reason)) { return; } PopupCloseInfo closeInfo = new PopupCloseInfo(reason, (object)null); this.lastActivatedPopup.ClosePopup(closeInfo); if (!closeInfo.Closed) { return; } } this.lastActivatedPopup = (IPopupControl)null; }
/// <summary> /// Closes all popups managed by the PopupManager. /// </summary> /// <param name="reason">Clarification why all popups need to be closed.</param> public void CloseAll(RadPopupCloseReason reason) { while (this.popups.Count > 0) { this.lastActivatedPopup = this.popups[this.popups.Count - 1]; if (!this.lastActivatedPopup.CanClosePopup(reason)) { return; } PopupCloseInfo info = new PopupCloseInfo(reason, null); this.lastActivatedPopup.ClosePopup(info); if (!info.Closed) { return; } } this.lastActivatedPopup = null; }
public override bool CanClosePopup(RadPopupCloseReason reason) { if (reason == RadPopupCloseReason.Mouse && this.OwnerComboItem != null && this.OwnerComboItem.ElementState == ElementState.Loaded) { Point relativeMousePosition = this.OwnerComboItem.ElementTree.Control.PointToClient(Control.MousePosition); Rectangle arrowButtonRectangle = this.OwnerComboItem.ArrowButton.ControlBoundingRectangle; if (arrowButtonRectangle.Contains(relativeMousePosition)) { return(false); } if (this.OwnerComboItem.DropDownStyle == RadDropDownStyle.DropDownList && this.OwnerComboItem.Bounds.Contains(relativeMousePosition)) { return(false); } } return(true); }
public void CloseAllToRoot(RadPopupCloseReason reason, IPopupControl leaf) { if (leaf.Children.Count > 0) { return; } bool flag = false; if (!leaf.CanClosePopup(reason)) { return; } PopupCloseInfo closeInfo1 = new PopupCloseInfo(reason, (object)null); leaf.ClosePopup(closeInfo1); if (!closeInfo1.Closed) { return; } IPopupControl ownerPopup = leaf.OwnerPopup; while (!flag) { if (ownerPopup != null && ownerPopup.CanClosePopup(reason)) { PopupCloseInfo closeInfo2 = new PopupCloseInfo(reason, (object)null); ownerPopup.ClosePopup(closeInfo2); if (!closeInfo2.Closed) { flag = true; } ownerPopup = ownerPopup.OwnerPopup; } else { flag = true; } } }
protected virtual bool CanClosePopupCore(MouseButtons mouseButtons, RadPopupCloseReason reason) { if (reason == RadPopupCloseReason.Mouse && this.ownerDropDownListElement != null && (!this.ownerDropDownListElement.IsDisposed && !this.ownerDropDownListElement.IsDisposing) && (this.ownerDropDownListElement.ElementTree != null && this.ownerDropDownListElement.ElementTree.Control != null && (this.ownerDropDownListElement.ListElement != null && this.ownerDropDownListElement.ListElement.ElementTree != null)) && (this.ownerDropDownListElement.ListElement.ElementTree.Control != null && this.ownerDropDownListElement.ArrowButton != null)) { Point client1 = this.ownerDropDownListElement.ElementTree.Control.PointToClient(Control.MousePosition); Point client2 = this.ownerDropDownListElement.ListElement.ElementTree.Control.PointToClient(Control.MousePosition); Rectangle boundingRectangle = this.ownerDropDownListElement.ArrowButton.ControlBoundingRectangle; if (this.ownerDropDownListElement.DropDownStyle == RadDropDownStyle.DropDownList && (this.ownerDropDownListElement.ContainsMouse || this.ownerDropDownListElement.Bounds.Contains(client1))) { return(false); } if (mouseButtons != MouseButtons.Left) { return(this.ownerDropDownListElement.CanClosePopUp(reason, mouseButtons)); } if (this.ownerDropDownListElement.ListElement.VScrollBar != null && (this.ownerDropDownListElement.ListElement.VScrollBar.ThumbElement.Capture || (bool)this.ownerDropDownListElement.ListElement.VScrollBar.SecondButton.GetValue(RadButtonItem.IsPressedProperty) || (bool)this.ownerDropDownListElement.ListElement.VScrollBar.FirstButton.GetValue(RadButtonItem.IsPressedProperty)) || boundingRectangle.Contains(client1) || this.ownerDropDownListElement.ListElement.HScrollBar != null && this.ownerDropDownListElement.ListElement.HScrollBar.ControlBoundingRectangle.Contains(client2) || (this.ownerDropDownListElement.ListElement.VScrollBar != null && this.ownerDropDownListElement.ListElement.VScrollBar.ControlBoundingRectangle.Contains(client2) || this.SizingGrip != null && this.SizingGrip.ControlBoundingRectangle.Contains(client2)) || !this.ownerDropDownListElement.CanClosePopUp(reason, mouseButtons)) { return(false); } } return(true); }
public override bool CanClosePopup(RadPopupCloseReason reason) { if (this.OwnerElement != null && this.OwnerElement.IsInValidState(true)) { RadRibbonBar control = this.OwnerElement.ElementTree.Control as RadRibbonBar; if (control != null && control.IsDesignMode) { Point screen = control.Parent.PointToScreen(control.Location); if (new Rectangle(screen, control.Size).Contains(Control.MousePosition)) { Point location = screen; location.Offset(control.RibbonBarElement.ApplicationButtonElement.ControlBoundingRectangle.Location); return(!new Rectangle(location, control.RibbonBarElement.ApplicationButtonElement.ControlBoundingRectangle.Size).Contains(Control.MousePosition)); } } } if (this.OwnerElement != null && this.OwnerElement.IsInValidState(true) && (this.OwnerElement.ElementTree.Control is RadApplicationMenu && (this.OwnerElement.ElementTree.Control as RadApplicationMenu).IsDesignMode) && new Rectangle(this.OwnerElement.ElementTree.Control.Parent.PointToScreen(this.OwnerElement.ElementTree.Control.Location), this.OwnerElement.ElementTree.Control.Size).Contains(Control.MousePosition)) { return(false); } return(base.CanClosePopup(reason)); }
public override void ClosePopup(RadPopupCloseReason reason) { base.ClosePopup(reason); this.ownerDropDownListElement.CallClosePopupCore(); }
public override void ClosePopup(RadPopupCloseReason reason) { base.ClosePopup(reason); this.isPopupShown = false; }
public override bool CanClosePopup(RadPopupCloseReason reason) { return(true); }
public override bool CanClosePopup(RadPopupCloseReason reason) { return(this.CanClosePopupCore(Control.MouseButtons, reason)); }
public PopupCloseInfo(RadPopupCloseReason closeReason, object context) { this.closeReason = closeReason; this.context = context; this.closed = true; }