Exemplo n.º 1
0
        private bool InitDrag(Control c, DragSource source)
        {
            if (!base.BeginDrag(c))
            {
                return(false);
            }

            _source = source;
            if (Source == DragSource.Content ||
                Source == DragSource.Pane ||
                Source == DragSource.FloatWindow)
            {
                _dockOutline   = new DockOutline();
                _dockIndicator = new DockIndicator(this);
                DockIndicator.Show(false);
            }
            else if (Source == DragSource.AutoHideWindowSplitter ||
                     Source == DragSource.DockWindowSplitter ||
                     Source == DragSource.PaneSplitter)
            {
                _splitterOutline = new SplitterOutline();
            }
            else
            {
                return(false);
            }

            return(true);
        }
Exemplo n.º 2
0
        private void PaneSplitter_BeginDrag(Point ptSplitter)
        {
            _splitterLocation = DragControl.Parent.PointToScreen(ptSplitter);
            Point ptMouse = StartMousePosition;

            _mouseOffset.X = _splitterLocation.X - ptMouse.X;
            _mouseOffset.Y = _splitterLocation.Y - ptMouse.Y;

            Rectangle rect = GetPaneSplitterDragRectangle();

            SplitterOutline.Show(rect);
        }
Exemplo n.º 3
0
        private void AutoHideWindowSplitter_BeginDrag(Point ptSplitter)
        {
            m_splitterLocation = DragControl.PointToScreen(ptSplitter);
            Point ptMouse = StartMousePosition;

            m_mouseOffset.X = m_splitterLocation.X - ptMouse.X;
            m_mouseOffset.Y = m_splitterLocation.Y - ptMouse.Y;

            Rectangle rect = GetWindowSplitterDragRectangle();

            SplitterOutline.Show(rect);
        }
Exemplo n.º 4
0
        protected override void OnEndDrag(bool abort)
        {
            if (Source == DragSource.Content ||
                Source == DragSource.Pane ||
                Source == DragSource.FloatWindow)
            {
                DockOutline.Close();
                DockIndicator.Close();
            }
            else if (Source == DragSource.AutoHideWindowSplitter ||
                     Source == DragSource.DockWindowSplitter ||
                     Source == DragSource.PaneSplitter)
            {
                SplitterOutline.Close();
            }

            if (Source == DragSource.Content)
            {
                Content_OnEndDrag(abort);
            }
            else if (Source == DragSource.Pane)
            {
                Pane_OnEndDrag(abort);
            }
            else if (Source == DragSource.PaneSplitter)
            {
                PaneSplitter_OnEndDrag(abort);
            }
            else if (Source == DragSource.DockWindowSplitter)
            {
                DockWindowSplitter_OnEndDrag(abort);
            }
            else if (Source == DragSource.AutoHideWindowSplitter)
            {
                AutoHideWindowSplitter_OnEndDrag(abort);
            }
            else if (Source == DragSource.FloatWindow)
            {
                FloatWindow_OnEndDrag(abort);
            }
        }
Exemplo n.º 5
0
 protected override void OnDragging()
 {
     if (Source == DragSource.Content ||
         Source == DragSource.Pane ||
         Source == DragSource.FloatWindow)
     {
         TestDrop();
     }
     else if (Source == DragSource.PaneSplitter)
     {
         SplitterOutline.Show(GetPaneSplitterDragRectangle());
     }
     else if (Source == DragSource.DockWindowSplitter)
     {
         SplitterOutline.Show(GetWindowSplitterDragRectangle());
     }
     else if (Source == DragSource.AutoHideWindowSplitter)
     {
         SplitterOutline.Show(GetWindowSplitterDragRectangle());
     }
 }