protected void RemoveAdorner(object sender, PointerEventArgs e) { if (this.adorner != null) { ((Panel)this.adorner.Parent).Children.Remove(this.adorner); this.adorner = null; } }
private void RootPointerMoved(object sender, PointerEventArgs e) { var modifiers = InputModifiers.Control | InputModifiers.Shift; if ((e.InputModifiers & modifiers) == modifiers) { var vm = (DevToolsViewModel)DataContext; vm.SelectControl((IControl)e.Source); } }
protected override void OnPointerMoved(PointerEventArgs e) { if (_lastPoint.HasValue) { var ev = new VectorEventArgs { RoutedEvent = DragDeltaEvent, Vector = e.GetPosition(this) - _lastPoint.Value, }; RaiseEvent(ev); } }
protected void AddAdorner(object sender, PointerEventArgs e) { var node = (TreeNode)((Control)sender).DataContext; var layer = AdornerLayer.GetAdornerLayer(node.Control); if (layer != null) { this.adorner = new Rectangle { Fill = new SolidColorBrush(0x80a0c5e8), [AdornerLayer.AdornedElementProperty] = node.Control, }; layer.Children.Add(this.adorner); } }
protected override void OnPointerMoved(PointerEventArgs e) { if (_presenter != null && e.Device.Captured == _presenter) { var point = e.GetPosition(_presenter); CaretIndex = SelectionEnd = _presenter.GetCaretIndex(point); } }
private IInputElement SetPointerOver(IPointerDevice device, IInputRoot root, IList<IInputElement> elements) { foreach (var control in _pointerOvers.Except(elements).ToList()) { PointerEventArgs e = new PointerEventArgs { RoutedEvent = InputElement.PointerLeaveEvent, Device = device, Source = control, }; _pointerOvers.Remove(control); control.RaiseEvent(e); } foreach (var control in elements.Except(_pointerOvers)) { PointerEventArgs e = new PointerEventArgs { RoutedEvent = InputElement.PointerEnterEvent, Device = device, Source = control, }; _pointerOvers.Add(control); control.RaiseEvent(e); } root.PointerOverElement = elements.FirstOrDefault() ?? root; return root.PointerOverElement; }
private void ClearPointerOver(IPointerDevice device) { foreach (var control in this.pointerOvers.ToList()) { PointerEventArgs e = new PointerEventArgs { RoutedEvent = InputElement.PointerLeaveEvent, Device = device, OriginalSource = control, Source = control, }; this.pointerOvers.Remove(control); control.RaiseEvent(e); } }
/// <summary> /// Called before the <see cref="PointerMoved"/> event occurs. /// </summary> /// <param name="e">The event args.</param> protected virtual void OnPointerMoved(PointerEventArgs e) { }
/// <summary> /// Called before the <see cref="PointerEnter"/> event occurs. /// </summary> /// <param name="e">The event args.</param> protected virtual void OnPointerEnter(PointerEventArgs e) { IsPointerOver = true; }
/// <summary> /// Called when the pointer enters the <see cref="MenuItem"/>. /// </summary> /// <param name="e">The event args.</param> protected override void OnPointerEnter(PointerEventArgs e) { base.OnPointerEnter(e); var menu = this.Parent as Menu; if (menu != null) { if (menu.IsOpen) { this.IsSubMenuOpen = true; } } else if (this.HasSubMenu && !this.IsSubMenuOpen) { this.submenuTimer = DispatcherTimer.Run( () => this.IsSubMenuOpen = true, TimeSpan.FromMilliseconds(400)); } }
protected override void OnPointerReleased(PointerEventArgs e) { if (_lastPoint.HasValue) { e.Device.Capture(null); _lastPoint = null; var ev = new VectorEventArgs { RoutedEvent = DragCompletedEvent, Vector = (Vector)e.GetPosition(this), }; RaiseEvent(ev); } }
/// <summary> /// Handle mouse double click to select word under the mouse. /// </summary> /// <param name="parent">the control hosting the html to set cursor and invalidate</param> /// <param name="e">mouse event args</param> public void HandleMouseDoubleClick(Control parent, PointerEventArgs e) { ArgChecker.AssertArgNotNull(parent, "parent"); ArgChecker.AssertArgNotNull(e, "e"); _htmlContainerInt.HandleMouseDoubleClick(new ControlAdapter(parent), Util.Convert(e.GetPosition(parent))); }
/// <summary> /// Handle mouse up to handle selection and link click. /// </summary> /// <param name="parent">the control hosting the html to invalidate</param> /// <param name="e">the mouse event args</param> public void HandleLeftMouseUp(Control parent, PointerEventArgs e) { ArgChecker.AssertArgNotNull(parent, "parent"); ArgChecker.AssertArgNotNull(e, "e"); var mouseEvent = new RMouseEvent(true); _htmlContainerInt.HandleMouseUp(new ControlAdapter(parent), Util.Convert(e.GetPosition(parent)), mouseEvent); }
private bool MouseMove(IMouseDevice device, IInputRoot root, Point p, InputModifiers inputModifiers) { IInputElement source; if (Captured == null) { source = SetPointerOver(this, root, p); } else { var elements = Captured.GetSelfAndVisualAncestors().OfType<IInputElement>().ToList(); SetPointerOver(this, root, elements); source = Captured; } var e = new PointerEventArgs { Device = this, RoutedEvent = InputElement.PointerMovedEvent, Source = source, InputModifiers = inputModifiers }; source.RaiseEvent(e); return e.Handled; }
protected override void OnPointerReleased(PointerEventArgs e) { if (_presenter != null && e.Device.Captured == _presenter) { e.Device.Capture(null); } }
/// <inheritdoc/> protected override void OnPointerReleased(PointerEventArgs e) { base.OnPointerReleased(e); e.Device.Capture(null); this.Classes.Remove(":pressed"); e.Handled = true; if (this.ClickMode == ClickMode.Release && this.Classes.Contains(":pointerover")) { this.RaiseClickEvent(); } }
protected override void OnPointerMoved(PointerEventArgs e) { if (e.Device.Captured == this.presenter) { var point = e.GetPosition(this.presenter); this.CaretIndex = this.SelectionEnd = this.presenter.GetCaretIndex(point); } }
/// <summary> /// Called when the pointer leaves the <see cref="MenuItem"/>. /// </summary> /// <param name="e">The event args.</param> protected override void OnPointerLeave(PointerEventArgs e) { base.OnPointerLeave(e); if (this.submenuTimer != null) { this.submenuTimer.Dispose(); this.submenuTimer = null; } }
/// <summary> /// Called when the pointer leaves a control with an attached tooltip. /// </summary> /// <param name="sender">The event sender.</param> /// <param name="e">The event args.</param> private static void ControlPointerLeave(object sender, PointerEventArgs e) { var control = (Control)sender; if (control == current) { if (popup != null && popup.IsVisible) { popup.Hide(); } show.OnNext(null); } }
/// <summary> /// Called when the pointer enters a control with an attached tooltip. /// </summary> /// <param name="sender">The event sender.</param> /// <param name="e">The event args.</param> private static void ControlPointerEnter(object sender, PointerEventArgs e) { current = (Control)sender; show.OnNext(current); }
/// <summary> /// Handles pointer presses in the window. /// </summary> /// <param name="sender">The event sender.</param> /// <param name="e">The event args.</param> protected virtual void OnPreviewPointerPressed(object sender, PointerEventArgs e) { if (this.showingAccessKeys) { this.owner.ShowAccessKeys = false; } }
/// <summary> /// Called before the <see cref="PointerLeave"/> event occurs. /// </summary> /// <param name="e">The event args.</param> protected virtual void OnPointerLeave(PointerEventArgs e) { IsPointerOver = false; }
private void ClearPointerOver(IPointerDevice device, IInputRoot root) { foreach (var control in _pointerOvers.ToList()) { PointerEventArgs e = new PointerEventArgs { RoutedEvent = InputElement.PointerLeaveEvent, Device = device, Source = control, }; _pointerOvers.Remove(control); control.RaiseEvent(e); } root.PointerOverElement = null; }
/// <summary> /// Called before the <see cref="PointerReleased"/> event occurs. /// </summary> /// <param name="e">The event args.</param> protected virtual void OnPointerReleased(PointerEventArgs e) { }
private void SetPointerOver(IPointerDevice device, IInputElement element, Point p) { IEnumerable<IInputElement> hits = element.GetInputElementsAt(p); foreach (var control in this.pointerOvers.Except(hits).ToList()) { PointerEventArgs e = new PointerEventArgs { RoutedEvent = InputElement.PointerLeaveEvent, Device = device, OriginalSource = control, Source = control, }; this.pointerOvers.Remove(control); control.RaiseEvent(e); } foreach (var control in hits.Except(this.pointerOvers)) { PointerEventArgs e = new PointerEventArgs { RoutedEvent = InputElement.PointerEnterEvent, Device = device, OriginalSource = control, Source = control, }; this.pointerOvers.Add(control); control.RaiseEvent(e); } }