Browse Source

Update to AvalonDock 1.2.2648

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@4992 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 17 years ago
parent
commit
0b1ed6d700
  1. 8
      SharpDevelop.Tests.sln
  2. 3
      src/Libraries/AvalonDock/DockableContent.cs
  3. 8
      src/Libraries/AvalonDock/DockableFloatingWindow.cs
  4. 21
      src/Libraries/AvalonDock/DockablePane.cs
  5. 14
      src/Libraries/AvalonDock/DockingManager.cs
  6. 26
      src/Libraries/AvalonDock/DocumentContent.cs
  7. 6
      src/Libraries/AvalonDock/DocumentFloatingWindow.cs
  8. 2
      src/Libraries/AvalonDock/DocumentPane.cs
  9. 15
      src/Libraries/AvalonDock/FloatingWindow.cs
  10. 10
      src/Libraries/AvalonDock/FlyoutDockablePane.cs
  11. 15
      src/Libraries/AvalonDock/Pane.cs
  12. 2
      src/Libraries/AvalonDock/Properties/AssemblyInfo.cs

8
SharpDevelop.Tests.sln

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 10
# SharpDevelop 4.0.0.4966
# SharpDevelop 4.0.0.4979
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{256F5C28-532C-44C0-8AB8-D8EC5E492E01}"
ProjectSection(SolutionItems) = postProject
EndProjectSection
@ -556,6 +556,8 @@ Global @@ -556,6 +556,8 @@ Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@ -950,6 +952,10 @@ Global @@ -950,6 +952,10 @@ Global
{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}.Release|Any CPU.Build.0 = Release|Any CPU
{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{68D5EE3B-0C35-4DF1-BD29-6606851A02C1}.Debug|Win32.Build.0 = Debug|Win32
{68D5EE3B-0C35-4DF1-BD29-6606851A02C1}.Debug|Win32.ActiveCfg = Debug|Win32
{68D5EE3B-0C35-4DF1-BD29-6606851A02C1}.Release|Win32.Build.0 = Release|Win32
{68D5EE3B-0C35-4DF1-BD29-6606851A02C1}.Release|Win32.ActiveCfg = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

3
src/Libraries/AvalonDock/DockableContent.cs

@ -415,7 +415,8 @@ namespace AvalonDock @@ -415,7 +415,8 @@ namespace AvalonDock
}
else if (!e.Handled && e.Command == DockableContent.HideCommand)
{
Manager.Hide(this);
//Manager.Hide(this);
e.Handled = true;
}
else if (!e.Handled && e.Command == DockableContent.FloatingCommand)

8
src/Libraries/AvalonDock/DockableFloatingWindow.cs

@ -178,7 +178,8 @@ namespace AvalonDock @@ -178,7 +178,8 @@ namespace AvalonDock
while (HostedPane.Items.Count > 0)
{
Manager.Hide(HostedPane.Items[0] as DockableContent);
//Manager.Hide(HostedPane.Items[0] as DockableContent);
HostedPane.CloseOrHide(HostedPane.Items[0] as DockableContent);
}
Manager.UnregisterFloatingWindow(this);
@ -228,8 +229,9 @@ namespace AvalonDock @@ -228,8 +229,9 @@ namespace AvalonDock
}
else if (e.Command == CloseCommand)
{
DockableContent currentContent = HostedPane.SelectedItem as DockableContent;
Manager.Hide(currentContent);
//DockableContent currentContent = HostedPane.SelectedItem as DockableContent;
//Manager.Hide(currentContent);
HostedPane.CloseOrHide();
if (HostedPane.Items.Count == 0)
this.Close();
e.Handled = true;

21
src/Libraries/AvalonDock/DockablePane.cs

@ -386,7 +386,7 @@ namespace AvalonDock @@ -386,7 +386,7 @@ namespace AvalonDock
}
else if (e.Command == CloseCommand)
{
Close();
CloseOrHide();
e.Handled = true;
}
else if (e.Command == ShowOptionsCommand)
@ -481,21 +481,18 @@ namespace AvalonDock @@ -481,21 +481,18 @@ namespace AvalonDock
GetManager().ToggleAutoHide(this);
}
/// <summary>
/// Close current content
/// Closes or hides current content depending on HideOnClose property
/// </summary>
internal virtual void Close()
{
//GetManager().Hide(SelectedItem as DockableContent);
if (SelectedItem is DockableContent)
internal void CloseOrHide()
{
DockableContent item = SelectedItem as DockableContent;
if (item.HideOnClose)
GetManager().Hide(SelectedItem as DockableContent);
else
this.Items.Remove(SelectedItem as DockableContent);
}
CloseOrHide(SelectedItem as DockableContent);
}
#endregion
}

14
src/Libraries/AvalonDock/DockingManager.cs

@ -265,6 +265,9 @@ namespace AvalonDock @@ -265,6 +265,9 @@ namespace AvalonDock
_activeDocument = value;
NotifyPropertyChanged("ActiveDocument");
if (ActiveContent == null)
ActiveContent = value;
}
}
}
@ -340,11 +343,12 @@ namespace AvalonDock @@ -340,11 +343,12 @@ namespace AvalonDock
{
List<DockableContent> contents = FindContents<DockableContent>();
foreach (FloatingWindow flWindow in _floatingWindows)
{
foreach (DockableContent content in flWindow.HostedPane.Items)
contents.Add(content);
}
//FindContents already returns contents from FloatingWindows (sg #68987)
//foreach (FloatingWindow flWindow in _floatingWindows)
//{
// foreach (DockableContent content in flWindow.HostedPane.Items)
// contents.Add(content);
//}
foreach (DockableContent content in _hiddenContents)
contents.Add(content);

26
src/Libraries/AvalonDock/DocumentContent.cs

@ -204,9 +204,20 @@ namespace AvalonDock @@ -204,9 +204,20 @@ namespace AvalonDock
/// </summary>
internal void InternalClose()
{
DocumentPane parentPane = ContainerPane as DocumentPane;
DockingManager manager = Manager;
if (manager != null)
{
if (manager.ActiveContent == this)
manager.ActiveContent = null;
if (manager.ActiveDocument == this)
manager.ActiveDocument = null;
}
if (parentPane != null)
{
parentPane.Items.Remove(this);
@ -219,20 +230,15 @@ namespace AvalonDock @@ -219,20 +230,15 @@ namespace AvalonDock
if (floatingParentPane != null)
{
floatingParentPane.RemoveContent(0);
if (floatingParentPane.FloatingWindow != null &&
!floatingParentPane.FloatingWindow.IsClosing)
floatingParentPane.FloatingWindow.Close();
}
}
if (manager != null)
{
if (manager.ActiveDocument == this)
manager.ActiveDocument = null;
if (manager.ActiveContent == this)
manager.ActiveContent = null;
}
}
/// <summary>
@ -277,9 +283,9 @@ namespace AvalonDock @@ -277,9 +283,9 @@ namespace AvalonDock
oldManager.FireDocumentClosedEvent();
if (Parent != null)
throw new InvalidOperationException("Parent MUST bu null after Doc is closed");
//if (Parent != null)
// throw new InvalidOperationException();
Debug.Assert(Parent == null, "Parent MUST bu null after Doc is closed");
return true;
}

6
src/Libraries/AvalonDock/DocumentFloatingWindow.cs

@ -343,6 +343,11 @@ namespace AvalonDock @@ -343,6 +343,11 @@ namespace AvalonDock
protected override void OnClosing(CancelEventArgs e)
{
base.OnClosing(e);
if (e.Cancel)
return;
if (this.HostedPane.Items.Count > 0)
{
DocumentContent docContent = this.HostedPane.Items[0] as DocumentContent;
@ -352,7 +357,6 @@ namespace AvalonDock @@ -352,7 +357,6 @@ namespace AvalonDock
this.HostedPane.Items.Remove(docContent);
}
base.OnClosing(e);
}
}
}

2
src/Libraries/AvalonDock/DocumentPane.cs

@ -144,7 +144,7 @@ namespace AvalonDock @@ -144,7 +144,7 @@ namespace AvalonDock
DockableContent dockableContent = contentToClose as DockableContent;
if (dockableContent != null)
GetManager().Hide(dockableContent);
CloseOrHide(dockableContent);
else
{
DocumentContent documentContent = contentToClose as DocumentContent;

15
src/Libraries/AvalonDock/FloatingWindow.cs

@ -141,6 +141,21 @@ namespace AvalonDock @@ -141,6 +141,21 @@ namespace AvalonDock
}
#endregion
#region IsClosing Flag Management
internal bool IsClosing { get; private set; }
protected override void OnClosing(CancelEventArgs e)
{
IsClosing = true;
base.OnClosing(e);
}
protected override void OnClosed(EventArgs e)
{
IsClosing = false;
base.OnClosed(e);
}
#endregion
public abstract Pane ClonePane();

10
src/Libraries/AvalonDock/FlyoutDockablePane.cs

@ -101,9 +101,11 @@ namespace AvalonDock @@ -101,9 +101,11 @@ namespace AvalonDock
{
GetManager().ToggleAutoHide(_referencedPane);
}
internal override void Close()
{
GetManager().Hide(SelectedItem as DockableContent);
}
//internal override void Close()
//{
// DockingManager manager = GetManager();
// if (manager != null)
// Manager.Hide(SelectedItem as DockableContent);
//}
}
}

15
src/Libraries/AvalonDock/Pane.cs

@ -260,6 +260,21 @@ namespace AvalonDock @@ -260,6 +260,21 @@ namespace AvalonDock
return LogicalTreeHelper.GetParent(this) as ResizingPanel;
}
/// <summary>
/// Closes or hides provided content depending on HideOnClose property
/// </summary>
internal virtual void CloseOrHide(DockableContent cntToCloseOrHide)
{
Debug.Assert(cntToCloseOrHide != null);
DockingManager manager = GetManager();
if (cntToCloseOrHide.HideOnClose && manager != null)
manager.Hide(cntToCloseOrHide);
else
RemoveContent(Items.IndexOf(cntToCloseOrHide));
}
#region INotifyPropertyChanged Members
public event PropertyChangedEventHandler PropertyChanged;

2
src/Libraries/AvalonDock/Properties/AssemblyInfo.cs

@ -59,4 +59,4 @@ using System.Runtime.InteropServices; @@ -59,4 +59,4 @@ using System.Runtime.InteropServices;
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.2.2641")]
[assembly: AssemblyVersion("1.2.2648")]

Loading…
Cancel
Save