protected override bool OnHoverOverAdorner(IAdorner adorner) { if (this.action == null && !this.IsAltDown) { this.PopSelf(); return(true); } PathPartAdorner pathPartAdorner = adorner as PathPartAdorner; if (pathPartAdorner == null) { return(base.OnHoverOverAdorner(adorner)); } PenAction penAction = this.GetAction(pathPartAdorner); if (penAction == null) { if (this.action != null) { penAction = this.action; } else { this.PopSelf(); return(true); } } this.Cursor = penAction.HoverCursor; return(true); }
public override Cursor GetCursor(IAdorner adorner) { if (adorner is LayoutEmptyBackgroundHeaderAdorner) { return(Cursors.Arrow); } if (adorner is GridLockAdorner) { return(Cursors.Hand); } LayoutLineHeaderAdorner lineHeaderAdorner = adorner as LayoutLineHeaderAdorner; if (lineHeaderAdorner != null) { if (!lineHeaderAdorner.IsX) { return(Cursors.SizeNS); } return(Cursors.SizeWE); } if (!(adorner is NewGridlineAdorner)) { return(ToolCursors.GridRowSelectCursor); } if (((LayoutBehavior)this.Behavior).IsNewGridlineEnabled) { return(ToolCursors.AddArrowCursor); } return(Cursors.Arrow); }
public override void EnsureVisible(IAdorner adorner, bool scrollNow) { IClickable clickable = adorner as IClickable; if (adorner == null || clickable == null || !(adorner.ElementSet.PrimaryElement is BaseFrameworkElement)) { return; } Matrix identity = Matrix.Identity; AdornerSet adornerSet = adorner.AdornerSet as AdornerSet; Matrix matrix; Visual visual; if (adornerSet != null) { matrix = adornerSet.Matrix; visual = (Visual)this.Artboard.AdornerLayer; } else { matrix = this.platformSurface.TransformToVisual(adorner.ElementSet.PrimaryElement.ViewObject, (IViewObject)this.HitTestRoot); visual = (Visual)this.ViewRootContainer; } Point clickablePoint = clickable.GetClickablePoint(matrix); Rect rect = new Rect(clickablePoint.X - 3.0, clickablePoint.Y - 3.0, 6.0, 6.0); this.EnsureVisibleInternal(visual, rect, scrollNow); }
public void AddAdorner(IAdorner adorner) { var popup = new Popup(); var surfaceVisual = Window.Current.Content.TransformToVisual(this); var point = surfaceVisual.TransformPoint(new FoundationPoint(0, 0)); var coreInstance = adorner.GetCoreInstance(); adorner.PropertyChanged += (sender, args) => { // I don't like how this is implemented. Refactor! if (args.PropertyName.Equals("Left")) { popup.HorizontalOffset = adorner.Left - point.X; } if (args.PropertyName.Equals("Top")) { popup.VerticalOffset = adorner.Top - point.Y; } }; var uiElementAdapter = (FrameworkElementAdapter)coreInstance; popup.Child = (UIElement)uiElementAdapter.GetCoreInstance(); popup.HorizontalOffset = adorner.Left - point.X; popup.VerticalOffset = adorner.Top - point.Y; popup.IsOpen = true; PopupsDictionary.Add(adorner, popup); }
protected override bool OnButtonDownOverAdorner(IAdorner adorner) { this.EndAction(); if (!this.ToolBehaviorContext.SnappingEngine.IsStarted) { this.ToolBehaviorContext.SnappingEngine.Start(this.ToolBehaviorContext, (BaseFrameworkElement)null, (IList <BaseFrameworkElement>)null); } PathPartAdorner pathPartAdorner = adorner as PathPartAdorner; if (pathPartAdorner == null) { return(base.OnButtonDownOverAdorner(adorner)); } PenAction action = this.GetAction(pathPartAdorner); SceneElement sceneElement = (SceneElement)this.EditingElement; this.pathEditorTarget = pathPartAdorner.PathAdornerSet.PathEditorTarget; if (this.pathEditorTarget != null) { this.EditingElement = (BaseFrameworkElement)this.pathEditorTarget.EditingElement; } if (sceneElement != null) { this.ActiveSceneViewModel.DefaultView.AdornerLayer.InvalidateAdornerVisuals(sceneElement); } this.BeginAction(action, pathPartAdorner); return(true); }
public void RemoveAdorner(IAdorner adorner) { var popup = PopupsDictionary[adorner]; popup.IsOpen = false; PopupsDictionary.Remove(adorner); }
public void RemoveAdorner(IAdorner adorner) { var coreInstance = (Visual)GetCoreInstance(); var adornerLayer = AdornerLayer.GetAdornerLayer(coreInstance); adornerLayer.Remove((Adorner)adorner); }
public IAdorner GetHitAdorner(Point hitPoint, Type[] adornerFilterTypes) { if (!this.AdornerLayer.IsVisible) { return((IAdorner)null); } IAdorner adorner = (IAdorner)null; if (this.AdornerLayer != null) { adorner = (IAdorner)this.GetHitAdorner((Visual)this.AdornerLayer, this.ContentArea.TransformToVisual((Visual)this.AdornerLayer).Transform(hitPoint), adornerFilterTypes); } List <AdornerSet3DContainer> adornerSet3Dcontainers = this.AdornerLayer.AdornerSet3DContainers; if (adorner == null && adornerSet3Dcontainers != null && adornerSet3Dcontainers.Count > 0) { foreach (AdornerSet3DContainer layer in adornerSet3Dcontainers) { Point point = this.ContentArea.TransformToVisual((Visual)layer).Transform(hitPoint); adorner = (IAdorner)this.GetHitAdorner3D(layer, point); if (adorner != null) { break; } } } return(adorner); }
protected override bool OnButtonDownOverAdorner(IAdorner adorner) { if (this.action != null) { this.action.End(); this.action = (PenAction)null; } if (!this.ToolBehaviorContext.SnappingEngine.IsStarted) { this.ToolBehaviorContext.SnappingEngine.Start(this.ToolBehaviorContext, (BaseFrameworkElement)null, (IList <BaseFrameworkElement>)null); } PathPartAdorner pathPartAdorner = adorner as PathPartAdorner; if (pathPartAdorner == null) { return(base.OnButtonDownOverAdorner(adorner)); } this.action = this.GetAction(pathPartAdorner); if (this.action != null) { this.action.Begin(new PathEditContext(pathPartAdorner.FigureIndex, pathPartAdorner.PartIndex), this.MouseDevice); if (!this.affectedAdornerSets.Contains(pathPartAdorner.PathAdornerSet)) { this.affectedAdornerSets.Add(pathPartAdorner.PathAdornerSet); } this.isConstrainingAxes = this.IsShiftDown; this.UpdateCursor(); } return(true); }
public override Cursor GetCursor(IAdorner adorner) { if (this.ToolContext.Tool is GradientBrushTool && adorner is BrushTranslateAdorner) { return(ToolCursors.AddArrowCursor); } return(Cursors.SizeAll); }
protected virtual bool OnHoverOverAdorner(IAdorner adorner) { if (adorner.AdornerSet.Behavior == null) { return(false); } this.Cursor = adorner.AdornerSet.GetCursor(adorner); return(true); }
public override Cursor GetCursor(IAdorner adorner) { DesignTimeSizeAdorner designTimeSizeAdorner = adorner as DesignTimeSizeAdorner; if (designTimeSizeAdorner.IsEnabled) { return(ToolCursors.DesignTimeResizeCursor.GetCursor(designTimeSizeAdorner.NormalDirection)); } return(Cursors.Arrow); }
public override Cursor GetCursor(IAdorner adorner) { AnchorPointAdorner anchorPointAdorner = adorner as AnchorPointAdorner; if (anchorPointAdorner != null) { return(ToolCursors.ResizeCursor.GetCursor(anchorPointAdorner.NormalDirection)); } return(ToolCursors.SubselectMoveCursor); }
protected override bool OnHoverOverAdorner(IAdorner adorner) { PathPartAdorner adorner1 = adorner as PathPartAdorner; if (adorner1 == null) { return(base.OnHoverOverAdorner(adorner)); } this.Cursor = this.GetAction(adorner1).HoverCursor; this.PreviewInsertionPoint = (ISceneInsertionPoint)null; return(true); }
public override Cursor GetCursor(IAdorner adorner) { if ((this.adornerUsage & SelectionAdornerUsages.UseBoundingBox) == SelectionAdornerUsages.None) { return((Cursor)null); } if (!(this.ToolContext.Tool is SubselectionTool)) { return(ToolCursors.RelocateCursor); } return(ToolCursors.SubselectMoveCursor); }
protected override sealed bool OnButtonDown(Point pointerPosition) { this.adornerToolTipService.MouseOverAdorner = (IAdorner)null; bool flag = false; IAdorner hitAdorner = this.ActiveView.AdornerService.GetHitAdorner(this.MouseDevice); if (hitAdorner != null) { flag = this.OnButtonDownOverAdorner(hitAdorner); } if (!flag) { flag = this.OnButtonDownOverNonAdorner(pointerPosition); } return(flag); }
public override Cursor GetCursor(IAdorner adorner) { if (adorner is PathPointAdorner) { return(ToolCursors.SubselectPointCursor); } if (adorner is PathSegmentAdorner) { return(ToolCursors.SubselectSegmentCursor); } if (adorner is PathTangentAdorner) { return(ToolCursors.SubselectTangentCursor); } return(ToolCursors.SubselectionCursor); }
protected virtual bool OnButtonDownOverAdorner(IAdorner adorner) { ToolBehavior behavior = adorner.AdornerSet.Behavior; if (behavior == null) { return(false); } AdornedToolBehavior adornedToolBehavior = behavior as AdornedToolBehavior; if (adornedToolBehavior != null) { adornedToolBehavior.SetActiveAdorner(adorner); } this.PushBehavior(behavior); return(true); }
public override Cursor GetCursor(IAdorner adorner) { LinearGradientAdorner linearGradientAdorner = (LinearGradientAdorner)adorner; if (linearGradientAdorner.Kind == LinearGradientAdornerKind.StartPoint || linearGradientAdorner.Kind == LinearGradientAdornerKind.EndPoint) { return(Cursors.Hand); } Point point = linearGradientAdorner.StartPoint * linearGradientAdorner.AdornerSet.Matrix; Vector direction = linearGradientAdorner.EndPoint * linearGradientAdorner.AdornerSet.Matrix - point; if (linearGradientAdorner.Kind == LinearGradientAdornerKind.StartRotation) { direction = -direction; } return(ToolCursors.RotateCursor.GetCursor(direction)); }
public override Cursor GetCursor(IAdorner adorner) { switch (((Adorner3D)adorner).Axis) { case Adorner3D.TransformVia.XAxis: return(ToolCursors.RotateXAxisCursor); case Adorner3D.TransformVia.YAxis: return(ToolCursors.RotateYAxisCursor); case Adorner3D.TransformVia.ZAxis: return(ToolCursors.RotateZAxisCursor); default: return(ToolCursors.CrosshairCursor); } }
public bool CanClickOnAdorner(IAdorner adorner, SceneView sceneView, IViewObject rootViewObject, ref Point clickablePoint) { if (this.AdornerLayer == null || !this.AdornerLayer.IsVisible) { return(false); } bool flag = false; IClickable clickable = adorner as IClickable; if (clickable != null) { Matrix transformMatrix = ((AdornerSet)adorner.AdornerSet).GetTransformMatrix(rootViewObject); clickablePoint = clickable.GetClickablePoint(transformMatrix); Window mainWindow = Application.Current.MainWindow; Matrix matrixFromTransform = VectorUtilities.GetMatrixFromTransform(sceneView.ComputeTransformToVisual(rootViewObject, (Visual)mainWindow)); Point point = clickablePoint * matrixFromTransform; flag = this.GetHitAdorner((Visual)mainWindow, point) == adorner; } return(flag); }
public override void EnsureVisible(IAdorner adorner, bool scrollNow) { IClickable clickable = adorner as IClickable; if (adorner == null || clickable == null || !(adorner.ElementSet.PrimaryElement is BaseFrameworkElement)) { return; } Matrix matrix = Matrix.Identity; Visual visual = adorner.ElementSet.PrimaryElement.ViewObject.PlatformSpecificObject as Visual; AdornerSet adornerSet = adorner.AdornerSet as AdornerSet; if (adornerSet != null) { matrix = adornerSet.Matrix; visual = (Visual)this.Artboard.AdornerLayer; } Point clickablePoint = clickable.GetClickablePoint(matrix); Rect rect = new Rect(clickablePoint.X - 3.0, clickablePoint.Y - 3.0, 6.0, 6.0); this.EnsureVisibleInternal(visual, rect, scrollNow); }
public void RemoveAdorner(IAdorner adorner) { var adornerLayer = AdornerLayer.GetAdornerLayer(UIElement); var adorners = adornerLayer.GetAdorners(UIElement); }
public void AddAdorner(IAdorner adorner) { var adornerLayer = AdornerLayer.GetAdornerLayer(UIElement); adornerLayer.Add((Adorner)adorner); }
public void AddAdorner(IAdorner adorner) { var adornerLayer = AdornerLayer.GetAdornerLayer(UIElement); adornerLayer.Add((Adorner) adorner); }
public override Cursor GetCursor(IAdorner adorner) { return(ToolCursors.CenterPointCursor); }
public void SetActiveAdorner(IAdorner activeAdorner) { this.activeAdorner = activeAdorner; this.activeAdorner.IsActive = true; }
protected Shape(IAdorner adorner) { Adorner = adorner; }
public void AddAdorner(IAdorner adorner) { throw new System.NotImplementedException(); }
public void AddAdorner(IAdorner adorner) { var popup = new Popup(); var surfaceVisual = Window.Current.Content.TransformToVisual(this); var point = surfaceVisual.TransformPoint(new FoundationPoint(0, 0)); var coreInstance = adorner.GetCoreInstance(); adorner.PropertyChanged += (sender, args) => { // I don't like how this is implemented. Refactor! if (args.PropertyName.Equals("Left")) { popup.HorizontalOffset = adorner.Left - point.X; } if (args.PropertyName.Equals("Top")) { popup.VerticalOffset = adorner.Top - point.Y; } }; var uiElementAdapter = (FrameworkElementAdapter) coreInstance; popup.Child = (UIElement) uiElementAdapter.GetCoreInstance(); popup.HorizontalOffset = adorner.Left - point.X; popup.VerticalOffset = adorner.Top - point.Y; popup.IsOpen = true; PopupsDictionary.Add(adorner, popup); }
public override Cursor GetCursor(IAdorner adorner) { return(ToolCursors.SubselectMoveCursor); }
public override Cursor GetCursor(IAdorner adorner) { return(ToolCursors.ResizeCursor.GetCursor(((BrushAnchorPointAdorner)adorner).NormalDirection)); }
public override Cursor GetCursor(IAdorner adorner) { return(ToolCursors.SkewCursor.GetCursor(((BrushAnchorPointAdorner)adorner).EdgeDirection)); }
public void RemoveAdorner(IAdorner adorner) { var coreInstance = (Visual) GetCoreInstance(); var adornerLayer = AdornerLayer.GetAdornerLayer(coreInstance); adornerLayer.Remove((Adorner) adorner); }