-
Notifications
You must be signed in to change notification settings - Fork 322
DragService
The DragService
class in the LayoutFloatingWindowControl manages the drag & drop behavior when the user drags a document (LayoutDocument) or toolwindow (LayoutAnchoreable) and drops it in an alternative position. This behavior is implemented via the LayoutFloatingWindowControl which can in turn contain other elements, such as:
- Tool Windows (Anchoreables)
- Documents
A drag & drop action for Anchoreables or Documents is usually initiated through one of the methods listed below:
Anchorable
- AnchorablePaneTitle.OnMouseLeftButtonDown() LayoutAnchorableTabItem.OnMouseLeftButtonDown()
Document
- LayoutDocumentControl.OnMouseLeftButtonDown() LayoutDocumentPaneControl.OnMouseLeftButtonDown() LayoutDocumentTabItem.OnMouseLeftButtonDown()
public void UpdateMouseLocation( Point dragPosition )
TBD
public void Drop( Point dropLocation, out bool dropHandled )
The Drop method is executed when a LayoutAnchorable or LayoutDocument is dragged out of its current position and dropped into a new docking position.
This code in the Drop() method checks whether there is a new docking position and handles the drop:
private IDropTarget _currentDropTarget;
...
if( _currentDropTarget != null )
{
_currentWindow.DragDrop( _currentDropTarget );
root.CollectGarbage();
dropHandled = true;
}
The call to OverlayWindow.DragDrop( _currentDropTarget ) is relayed to the:
- DropTarget<T>.Drop(...) method (via the IDropTarget interface)
using the LayoutFloatingWindowControl _floatingWindow.Model
as LayoutFloatingWindow
of the OverlayWindow as parameter.
internal void Abort()
TBD
- WinForms Demo Client
- WPF VS 2013 Demo Client
- WPF MVVM TestApp
- TestApp
- Upgrading to V4.0 or later
- Localization
- Layout Model Control Graph
- AnchorablePaneDropTarget
- AnchorablePaneTabPanel
- ContextMenuEx
- DocumentPaneDropTarget
- DocumentPaneTabPanel
- DockingManager
- DockingManagerDropTarget
- DragService
- DropDownButton
- DropDownControlArea
- DropTarget<T>
- LayoutAnchorableControl
- LayoutAnchorableFloatingWindowControl
- LayoutAnchorControl
- LayoutAnchorGroupControl
- LayoutAnchorablePaneControl
- LayoutAnchorablePaneGroupControl
- LayoutAnchorableTabItem
- LayoutAutoHideWindowControl
- AnchorablePaneTitle
- LayoutAnchorSideControl
- LayoutDocumentControl
- LayoutDocumentFloatingWindowControl
- LayoutDocumentPaneControl
- LayoutDocumentPaneGroupControl
- LayoutDocumentTabItem
- LayoutFloatingWindowControl
- LayoutGridControl<T>
- LayoutGridResizerControl
- LayoutItem
- LayoutAnchorableItem
- LayoutDocumentItem
- LayoutPanelControl
- MenuItemEx
- NavigatorWindow
- OverlayWindow
- TabControlEx
- LayoutAnchorable
- LayoutAnchorableFloatingWindow
- LayoutAnchorGroup
- LayoutAnchorablePane
- LayoutAnchorablePaneGroup
- LayoutAnchorSide
- LayoutContent
- LayoutDocument
- LayoutDocumentFloatingWindow
- LayoutDocumentPane
- LayoutDocumentPaneGroup
- LayoutElement
- LayoutFloatingWindow
- LayoutGroup
- LayoutGroupBase
- LayoutPanel
- LayoutPositionableGroup
- LayoutRoot
- IDropTarget
- ILayoutAnchorablePane
- ILayoutContainer
- ILayoutControl
- ILayoutContentSelector
- ILayoutDocumentPane
- ILayoutElement
- ILayoutElementForFloatingWindow
- ILayoutElementWithVisibility
- ILayoutGroup
- ILayoutPane
- ILayoutPanelElement
- ILayoutPaneSerializable
- ILayoutPositionableElement
- ILayoutPositionableElementWithActualSize
- ILayoutPreviousContainer
- ILayoutOrientableGroup
- ILayoutRoot
- IOverlayWindow
- IOverlayWindowArea
- IOverlayWindowDropTarget
- IOverlayWindowHost
- DropTarget
- ILayoutItem (Interface Design)
- LayoutElement
- LayoutGridControl
- LayoutItem (Class Design)
- TabContolEx (Class Design)
- Window