Browse Source

Update to AvalonDock 1.2.2083.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@3974 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 17 years ago
parent
commit
30d06682f7
  1. 34
      data/resources/layouts/Debug.xml
  2. 25
      data/resources/layouts/Default.xml
  3. 89
      src/Libraries/AvalonDock/AvalonDock.XML
  4. BIN
      src/Libraries/AvalonDock/AvalonDock.dll
  5. 2
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Gui/EditingCommandHandler.cs
  6. 3
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Gui/Selection.cs
  7. 33
      src/Main/Base/Project/Src/Gui/Workbench/Layouts/AvalonDockLayout.cs
  8. 2
      src/Main/Base/Project/Src/Gui/Workbench/Layouts/AvalonWorkbenchWindow.cs
  9. 9
      src/Main/Base/Project/Src/Gui/Workbench/ViewContentEventHandler.cs

34
data/resources/layouts/Debug.xml

@ -1,22 +1,28 @@ @@ -1,22 +1,28 @@
<DockingManager>
<ResizingPanel Orientation="Horizontal">
<DockablePane ResizeWidth="200" Anchor="Left">
<DockableContent Name="ICSharpCode_SharpDevelop_Project_ProjectBrowserPad" AutoHide="false" />
<DockableContent Name="ICSharpCode_SharpDevelop_Gui_ToolsPad" AutoHide="false" />
<ResizingPanel ResizeWidth="*" ResizeHeight="*" Orientation="Horizontal">
<DockablePane ResizeWidth="200" ResizeHeight="*" Anchor="Left">
<DockableContent Name="ICSharpCode_SharpDevelop_Project_ProjectBrowserPad" AutoHide="false" EffectiveSize="0,0" />
<DockableContent Name="ICSharpCode_SharpDevelop_Gui_ToolsPad" AutoHide="false" EffectiveSize="0,0" />
</DockablePane>
<ResizingPanel Orientation="Vertical">
<ResizingPanel ResizeWidth="*" ResizeHeight="*" Orientation="Vertical">
<DocumentPanePlaceHolder />
<DockablePane ResizeHeight="150" Anchor="Bottom">
<DockableContent Name="ICSharpCode_SharpDevelop_Gui_ErrorListPad" AutoHide="false" />
<DockableContent Name="ICSharpCode_SharpDevelop_Gui_TaskListPad" AutoHide="false" />
<DockableContent Name="ICSharpCode_SharpDevelop_Gui_CompilerMessageView" AutoHide="false" />
</DockablePane>
<ResizingPanel ResizeWidth="*" ResizeHeight="226" Orientation="Horizontal">
<DockablePane ResizeWidth="0.439330543933054*" ResizeHeight="226" Anchor="Bottom">
<DockableContent Name="ICSharpCode_SharpDevelop_Gui_CompilerMessageView" AutoHide="false" FloatingWindowSize="1280,199" EffectiveSize="0,0" />
<DockableContent Name="ICSharpCode_SharpDevelop_Gui_Pads_LocalVarPad" AutoHide="false" FloatingWindowSize="506,655.08" EffectiveSize="0,0" />
<DockableContent Name="ICSharpCode_SharpDevelop_Gui_Pads_RunningThreadsPad" AutoHide="false" FloatingWindowSize="506,655.08" EffectiveSize="0,0" />
</DockablePane>
<DockablePane ResizeWidth="0.560669456066946*" ResizeHeight="*" Anchor="Bottom">
<DockableContent Name="ICSharpCode_SharpDevelop_Gui_Pads_ConsolePad" AutoHide="false" FloatingWindowSize="506,904.08" EffectiveSize="0,0" />
<DockableContent Name="ICSharpCode_SharpDevelop_Gui_Pads_CallStackPad" AutoHide="false" FloatingWindowSize="506,655.08" EffectiveSize="0,0" />
<DockableContent Name="ICSharpCode_SharpDevelop_Gui_Pads_LoadedModulesPad" AutoHide="false" FloatingWindowSize="506,655.08" EffectiveSize="0,0" />
</DockablePane>
</ResizingPanel>
</ResizingPanel>
<DockablePane ResizeWidth="200" Anchor="Right">
<DockableContent Name="ICSharpCode_SharpDevelop_Gui_ClassBrowser_ClassBrowserPad" AutoHide="false" />
<DockableContent Name="ICSharpCode_SharpDevelop_Gui_PropertyPad" AutoHide="false" />
<DockablePane ResizeWidth="334" ResizeHeight="*" Anchor="Right">
<DockableContent Name="ICSharpCode_SharpDevelop_Gui_ClassBrowser_ClassBrowserPad" AutoHide="true" EffectiveSize="0,0" />
<DockableContent Name="ICSharpCode_SharpDevelop_Gui_PropertyPad" AutoHide="true" EffectiveSize="0,0" />
</DockablePane>
</ResizingPanel>
<Hidden />
<Windows />
</DockingManager>

25
data/resources/layouts/Default.xml

@ -1,22 +1,21 @@ @@ -1,22 +1,21 @@
<DockingManager>
<ResizingPanel Orientation="Horizontal">
<DockablePane ResizeWidth="200" Anchor="Left">
<DockableContent Name="ICSharpCode_SharpDevelop_Project_ProjectBrowserPad" AutoHide="false" />
<DockableContent Name="ICSharpCode_SharpDevelop_Gui_ToolsPad" AutoHide="false" />
<ResizingPanel ResizeWidth="*" ResizeHeight="*" Orientation="Horizontal">
<DockablePane ResizeWidth="200" ResizeHeight="*" Anchor="Left">
<DockableContent Name="ICSharpCode_SharpDevelop_Project_ProjectBrowserPad" AutoHide="false" EffectiveSize="0,0" />
<DockableContent Name="ICSharpCode_SharpDevelop_Gui_ToolsPad" AutoHide="false" EffectiveSize="0,0" />
</DockablePane>
<ResizingPanel Orientation="Vertical">
<ResizingPanel ResizeWidth="*" ResizeHeight="*" Orientation="Vertical">
<DocumentPanePlaceHolder />
<DockablePane ResizeHeight="150" Anchor="Bottom">
<DockableContent Name="ICSharpCode_SharpDevelop_Gui_ErrorListPad" AutoHide="false" />
<DockableContent Name="ICSharpCode_SharpDevelop_Gui_TaskListPad" AutoHide="false" />
<DockableContent Name="ICSharpCode_SharpDevelop_Gui_CompilerMessageView" AutoHide="false" />
<DockablePane ResizeWidth="*" ResizeHeight="226" Anchor="Bottom">
<DockableContent Name="ICSharpCode_SharpDevelop_Gui_ErrorListPad" AutoHide="false" FloatingWindowSize="1280,199" EffectiveSize="0,0" />
<DockableContent Name="ICSharpCode_SharpDevelop_Gui_TaskListPad" AutoHide="false" FloatingWindowSize="1280,199" EffectiveSize="0,0" />
<DockableContent Name="ICSharpCode_SharpDevelop_Gui_CompilerMessageView" AutoHide="false" FloatingWindowSize="1280,199" EffectiveSize="0,0" />
</DockablePane>
</ResizingPanel>
<DockablePane ResizeWidth="200" Anchor="Right">
<DockableContent Name="ICSharpCode_SharpDevelop_Gui_ClassBrowser_ClassBrowserPad" AutoHide="false" />
<DockableContent Name="ICSharpCode_SharpDevelop_Gui_PropertyPad" AutoHide="false" />
<DockablePane ResizeWidth="200" ResizeHeight="*" Anchor="Right">
<DockableContent Name="ICSharpCode_SharpDevelop_Gui_ClassBrowser_ClassBrowserPad" AutoHide="false" EffectiveSize="0,0" />
<DockableContent Name="ICSharpCode_SharpDevelop_Gui_PropertyPad" AutoHide="false" EffectiveSize="0,0" />
</DockablePane>
</ResizingPanel>
<Hidden />
<Windows />
</DockingManager>

89
src/Libraries/AvalonDock/AvalonDock.XML

@ -53,6 +53,11 @@ @@ -53,6 +53,11 @@
Context menu related to a <see cref="F:AvalonDock.ContextMenuElement.DockablePane"/>
</summary>
</member>
<member name="F:AvalonDock.ContextMenuElement.DocumentPane">
<summary>
Context menu related to a <see cref="F:AvalonDock.ContextMenuElement.DocumentPane"/>
</summary>
</member>
<member name="F:AvalonDock.ContextMenuElement.FloatingWindow">
<summary>
Context menu related to a <see cref="F:AvalonDock.ContextMenuElement.FloatingWindow"/>
@ -104,28 +109,42 @@ @@ -104,28 +109,42 @@
</summary>
</member>
<!-- Badly formed XML comment ignored for member "T:AvalonDock.DockablePaneAnchorTabGroup" -->
<!-- Badly formed XML comment ignored for member "T:AvalonDock.ResizingPanelSplitter" -->
<member name="F:AvalonDock.ResizingPanel.OrientationProperty">
<summary>
Give access to Orientation attached property
</summary>
<remarks>If horizontal oriented children are positioned from left to right and width of each child is computed according to <see cref="!:ResizingWidth"/> attached property value. When vertical oriented children are arranged from top to bottom, according to <see cref="!:ResizingHeight"/> of each child.</remarks>
</member>
<member name="M:AvalonDock.ResizingPanel.NextChildIsVisible(System.Int32)">
<member name="M:AvalonDock.ResizingPanel.CorrectSizes">
<summary>
Correct sizes of children if all of them are set to absolutes
</summary>
</member>
<member name="M:AvalonDock.ResizingPanel.AdjustPanelSizes">
<summary>
Checks if next child starting from a given index is visible.
Helper funcs which correct elements size of a resizing panel
</summary>
<param name="iChild">Starting child index.</param>
<returns>Returns true if next child is visible.</returns>
<remarks>This method takes in count the flow <see cref="!:ResizingDirection"/> of the children.</remarks>
</member>
<member name="M:AvalonDock.ResizingPanel.PrevChildIsVisible(System.Int32)">
<member name="M:AvalonDock.ResizingPanel.MeasureOverride(System.Windows.Size)">
<summary>
Checks if previous child starting from a given index is visible.
Compute the desidered size of the panel
</summary>
<param name="iChild">Starting child index.</param>
<returns>Returns true if previous child is visible.</returns>
<remarks>This method takes in count the flow <see cref="!:ResizingDirection"/> of the children.</remarks>
<param name="availableSize"></param>
<returns></returns>
</member>
<member name="M:AvalonDock.ResizingPanel.ArrangeOverride(System.Windows.Size)">
<summary>
Arranges children giving them a proportional space according to their <see cref="!:SplitSize"/> attached property value
</summary>
<param name="finalSize"></param>
<returns></returns>
</member>
<member name="M:AvalonDock.ResizingPanel.splitter_DragDelta(System.Object,System.Windows.Controls.Primitives.DragDeltaEventArgs)">
<summary>
This method is called by a splitter when it is dragged
</summary>
<param name="splitter">Dragged splitter</param>
<param name="delta"></param>
</member>
<member name="M:AvalonDock.ResizingPanel.RemoveChild(System.Windows.FrameworkElement)">
<summary>
@ -403,6 +422,21 @@ @@ -403,6 +422,21 @@
<param name="sw">Object which stores the xml</param>
<remarks>The writer is not closed.</remarks>
</member>
<member name="F:AvalonDock.DockingManager.GLConverter">
<summary>
Static converter used to convert GridLength from/to string
</summary>
</member>
<member name="M:AvalonDock.DockingManager.OnDocumentClosing(System.ComponentModel.CancelEventArgs)">
<summary>
Ovveride this method to handle <see cref="E:AvalonDock.DockingManager.DocumentClosing"/> event.
</summary>
</member>
<member name="M:AvalonDock.DockingManager.OnDocumentClosed">
<summary>
Ovveride this method to handle <see cref="E:AvalonDock.DockingManager.DocumentClosed"/> event.
</summary>
</member>
<member name="P:AvalonDock.DockingManager.ActiveDocument">
<summary>
Get or set the active document
@ -441,6 +475,11 @@ @@ -441,6 +475,11 @@
Get the command to show navigator window
</summary>
</member>
<member name="P:AvalonDock.DockingManager.ShowDocumentNavigatorWindowCommand">
<summary>
Get the command to show document navigator window
</summary>
</member>
<member name="P:AvalonDock.DockingManager.SurfaceRectangle">
<summary>
Returns a rectangle where this surface is active
@ -451,6 +490,17 @@ @@ -451,6 +490,17 @@
Returns current overlay window
</summary>
</member>
<member name="E:AvalonDock.DockingManager.DocumentClosing">
<summary>
Event fired when the document is about to be closed
</summary>
</member>
<member name="E:AvalonDock.DockingManager.DocumentClosed">
<summary>
Event fired when a document has been closed
</summary>
<remarks>Note that when a document is closed, property like <see cref="P:AvalonDock.ManagedContent.ContainerPane"/> or <see cref="P:AvalonDock.ManagedContent.Manager"/> returns null.</remarks>
</member>
<member name="F:AvalonDock.ManagedContent.IconProperty">
<summary>
Select an icon object for the content
@ -489,6 +539,16 @@ @@ -489,6 +539,16 @@
</summary>
<remarks>Use <see cref="M:AvalonDock.ManagedContent.SetAsActive"/> method to set a content as active.</remarks>
</member>
<member name="P:AvalonDock.ManagedContent.IsLocked">
<summary>
Gets or sets a value indicating if this content is locked (readonly).
</summary>
</member>
<member name="P:AvalonDock.ManagedContent.FloatingWindowSize">
<summary>
Gets or sets the size of the floating window which hosts this content
</summary>
</member>
<!-- Badly formed XML comment ignored for member "T:AvalonDock.DockablePaneAnchorTab" -->
<member name="T:AvalonDock.DockableContentState">
<summary>
@ -517,7 +577,7 @@ @@ -517,7 +577,7 @@
</member>
<member name="F:AvalonDock.DockableContentState.Document">
<summary>
Content is hosted by <see cref="!:DocmumentContent"/> object
Content is hosted into a <see cref="!:DocmumentPane"/>
</summary>
</member>
<member name="F:AvalonDock.DockableContentState.Hidden">
@ -677,6 +737,11 @@ @@ -677,6 +737,11 @@
Gets or sets a text which describes the type of content contained in this document.
</summary>
</member>
<member name="P:AvalonDock.DocumentContent.IsFloatingAllowed">
<summary>
Gets or sets a value indicating if this document can float over main window (VS2010 Feature).
</summary>
</member>
<member name="E:AvalonDock.DocumentContent.Closing">
<summary>
Event fired when the document is about to be closed

BIN
src/Libraries/AvalonDock/AvalonDock.dll

Binary file not shown.

2
src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Gui/EditingCommandHandler.cs

@ -94,7 +94,7 @@ namespace ICSharpCode.AvalonEdit.Gui @@ -94,7 +94,7 @@ namespace ICSharpCode.AvalonEdit.Gui
TextArea textArea = GetTextArea(target);
if (textArea != null && textArea.Document != null) {
using (textArea.Document.RunUpdate()) {
if (textArea.Selection.GetIsMultiline(textArea.Document)) {
if (textArea.Selection.IsMultiline(textArea.Document)) {
DocumentLine start = textArea.Document.GetLineByOffset(textArea.Selection.SurroundingSegment.Offset);
DocumentLine end = textArea.Document.GetLineByOffset(textArea.Selection.SurroundingSegment.EndOffset);
while (true) {

3
src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Gui/Selection.cs

@ -79,7 +79,7 @@ namespace ICSharpCode.AvalonEdit.Gui @@ -79,7 +79,7 @@ namespace ICSharpCode.AvalonEdit.Gui
/// <summary>
/// Gets whether the selection is multi-line.
/// </summary>
public virtual bool GetIsMultiline(TextDocument document)
public virtual bool IsMultiline(TextDocument document)
{
if (document == null)
throw new ArgumentNullException("document");
@ -254,7 +254,6 @@ namespace ICSharpCode.AvalonEdit.Gui @@ -254,7 +254,6 @@ namespace ICSharpCode.AvalonEdit.Gui
/// <inheritdoc/>
public override Selection SetEndpoint(int newEndOffset)
{
// the empty SimpleSelection must be immutable (it's used for the static Selection.Empty field)
if (IsEmpty)
throw new NotSupportedException();
else

33
src/Main/Base/Project/Src/Gui/Workbench/Layouts/AvalonDockLayout.cs

@ -55,18 +55,25 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -55,18 +55,25 @@ namespace ICSharpCode.SharpDevelop.Gui
void dockingManager_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
if (e.PropertyName == "ActiveContent") {
UpdateActiveWorkbenchWindow();
if (ActiveContentChanged != null)
ActiveContentChanged(this, e);
CommandManager.InvalidateRequerySuggested();
} else if (e.PropertyName == "ActiveDocument") {
UpdateActiveWorkbenchWindow();
CommandManager.InvalidateRequerySuggested();
}
}
public event EventHandler ActiveContentChanged;
public IWorkbenchWindow ActiveWorkbenchWindow {
get {
return (AvalonWorkbenchWindow)dockingManager.ActiveDocument;
}
public IWorkbenchWindow ActiveWorkbenchWindow { get; private set; }
void UpdateActiveWorkbenchWindow()
{
IWorkbenchWindow window = dockingManager.ActiveDocument as IWorkbenchWindow;
if (window != null)
this.ActiveWorkbenchWindow = window;
}
public object ActiveContent {
@ -103,9 +110,6 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -103,9 +110,6 @@ namespace ICSharpCode.SharpDevelop.Gui
Busy = false;
}
LoadConfiguration();
foreach (AvalonPadContent p in pads.Values) {
p.LoadPadContentIfRequired();
}
}
public void Detach()
@ -146,11 +150,11 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -146,11 +150,11 @@ namespace ICSharpCode.SharpDevelop.Gui
{
ResizingPanel panel = pane.Parent as ResizingPanel;
if (panel.Orientation == Orientation.Horizontal) {
if (ResizingPanel.GetResizeWidth(pane) == 0)
ResizingPanel.SetResizeWidth(pane, 200);
if (ResizingPanel.GetResizeWidth(pane).Value == 0)
ResizingPanel.SetResizeWidth(pane, new GridLength(200));
} else if (panel.Orientation == Orientation.Vertical) {
if (ResizingPanel.GetResizeHeight(pane) == 0)
ResizingPanel.SetResizeHeight(pane, 150);
if (ResizingPanel.GetResizeHeight(pane).Value == 0)
ResizingPanel.SetResizeHeight(pane, new GridLength(150));
}
}
@ -202,6 +206,10 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -202,6 +206,10 @@ namespace ICSharpCode.SharpDevelop.Gui
void window_Closed(object sender, EventArgs e)
{
workbenchWindows.Remove((IWorkbenchWindow)sender);
if (this.ActiveWorkbenchWindow == sender) {
this.ActiveWorkbenchWindow = null;
UpdateActiveWorkbenchWindow();
}
}
public void LoadConfiguration()
@ -221,6 +229,9 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -221,6 +229,9 @@ namespace ICSharpCode.SharpDevelop.Gui
} finally {
Busy = false;
}
foreach (AvalonPadContent p in pads.Values) {
p.LoadPadContentIfRequired();
}
}
void LoadDefaultLayoutConfiguration()

2
src/Main/Base/Project/Src/Gui/Workbench/Layouts/AvalonWorkbenchWindow.cs

@ -211,6 +211,8 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -211,6 +211,8 @@ namespace ICSharpCode.SharpDevelop.Gui
{
if (dockLayout == null)
throw new ArgumentNullException("dockLayout");
this.IsFloatingAllowed = true;
this.dockLayout = dockLayout;
viewContents = new ViewContentCollection(this);

9
src/Main/Base/Project/Src/Gui/Workbench/ViewContentEventHandler.cs

@ -10,8 +10,8 @@ using System; @@ -10,8 +10,8 @@ using System;
namespace ICSharpCode.SharpDevelop.Gui
{
public delegate void ViewContentEventHandler(object sender, ViewContentEventArgs e);
public class ViewContentEventArgs : System.EventArgs
public class ViewContentEventArgs : EventArgs
{
IViewContent content;
@ -19,13 +19,12 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -19,13 +19,12 @@ namespace ICSharpCode.SharpDevelop.Gui
get {
return content;
}
set {
content = value;
}
}
public ViewContentEventArgs(IViewContent content)
{
if (content == null)
throw new ArgumentNullException("content");
this.content = content;
}
}

Loading…
Cancel
Save