/// <summary> /// Constructor. /// </summary> public ViewComplementManipulationAdorner(ViewManipulationManager OwnerManager, VisualComplement TargetComplement, AdornerLayer TargetLayer, Action <ViewManipulationAdorner, bool, bool, bool, bool, bool, bool, bool, bool> ManipulationOperation) : base(OwnerManager, TargetComplement, TargetLayer) { this.DefaultAction_ = (byte)EComplementManipulationAction.Edit; this.ManipulatingHeadingRectangle = TargetComplement.BaseArea; this.ManipulationOperation = ManipulationOperation; }
/// <summary> /// Constructor. /// </summary> public ViewSymbolManipulationAdorner(ViewManipulationManager OwnerManager, VisualSymbol TargetSymbol, AdornerLayer TargetLayer, Action <ViewManipulationAdorner, bool, bool, bool, bool, bool, bool, bool, bool> ManipulationOperation) : base(OwnerManager, TargetSymbol, TargetLayer) { DefaultAction_ = (byte)ESymbolManipulationAction.EditInPlace; ManipulatingHeadingRectangle = TargetSymbol.BaseArea; ManipulatingHeadingLabel = TargetSymbol.LabelingArea; ManipulatingDetailsRectangle = TargetSymbol.DetailsArea; this.ManipulationOperation = ManipulationOperation; }
/// <summary> /// Constructor. /// </summary> public ViewManipulationAdorner(ViewManipulationManager OwnerManager, VisualObject TargetObject, AdornerLayer TargetLayer) : base(OwnerManager.OwnerView.PresenterControl) { this.IsHitTestVisible = true; this.OwnerManager = OwnerManager; this.ManipulatedObject = TargetObject; this.BaseLayer = TargetLayer; this.Indicators = new VisualCollection(this); this.ExclusivePointingIndicators = new List <Visual>(); this.ContextControl = this.OwnerManager.OwnerView.PresenterControl; }
/// <summary> /// Constructor. /// </summary> public ViewConnectorManipulationAdorner(ViewManipulationManager OwnerManager, VisualConnector WorkingConnector, AdornerLayer WorkingLayer, Action <ViewManipulationAdorner, bool, bool, bool, bool, bool, bool, bool, bool> ManipulationOperation) : base(OwnerManager, WorkingConnector, WorkingLayer) { this.TentativeAction_ = (byte)EConnectorManipulationAction.Displace; this.DefaultAction_ = (byte)EConnectorManipulationAction.Displace; this.ManipulationOperation = ManipulationOperation; var OriginEdgePoint = WorkingConnector.OriginPosition.DetermineNearestIntersectingPoint(WorkingConnector.TargetPosition, OwnerManager.OwnerView.Presenter, WorkingConnector.OriginSymbol.Graphic, OwnerManager.OwnerView.VisualHitTestFilter); var TargetEdgePoint = WorkingConnector.TargetPosition.DetermineNearestIntersectingPoint(WorkingConnector.OriginPosition, OwnerManager.OwnerView.Presenter, WorkingConnector.TargetSymbol.Graphic, OwnerManager.OwnerView.VisualHitTestFilter); var ViewPosition = Mouse.GetPosition(this.OwnerManager.OwnerView.Presenter); var DistanceToOrigin = (ViewPosition - OriginEdgePoint).Length; var DistanceToTarget = (ViewPosition - TargetEdgePoint).Length; this.ManipulationAlternatePosition = (WorkingConnector.OriginSymbol == WorkingConnector.OwnerRelationshipRepresentation.MainSymbol ? WorkingConnector.OriginPosition : WorkingConnector.TargetPosition); this.ManipulConnDisplacingPos = (this.ManipulatedConnector.IntermediatePosition == Display.NULL_POINT ? (WorkingConnector.OriginSymbol == WorkingConnector.OwnerRelationshipRepresentation.MainSymbol ? new Point((this.ManipulationAlternatePosition.X + TargetEdgePoint.X) / 2.0, (this.ManipulationAlternatePosition.Y + TargetEdgePoint.Y) / 2.0) : new Point((OriginEdgePoint.X + this.ManipulationAlternatePosition.X) / 2.0, (OriginEdgePoint.Y + this.ManipulationAlternatePosition.Y) / 2.0)) : this.ManipulatedConnector.IntermediatePosition); //T Console.WriteLine("ManConnDisPos=" + this.ManipulConnDisplacingPos + " at " + DateTime.Now.Ticks); if (DistanceToOrigin < DistanceToTarget) { this.WorkingOnOrigin = true; this.ManipulConnRelinkingPos = OriginEdgePoint; } else { this.WorkingOnOrigin = false; this.ManipulConnRelinkingPos = TargetEdgePoint; } this.ActStroke.Opacity = 0.1; }