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/DockWindow.cs | |
| parent | 4492fa1bccc93616831ddeec76e8c26116d183e4 (diff) | |
center docking
Diffstat (limited to 'src/GraphicObjects/DockWindow.cs')
| -rw-r--r-- | src/GraphicObjects/DockWindow.cs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/GraphicObjects/DockWindow.cs b/src/GraphicObjects/DockWindow.cs index 3617f5b9..c7934114 100644 --- a/src/GraphicObjects/DockWindow.cs +++ b/src/GraphicObjects/DockWindow.cs @@ -37,7 +37,7 @@ namespace Crow int undockThreshold = 4; bool isDocked = false; - Alignment docking = Alignment.Center; + Alignment docking = Alignment.Undefined; Point lastMousePos; //last known mouse pos in this control Point undockingMousePosOrig; //mouse pos when docking was donne, use for undocking on mouse move @@ -148,7 +148,7 @@ namespace Crow } protected override void onDrop (object sender, DragDropEventArgs e) { - if (!isDocked && DockingPosition != Alignment.Center) + if (!isDocked && DockingPosition != Alignment.Undefined) dock (e.DropTarget as DockStack); base.onDrop (sender, e); } @@ -165,10 +165,13 @@ namespace Crow this.Height = savedSlot.Height; IsDocked = false; + DockingPosition = Alignment.Undefined; Resizable = wasResizable; } } - void dock (DockStack target){ + void dock (DockStack target){ + if (RootDock.CenterDockedObj is DockWindow && DockingPosition == Alignment.Center) + return; lock (IFace.UpdateMutex) { IsDocked = true; undockingMousePosOrig = lastMousePos; |