diff options
| author | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2018-03-04 19:59:29 +0100 |
|---|---|---|
| committer | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2018-03-04 19:59:29 +0100 |
| commit | a31ef5c25faab8bb10fd458eac1a9be86a1a1aee (patch) | |
| tree | aac550d8dde64ce63809aef353a86a0fd9e60ea4 /src/GraphicObjects/GraphicObject.cs | |
| parent | 4492fa1bccc93616831ddeec76e8c26116d183e4 (diff) | |
center docking
Diffstat (limited to 'src/GraphicObjects/GraphicObject.cs')
| -rw-r--r-- | src/GraphicObjects/GraphicObject.cs | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/GraphicObjects/GraphicObject.cs b/src/GraphicObjects/GraphicObject.cs index 8ba8788d..f6778e34 100644 --- a/src/GraphicObjects/GraphicObject.cs +++ b/src/GraphicObjects/GraphicObject.cs @@ -1806,9 +1806,17 @@ namespace Crow Debug.WriteLine("MouseHover => " + this.ToString()); #endif if (IFace.DragAndDropOperation != null) { - if (this.AllowDrop) { - if (IFace.DragAndDropOperation.DragSource != this && IFace.DragAndDropOperation.DropTarget != this) - onDragEnter (this, IFace.DragAndDropOperation); + GraphicObject g = this; + while (g != null) { + if (g.AllowDrop) { + if (IFace.DragAndDropOperation.DragSource != this && IFace.DragAndDropOperation.DropTarget != this) { + if (IFace.DragAndDropOperation.DropTarget != null) + IFace.DragAndDropOperation.DropTarget.onDragLeave (this, IFace.DragAndDropOperation); + g.onDragEnter (this, IFace.DragAndDropOperation); + } + break; + } + g = g.focusParent; } } Hover.Raise (this, e); @@ -1818,10 +1826,6 @@ namespace Crow #if DEBUG_FOCUS Debug.WriteLine("MouseUnHover => " + this.ToString()); #endif - if (IFace.DragAndDropOperation != null) { - if (IFace.DragAndDropOperation.DropTarget == this) - onDragLeave (this, IFace.DragAndDropOperation); - } UnHover.Raise (this, e); } #endregion |