From cc53d590fbe2863d0a926f179a4c8aebb4a3a93c Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Wed, 1 Sep 2010 21:14:10 +0200 Subject: [PATCH 1/6] simplified expression used to retrieve parameterList AnchorElement --- .../Project/Src/Gui/InsertCtorDialog.xaml.cs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/AddIns/Misc/SharpRefactoring/Project/Src/Gui/InsertCtorDialog.xaml.cs b/src/AddIns/Misc/SharpRefactoring/Project/Src/Gui/InsertCtorDialog.xaml.cs index 6aaca1da63..4c97952772 100644 --- a/src/AddIns/Misc/SharpRefactoring/Project/Src/Gui/InsertCtorDialog.xaml.cs +++ b/src/AddIns/Misc/SharpRefactoring/Project/Src/Gui/InsertCtorDialog.xaml.cs @@ -104,10 +104,8 @@ namespace SharpRefactoring.Gui block.AddChild(new ExpressionStatement(new AssignmentExpression(new MemberReferenceExpression(new ThisReferenceExpression(), w.MemberName), AssignmentOperatorType.Assign, new IdentifierExpression(w.ParameterName)))); AnchorElement parameterList = context.ActiveElements - .FirstOrDefault( - item => item is AnchorElement && - (item as AnchorElement).Name.Equals("parameterList", StringComparison.OrdinalIgnoreCase) - ) as AnchorElement; + .OfType() + .FirstOrDefault(item => item.Name.Equals("parameterList", StringComparison.OrdinalIgnoreCase)); if (parameterList != null) { StringBuilder pList = new StringBuilder(); From 6a89a4470c7ed162e9fe07dbc4302682547eeac1 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Wed, 1 Sep 2010 21:36:15 +0200 Subject: [PATCH 2/6] moved AnchorSnippetElement integration to AnchorSnippetElementProvider --- .../AvalonEdit.AddIn/AvalonEdit.AddIn.addin | 1 + .../AvalonEdit.AddIn/AvalonEdit.AddIn.csproj | 1 + .../Snippets/AnchorSnippetElementProvider.cs | 30 +++++++++++++++++++ .../Src/Snippets/CodeSnippet.cs | 10 ------- .../Snippets/DefaultSnippetElementProvider.cs | 3 -- 5 files changed, 32 insertions(+), 13 deletions(-) create mode 100644 src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Snippets/AnchorSnippetElementProvider.cs diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/AvalonEdit.AddIn.addin b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/AvalonEdit.AddIn.addin index a090fac850..f6f6d194f3 100755 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/AvalonEdit.AddIn.addin +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/AvalonEdit.AddIn.addin @@ -175,5 +175,6 @@ + diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/AvalonEdit.AddIn.csproj b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/AvalonEdit.AddIn.csproj index 62d2fa0250..b195968cdc 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/AvalonEdit.AddIn.csproj +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/AvalonEdit.AddIn.csproj @@ -134,6 +134,7 @@ Code + diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Snippets/AnchorSnippetElementProvider.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Snippets/AnchorSnippetElementProvider.cs new file mode 100644 index 0000000000..759aceddae --- /dev/null +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Snippets/AnchorSnippetElementProvider.cs @@ -0,0 +1,30 @@ +// +// +// +// +// $Revision$ +// +using System; +using ICSharpCode.AvalonEdit.Snippets; +using ICSharpCode.SharpDevelop.Editor.AvalonEdit; + +namespace ICSharpCode.AvalonEdit.AddIn.Snippets +{ + public class AnchorSnippetElementProvider : ISnippetElementProvider + { + public SnippetElement GetElement(SnippetInfo snippetInfo) + { + int typeSeparator = snippetInfo.Tag.IndexOf(':'); + + if (typeSeparator > 0) { + string type = snippetInfo.Tag.Substring(0, typeSeparator); + string name = snippetInfo.Tag.Substring(typeSeparator + 1); + + if ("anchor".Equals(type, StringComparison.OrdinalIgnoreCase)) + return new SnippetAnchorElement(name); + } + + return null; + } + } +} diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Snippets/CodeSnippet.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Snippets/CodeSnippet.cs index cc8c474473..8e45c26381 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Snippets/CodeSnippet.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Snippets/CodeSnippet.cs @@ -157,16 +157,6 @@ namespace ICSharpCode.AvalonEdit.AddIn.Snippets } } - int typeSeparator = val.IndexOf(':'); - if (typeSeparator > 0) { - string type = val.Substring(0, typeSeparator); - string name = val.Substring(typeSeparator + 1); - switch (type.ToLowerInvariant()) { - case "anchor": - return new SnippetAnchorElement(name); - } - } - foreach (ISnippetElementProvider provider in SnippetManager.Instance.SnippetElementProviders) { SnippetElement element = provider.GetElement(new SnippetInfo(val, snippetText, offset)); if (element != null) diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Snippets/DefaultSnippetElementProvider.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Snippets/DefaultSnippetElementProvider.cs index f445e733e1..b2234401f8 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Snippets/DefaultSnippetElementProvider.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Snippets/DefaultSnippetElementProvider.cs @@ -10,9 +10,6 @@ using ICSharpCode.SharpDevelop.Editor.AvalonEdit; namespace ICSharpCode.AvalonEdit.AddIn.Snippets { - /// - /// Description of DefaultSnippetElementProvider. - /// public class DefaultSnippetElementProvider : ISnippetElementProvider { public SnippetElement GetElement(SnippetInfo snippetInfo) From 8b9b74ca3562ca75e2d95d46b943cf0aefb15ecb Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Wed, 1 Sep 2010 21:53:15 +0200 Subject: [PATCH 3/6] replaced DockPanel by StackPanel in InsertCtorDialog.xaml --- .../Project/Src/Gui/InsertCtorDialog.xaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/AddIns/Misc/SharpRefactoring/Project/Src/Gui/InsertCtorDialog.xaml b/src/AddIns/Misc/SharpRefactoring/Project/Src/Gui/InsertCtorDialog.xaml index 6f45eb6d0c..42e19c4a9f 100644 --- a/src/AddIns/Misc/SharpRefactoring/Project/Src/Gui/InsertCtorDialog.xaml +++ b/src/AddIns/Misc/SharpRefactoring/Project/Src/Gui/InsertCtorDialog.xaml @@ -9,17 +9,11 @@