Esempio n. 1
0
        private void dragX_Started(DragListener drag)
        {
            _adornerLayer = this.adornerPanel.TryFindParent <AdornerLayer>();

            var designerItem = this.ExtendedItem.Component as FrameworkElement;

            this.parent = VisualTreeHelper.GetParent(designerItem) as UIElement;

            startPoint = Mouse.GetPosition(this.parent);

            if (this.skewTransform == null)
            {
                this.skewX = 0;
                this.skewY = 0;
            }
            else
            {
                this.skewX = this.skewTransform.AngleX;
                this.skewY = this.skewTransform.AngleY;
            }

            rtTransform = this.ExtendedItem.Properties[FrameworkElement.RenderTransformProperty].Value;

            operation = PlacementOperation.Start(extendedItemArray, PlacementType.Resize);
        }
        // TODO : Remove all hide/show extensions from here.
        void drag_Started(DragListener drag)
        {
            /* Abort editing Text if it was editing, because it interferes with the undo stack. */
            foreach (var extension in this.ExtendedItem.Extensions)
            {
                if (extension is InPlaceEditorExtension)
                {
                    ((InPlaceEditorExtension)extension).AbortEdit();
                }
            }

            drag.Transform = this.ExtendedItem.GetCompleteAppliedTransformationToView();

            oldSize = new Size(ModelTools.GetWidth(ExtendedItem.View), ModelTools.GetHeight(ExtendedItem.View));
            if (resizeBehavior != null)
            {
                operation = PlacementOperation.Start(extendedItemArray, PlacementType.Resize);
            }
            else
            {
                changeGroup = this.ExtendedItem.Context.OpenGroup("Resize", extendedItemArray);
            }
            _isResizing = true;
            ShowSizeAndHideHandles();
        }
        private void drag_Rotate_Started(DragListener drag)
        {
            var designerItem = this.ExtendedItem.Component as FrameworkElement;

            this.parent      = VisualTreeHelper.GetParent(designerItem) as UIElement;
            this.centerPoint = designerItem.TranslatePoint(
                new Point(designerItem.ActualWidth * designerItem.RenderTransformOrigin.X,
                          designerItem.ActualHeight * designerItem.RenderTransformOrigin.Y),
                this.parent);

            Point startPoint = Mouse.GetPosition(this.parent);

            this.startVector = Point.Subtract(startPoint, this.centerPoint);

            if (this.rotateTransform == null)
            {
                this.initialAngle = 0;
            }
            else
            {
                this.initialAngle = this.rotateTransform.Angle;
            }

            rtTransform = this.ExtendedItem.Properties[FrameworkElement.RenderTransformProperty].Value;

            operation = PlacementOperation.Start(extendedItemArray, PlacementType.Resize);
        }
Esempio n. 4
0
        private void dragX_Changed(DragListener drag)
        {
            Point  currentPoint = Mouse.GetPosition(this.parent);
            Vector deltaVector  = Point.Subtract(currentPoint, this.startPoint);

            var destAngle = (-0.5 * deltaVector.X) + skewX;

            if (destAngle == 0 && skewY == 0)
            {
                this.ExtendedItem.Properties.GetProperty(FrameworkElement.RenderTransformProperty).Reset();
                rtTransform   = null;
                skewTransform = null;
            }
            else
            {
                if ((rtTransform == null) || !(rtTransform.Component is SkewTransform))
                {
                    if (!this.ExtendedItem.Properties.GetProperty(FrameworkElement.RenderTransformOriginProperty).IsSet)
                    {
                        this.ExtendedItem.Properties.GetProperty(FrameworkElement.RenderTransformOriginProperty).SetValue(new Point(0.5, 0.5));
                    }

                    if (this.skewTransform == null)
                    {
                        this.skewTransform = new SkewTransform(0, 0);
                    }
                    this.ExtendedItem.Properties.GetProperty(FrameworkElement.RenderTransformProperty).SetValue(skewTransform);
                    rtTransform = this.ExtendedItem.Properties[FrameworkElement.RenderTransformProperty].Value;
                }
                rtTransform.Properties["AngleX"].SetValue(destAngle);
            }

            _adornerLayer.UpdateAdornersForElement(this.ExtendedItem.View, true);
        }
Esempio n. 5
0
        // TODO : Remove all hide/show extensions from here.
        void drag_Started(DragListener drag)
        {
            var designPanel = ExtendedItem.Services.DesignPanel as DesignPanel;

            if (designPanel != null)
            {
                var p = VisualTreeHelper.GetParent(designPanel);
                while (p != null && !(p is ZoomControl))
                {
                    p = VisualTreeHelper.GetParent(p);
                }
                zoom = p as ZoomControl;
            }

            /* Abort editing Text if it was editing, because it interferes with the undo stack. */
            foreach (var extension in this.ExtendedItem.Extensions)
            {
                if (extension is InPlaceEditorExtension)
                {
                    ((InPlaceEditorExtension)extension).AbortEdit();
                }
            }

            oldSize = new Size(ModelTools.GetWidth(ExtendedItem.View), ModelTools.GetHeight(ExtendedItem.View));
            if (resizeBehavior != null)
            {
                operation = PlacementOperation.Start(extendedItemArray, PlacementType.Resize);
            }
            else
            {
                changeGroup = this.ExtendedItem.Context.OpenGroup("Resize", extendedItemArray);
            }
            _isResizing = true;
            ShowSizeAndHideHandles();
        }
 void drag_Completed(DragListener drag)
 {
     if (operation != null)
     {
         if (drag.IsCanceled)
         {
             operation.Abort();
         }
         else
         {
             operation.Commit();
         }
         operation = null;
     }
     else
     {
         if (drag.IsCanceled)
         {
             changeGroup.Abort();
         }
         else
         {
             changeGroup.Commit();
         }
         changeGroup = null;
     }
     _isResizing = false;
     HideSizeAndShowHandles();
 }
Esempio n. 7
0
        protected virtual void drag_Changed(DragListener drag)
        {
            ArrowLine al = ExtendedItem.View as ArrowLine;

            var    alignment = (drag.Target as DesignerThumb).Alignment;
            var    info      = operation.PlacedItems[0];
            double dx        = 0;
            double dy        = 0;

            if (zoom != null)
            {
                dx = drag.Delta.X * (1 / zoom.CurrentZoom);
                dy = drag.Delta.Y * (1 / zoom.CurrentZoom);
            }

            double top, left, x, y, xtop, xleft;

            if (alignment == PlacementAlignment.TopLeft)
            {
                //normal values
                x    = CurrentX2 - dx;
                y    = CurrentY2 - dy;
                top  = CurrentTop + dy;
                left = CurrentLeft + dx;

                //values to use when keys are pressed
                xtop  = CurrentTop + CurrentY2;
                xleft = CurrentLeft + CurrentX2;
            }
            else
            {
                x    = CurrentX2 + dx;
                y    = CurrentY2 + dy;
                top  = xtop = CurrentTop;
                left = xleft = CurrentLeft;
            }

            Bounds position = CalculateDrawing(x, y, left, top, xleft, xtop);

            ExtendedItem.Properties.GetProperty(ArrowLine.X1Property).SetValue(0);
            ExtendedItem.Properties.GetProperty(ArrowLine.Y1Property).SetValue(0);
            ExtendedItem.Properties.GetProperty(ArrowLine.X2Property).SetValue(position.X);
            ExtendedItem.Properties.GetProperty(ArrowLine.Y2Property).SetValue(position.Y);

            if (operation != null)
            {
                var result = info.OriginalBounds;
                result.X      = position.Left;
                result.Y      = position.Top;
                result.Width  = Math.Abs(position.X);
                result.Height = Math.Abs(position.Y);

                info.Bounds = result.Round();
                operation.CurrentContainerBehavior.BeforeSetPosition(operation);
                operation.CurrentContainerBehavior.SetPosition(info);
            }

            (drag.Target as DesignerThumb).InvalidateArrange();
            ResetWidthHeightProperties();
        }
Esempio n. 8
0
        // TODO : Remove all hide/show extensions from here.
        protected virtual void drag_Started(DragListener drag)
        {
            ArrowLine al = ExtendedItem.View as ArrowLine;

            CurrentX2   = al.X2;
            CurrentY2   = al.Y2;
            CurrentLeft = (double)al.GetValue(Canvas.LeftProperty);
            CurrentTop  = (double)al.GetValue(Canvas.TopProperty);

            var designPanel = ExtendedItem.Services.DesignPanel as DesignPanel;

            zoom = designPanel.TryFindParent <ZoomControl>();

            if (resizeBehavior != null)
            {
                operation = PlacementOperation.Start(extendedItemArray, PlacementType.Resize);
            }
            else
            {
                changeGroup = this.ExtendedItem.Context.OpenGroup("Resize", extendedItemArray);
            }
            _isResizing = true;

            (drag.Target as DesignerThumb).IsPrimarySelection = false;
        }
Esempio n. 9
0
        protected virtual void drag_Completed(DragListener drag)
        {
            if (operation != null)
            {
                if (drag.IsCanceled)
                {
                    operation.Abort();
                }
                else
                {
                    ResetWidthHeightProperties();

                    operation.Commit();
                }
                operation = null;
            }
            else
            {
                if (drag.IsCanceled)
                {
                    changeGroup.Abort();
                }
                else
                {
                    changeGroup.Commit();
                }
                changeGroup = null;
            }

            _isResizing = false;
            (drag.Target as DesignerThumb).IsPrimarySelection = true;
            HideSizeAndShowHandles();
        }
Esempio n. 10
0
        protected DesignerThumb CreateThumb(PlacementAlignment alignment, Cursor cursor, int index)
        {
            DesignerThumb designerThumb = new MultiPointThumb
            {
                Index              = index,
                Alignment          = alignment,
                Cursor             = cursor,
                IsPrimarySelection = true
            };
            AdornerPlacement ap = Place(designerThumb, alignment, index);

            (designerThumb as MultiPointThumb).AdornerPlacement = ap;

            AdornerPanel.SetPlacement(designerThumb, ap);
            adornerPanel.Children.Add(designerThumb);

            DragListener drag = new DragListener(designerThumb);

            WeakEventManager <DesignerThumb, MouseButtonEventArgs> .AddHandler(designerThumb,
                                                                               "PreviewMouseLeftButtonDown", ResizeThumbOnMouseLeftButtonUp);

            drag.Started   += drag_Started;
            drag.Changed   += drag_Changed;
            drag.Completed += drag_Completed;
            return(designerThumb);
        }
Esempio n. 11
0
 public AnimatorListenerAdapterAnonymousInnerClass2(DragListener outerInstance, int direction,
                                                    View topView)
 {
     _outerInstance = outerInstance;
     _direction     = direction;
     _topView       = topView;
 }
Esempio n. 12
0
    private void Awake()
    {
        m_dragListener      = GetComponent <DragListener>();
        m_collisionListener = GetComponent <CollisionListener>();
        m_rb            = GetComponent <Rigidbody>();
        m_constantForce = GetComponent <ConstantForce>();

        m_constantForce.force = Vector3.zero;
        m_rb.useGravity       = false;
    }
Esempio n. 13
0
    static public DragListener Get(Transform trans)
    {
        DragListener listener = trans.GetComponent <DragListener>();

        if (listener == null)
        {
            listener = trans.gameObject.AddComponent <DragListener>();
        }
        return(listener);
    }
Esempio n. 14
0
    static public DragListener Get(GameObject go)
    {
        DragListener listener = go.GetComponent <DragListener>();

        if (listener == null)
        {
            listener = go.AddComponent <DragListener>();
        }
        return(listener);
    }
Esempio n. 15
0
    static public DragListener Get(Component com)
    {
        DragListener listener = com.GetComponent <DragListener>();

        if (listener == null)
        {
            listener = com.gameObject.AddComponent <DragListener>();
        }
        return(listener);
    }
Esempio n. 16
0
    public void AddCamera(Transform camTrans)
    {
        mCamTrans = camTrans;
        mCamRect  = GameObject.Instantiate(CameraRectPrefab).GetComponent <RectTransform>();
        mCamRect.SetParent(mMiniMap.Find("Container"));
        mCamRect.localScale = new Vector3(1, 1, 1);
        DragListener listener = mCamRect.Find("Rect").GetComponent <DragListener>();

        listener.DragAction += OnDragCamRect;
    }
Esempio n. 17
0
        // TODO : Remove all hide/show extensions from here.
        protected void drag_Started(DragListener drag)
        {
            //get current thumb
            MultiPointThumb mprt = (drag.Target as MultiPointThumb);

            if (mprt != null)
            {
                SetOperation();
            }
        }
Esempio n. 18
0
 public static DragListener Get(GameObject obj)
 {
     if (obj != null)
     {
         DragListener listener = obj.GetComponent <DragListener> ();
         if (listener == null)
         {
             listener = obj.AddComponent <DragListener> ();
         }
         return(listener);
     }
     return(null);
 }
Esempio n. 19
0
    void CheckDragListener()
    {
        DragListener l = this.GetComponent <DragListener>();

        if (l != null)
        {
            return;
        }
        l             = this.gameObject.AddComponentIfNoExist <DragListener>();
        l.onDragBegin = OnBeginDrag;
        l.onDrag      = OnDrag;
        l.onDragEnd   = OnEndDrag;
    }
Esempio n. 20
0
        void drag_Changed(DragListener drag)
        {
            double dx        = 0;
            double dy        = 0;
            var    alignment = (drag.Target as ResizeThumb).Alignment;

            if (alignment.Horizontal == HorizontalAlignment.Left)
            {
                dx = -drag.Delta.X;
            }
            if (alignment.Horizontal == HorizontalAlignment.Right)
            {
                dx = drag.Delta.X;
            }
            if (alignment.Vertical == VerticalAlignment.Top)
            {
                dy = -drag.Delta.Y;
            }
            if (alignment.Vertical == VerticalAlignment.Bottom)
            {
                dy = drag.Delta.Y;
            }

            var newWidth  = Math.Max(0, oldSize.Width + dx);
            var newHeight = Math.Max(0, oldSize.Height + dy);

            ModelTools.Resize(ExtendedItem, newWidth, newHeight);

            if (operation != null)
            {
                var info   = operation.PlacedItems[0];
                var result = info.OriginalBounds;

                if (alignment.Horizontal == HorizontalAlignment.Left)
                {
                    result.X = Math.Min(result.Right, result.X - dx);
                }
                if (alignment.Vertical == VerticalAlignment.Top)
                {
                    result.Y = Math.Min(result.Bottom, result.Y - dy);
                }
                result.Width  = newWidth;
                result.Height = newHeight;

                info.Bounds = result.Round();
                info.ResizeThumbAlignment = alignment;
                operation.CurrentContainerBehavior.BeforeSetPosition(operation);
                operation.CurrentContainerBehavior.SetPosition(info);
            }
        }
Esempio n. 21
0
        ResizeThumb CreateThumb(PlacementAlignment alignment, Cursor cursor)
        {
            ResizeThumb resizeThumb = new ResizeThumbImpl(cursor == Cursors.SizeNS, cursor == Cursors.SizeWE);

            resizeThumb.Cursor    = cursor;
            resizeThumb.Alignment = alignment;
            AdornerPanel.SetPlacement(resizeThumb, Place(ref resizeThumb, alignment));
            adornerPanel.Children.Add(resizeThumb);

            DragListener drag = new DragListener(resizeThumb);

            drag.Started   += new DragHandler(drag_Started);
            drag.Changed   += new DragHandler(drag_Changed);
            drag.Completed += new DragHandler(drag_Completed);
            return(resizeThumb);
        }
        DesignerThumb CreateThumb(PlacementAlignment alignment, Cursor cursor)
        {
            DesignerThumb designerThumb = new ResizeThumb(cursor == Cursors.SizeNS, cursor == Cursors.SizeWE);

            designerThumb.Cursor    = cursor;
            designerThumb.Alignment = alignment;
            AdornerPanel.SetPlacement(designerThumb, Place(ref designerThumb, alignment));
            adornerPanel.Children.Add(designerThumb);

            DragListener drag = new DragListener(designerThumb);

            drag.Started   += drag_Started;
            drag.Changed   += drag_Changed;
            drag.Completed += drag_Completed;
            return(designerThumb);
        }
Esempio n. 23
0
        protected void drag_Completed(DragListener drag)
        {
            MultiPointThumb mprt = drag.Target as MultiPointThumb;

            if (mprt != null)
            {
                if (operation != null && drag.IsCanceled)
                {
                    operation.Abort();
                }
                else if (drag.IsCanceled)
                {
                    changeGroup.Abort();
                }
                CommitOperation();
            }
        }
Esempio n. 24
0
        protected DesignerThumb CreateThumb(PlacementAlignment alignment, Cursor cursor)
        {
            DesignerThumb designerThumb = new DesignerThumb {
                Alignment = alignment, Cursor = cursor, IsPrimarySelection = true
            };

            AdornerPanel.SetPlacement(designerThumb, Place(designerThumb, alignment));

            adornerPanel.Children.Add(designerThumb);

            DragListener            = new DragListener(designerThumb);
            DragListener.Started   += drag_Started;
            DragListener.Changed   += drag_Changed;
            DragListener.Completed += drag_Completed;

            return(designerThumb);
        }
Esempio n. 25
0
        protected UserControlPointsObjectThumb CreateThumb(PlacementAlignment alignment, Cursor cursor, DependencyProperty property)
        {
            var designerThumb = new UserControlPointsObjectThumb {
                Alignment = alignment, Cursor = cursor, IsPrimarySelection = true, DependencyProperty = property
            };

            AdornerPanel.SetPlacement(designerThumb, Place(designerThumb, alignment));

            adornerPanel.Children.Add(designerThumb);

            DragListener            = new DragListener(designerThumb);
            DragListener.Started   += drag_Started;
            DragListener.Changed   += drag_Changed;
            DragListener.Completed += drag_Completed;

            return(designerThumb);
        }
Esempio n. 26
0
        protected override void OnInitialized()
        {
            if (this.ExtendedItem.Component is WindowClone)
            {
                return;
            }
            base.OnInitialized();

            extendedItemArray[0] = this.ExtendedItem;
            this.ExtendedItem.PropertyChanged += OnPropertyChanged;

            var designerItem = this.ExtendedItem.Component as FrameworkElement;

            this.skewTransform = designerItem.RenderTransform as SkewTransform;

            if (skewTransform != null)
            {
                skewX = skewTransform.AngleX;
                skewY = skewTransform.AngleY;
            }

            thumb1 = new Thumb()
            {
                Cursor = Cursors.ScrollWE, Height = 14, Width = 4, Opacity = 1
            };
            thumb2 = new Thumb()
            {
                Cursor = Cursors.ScrollNS, Width = 14, Height = 4, Opacity = 1
            };

            OnPropertyChanged(null, null);

            adornerPanel.Children.Add(thumb1);
            adornerPanel.Children.Add(thumb2);

            DragListener drag1 = new DragListener(thumb1);

            drag1.Started   += dragX_Started;
            drag1.Changed   += dragX_Changed;
            drag1.Completed += dragX_Completed;
            DragListener drag2 = new DragListener(thumb2);

            drag2.Started   += dragY_Started;
            drag2.Changed   += dragY_Changed;
            drag2.Completed += dragY_Completed;
        }
        private void drag_Rotate_Changed(DragListener drag)
        {
            Point  currentPoint = Mouse.GetPosition(this.parent);
            Vector deltaVector  = Point.Subtract(currentPoint, this.centerPoint);

            double angle = Vector.AngleBetween(this.startVector, deltaVector);

            var destAngle = this.initialAngle + Math.Round(angle, 0);

            if (!Keyboard.IsKeyDown(Key.LeftCtrl))
            {
                destAngle = ((int)destAngle / 15) * 15;
            }

            ModelTools.ApplyTransform(this.ExtendedItem, new RotateTransform()
            {
                Angle = destAngle
            });
        }
        public static void DragOver
        (
            this View draggedView,
            View backgroudView
        )
        {
            View.IOnDragListener dragListener = new DragListener(draggedView);
            backgroudView.SetOnDragListener(dragListener);

            var shadowBuilder = new View.DragShadowBuilder(draggedView);

            draggedView.StartDrag // StartDragAndDrop
            (
                null,             // the data to be dragged
                shadowBuilder,
                null,             // no need to use local data
                0                 // flags (not currently used, set to 0)
            );
        }
        ResizeThumb CreateRotateThumb()
        {
            ResizeThumb rotateThumb = new RotateThumb();

            rotateThumb.Cursor    = Cursors.Hand;
            rotateThumb.Cursor    = ZoomControl.GetCursor("Images/rotate.cur");
            rotateThumb.Alignment = PlacementAlignment.Top;
            AdornerPanel.SetPlacement(rotateThumb,
                                      new RelativePlacement(HorizontalAlignment.Center, VerticalAlignment.Top)
            {
                WidthRelativeToContentWidth = 1, HeightOffset = 0
            });
            adornerPanel.Children.Add(rotateThumb);

            DragListener drag = new DragListener(rotateThumb);

            drag.Started += drag_Rotate_Started;
            drag.Changed += drag_Rotate_Changed;
            return(rotateThumb);
        }
Esempio n. 30
0
        private void drag_Rotate_Changed(DragListener drag)
        {
            Point  currentPoint = Mouse.GetPosition(this.parent);
            Vector deltaVector  = Point.Subtract(currentPoint, this.centerPoint);

            double angle = Vector.AngleBetween(this.startVector, deltaVector);

            var destAngle = this.initialAngle + Math.Round(angle, 0);

            if (!Keyboard.IsKeyDown(Key.LeftCtrl))
            {
                destAngle = ((int)destAngle / 15) * 15;
            }

            if (destAngle == 0)
            {
                this.ExtendedItem.Properties.GetProperty(FrameworkElement.RenderTransformProperty).Reset();
                rtTransform     = null;
                rotateTransform = null;
            }
            else
            {
                if ((rtTransform == null) || !(rtTransform.Component is RotateTransform))
                {
                    if (!this.ExtendedItem.Properties.GetProperty(FrameworkElement.RenderTransformOriginProperty).IsSet)
                    {
                        this.ExtendedItem.Properties.GetProperty(FrameworkElement.RenderTransformOriginProperty).SetValue(new Point(0.5, 0.5));
                    }

                    if (this.rotateTransform == null)
                    {
                        this.rotateTransform = new RotateTransform(0);
                    }
                    this.ExtendedItem.Properties.GetProperty(FrameworkElement.RenderTransformProperty).SetValue(rotateTransform);
                    rtTransform = this.ExtendedItem.Properties[FrameworkElement.RenderTransformProperty].Value;
                }
                rtTransform.Properties["Angle"].SetValue(destAngle);

                _adornerLayer.UpdateAdornersForElement(this.ExtendedItem.View, true);
            }
        }