Esempio n. 1
0
        public override bool DragAndDrop_HandleDrop(Package p, int x, int y)
        {
            Point LocalPos = CanvasPosToLocal(new Point(x, y));

            TabButton  button     = DragAndDrop.SourceControl as TabButton;
            TabControl tabControl = Parent as TabControl;

            if (tabControl != null && button != null)
            {
                if (button.TabControl != tabControl)
                {
                    // We've moved tab controls!
                    tabControl.AddPage(button);
                }
            }

            ControlBase droppedOn = GetControlAt(LocalPos.X, LocalPos.Y);

            if (droppedOn != null && droppedOn != this)
            {
                Point dropPos = droppedOn.CanvasPosToLocal(new Point(x, y));
                DragAndDrop.SourceControl.BringNextToControl(droppedOn, dropPos.X > droppedOn.ActualWidth / 2);
            }
            else
            {
                DragAndDrop.SourceControl.BringToFront();
            }
            return(true);
        }
Esempio n. 2
0
        public override void DragAndDrop_Hover(Package p, int x, int y)
        {
            Point localPos = CanvasPosToLocal(new Point(x, y));

            ControlBase droppedOn = GetControlAt(localPos.X, localPos.Y);

            if (droppedOn != null && droppedOn != this)
            {
                Point dropPos = droppedOn.CanvasPosToLocal(new Point(x, y));
                m_TabDragControl.BringToFront();
                int pos = droppedOn.ActualLeft - 1;

                if (dropPos.X > droppedOn.ActualWidth / 2)
                {
                    pos += droppedOn.ActualWidth - 1;
                }

                Point canvasPos = LocalPosToCanvas(new Point(pos, 0));
                m_TabDragControl.MoveTo(canvasPos.X, canvasPos.Y);
            }
            else
            {
                m_TabDragControl.BringToFront();
            }
        }
Esempio n. 3
0
        public override void DragAndDrop_Hover(Package p, int x, int y)
        {
            Point localPos = CanvasPosToLocal(new Point(x, y));

            ControlBase droppedOn = GetControlAt(localPos.X, localPos.Y);

            if (droppedOn != null && droppedOn != this)
            {
                Point dropPos = droppedOn.CanvasPosToLocal(new Point(x, y));
                tabDragControl.SetBounds(new Rectangle(0, 0, 3, Height));
                tabDragControl.BringToFront();
                tabDragControl.SetPosition(droppedOn.X - 1, 0);

                if (dropPos.X > droppedOn.Width / 2)
                {
                    tabDragControl.MoveBy(droppedOn.Width - 1, 0);
                }
                tabDragControl.Dock = Pos.None;
            }
            else
            {
                tabDragControl.Dock = Pos.Left;
                tabDragControl.BringToFront();
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Handler invoked on mouse click (left) event.
        /// </summary>
        /// <param name="x">X coordinate.</param>
        /// <param name="y">Y coordinate.</param>
        /// <param name="down">If set to <c>true</c> mouse button is down.</param>
        protected override void onMouseClickedLeft(int x, int y, bool down)
        {
            if (null == target) return;

            if (down)
            {
                held = true;
                holdPos = target.CanvasPosToLocal(new Point(x, y));
                InputHandler.MouseFocus = this;
            }
            else
            {
                held = false;

                InputHandler.MouseFocus = null;
            }
        }
Esempio n. 5
0
        /// <summary>
        /// Handler invoked on mouse click (left) event.
        /// </summary>
        /// <param name="x">X coordinate.</param>
        /// <param name="y">Y coordinate.</param>
        /// <param name="down">If set to <c>true</c> mouse button is down.</param>
        protected override void OnMouseClickedLeft(int x, int y, bool down)
        {
            if (null == m_Target)
            {
                return;
            }

            if (down)
            {
                m_Held    = true;
                m_HoldPos = m_Target.CanvasPosToLocal(new Point(x, y));
                InputHandler.MouseFocus = this;
            }
            else
            {
                m_Held = false;

                InputHandler.MouseFocus = null;
            }
        }