From 259dcba1a41c377453137aa158ab7955f5150eea Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Sat, 11 Jan 2014 18:51:45 +0100 Subject: [PATCH] fix AvalonEdit.Sample --- .../AvalonEdit.Sample/AvalonEdit.Sample.csproj | 9 ++++++++- samples/AvalonEdit.Sample/AvalonEdit.Sample.sln | 1 + samples/AvalonEdit.Sample/BraceFoldingStrategy.cs | 12 ++++++++++-- samples/AvalonEdit.Sample/MyCompletionData.cs | 1 + samples/AvalonEdit.Sample/Window1.xaml.cs | 15 +++++++++------ samples/AvalonEdit.Sample/app.config | 6 ++++++ 6 files changed, 35 insertions(+), 9 deletions(-) create mode 100644 samples/AvalonEdit.Sample/app.config diff --git a/samples/AvalonEdit.Sample/AvalonEdit.Sample.csproj b/samples/AvalonEdit.Sample/AvalonEdit.Sample.csproj index 353d94ab1b..9cc34c8284 100644 --- a/samples/AvalonEdit.Sample/AvalonEdit.Sample.csproj +++ b/samples/AvalonEdit.Sample/AvalonEdit.Sample.csproj @@ -7,8 +7,9 @@ <OutputType>WinExe</OutputType> <RootNamespace>AvalonEdit.Sample</RootNamespace> <AssemblyName>AvalonEdit.Sample</AssemblyName> - <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> <AppDesignerFolder>Properties</AppDesignerFolder> + <TargetFrameworkProfile /> </PropertyGroup> <PropertyGroup Condition=" '$(Platform)' == 'x86' "> <PlatformTarget>x86</PlatformTarget> @@ -36,6 +37,9 @@ <Reference Include="ICSharpCode.AvalonEdit"> <HintPath>..\..\bin\ICSharpCode.AvalonEdit.dll</HintPath> </Reference> + <Reference Include="ICSharpCode.NRefactory"> + <HintPath>..\..\bin\ICSharpCode.NRefactory.dll</HintPath> + </Reference> <Reference Include="PresentationCore"> <RequiredTargetFramework>3.0</RequiredTargetFramework> </Reference> @@ -100,5 +104,8 @@ <ItemGroup> <EmbeddedResource Include="CustomHighlighting.xshd" /> </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" /> </Project> \ No newline at end of file diff --git a/samples/AvalonEdit.Sample/AvalonEdit.Sample.sln b/samples/AvalonEdit.Sample/AvalonEdit.Sample.sln index 8b5b9105d5..689058acbd 100644 --- a/samples/AvalonEdit.Sample/AvalonEdit.Sample.sln +++ b/samples/AvalonEdit.Sample/AvalonEdit.Sample.sln @@ -1,6 +1,7 @@ Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 +# SharpDevelop 5.0 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.Sample", "AvalonEdit.Sample.csproj", "{13A5B497-BA12-45AE-9033-22620C3153FB}" EndProject Global diff --git a/samples/AvalonEdit.Sample/BraceFoldingStrategy.cs b/samples/AvalonEdit.Sample/BraceFoldingStrategy.cs index ddd0535a86..def5244f04 100644 --- a/samples/AvalonEdit.Sample/BraceFoldingStrategy.cs +++ b/samples/AvalonEdit.Sample/BraceFoldingStrategy.cs @@ -20,13 +20,14 @@ using System; using System.Collections.Generic; using ICSharpCode.AvalonEdit.Document; using ICSharpCode.AvalonEdit.Folding; +using ICSharpCode.NRefactory.Editor; namespace AvalonEdit.Sample { /// <summary> /// Allows producing foldings from a document based on braces. /// </summary> - public class BraceFoldingStrategy : AbstractFoldingStrategy + public class BraceFoldingStrategy { /// <summary> /// Gets/Sets the opening brace. The default value is '{'. @@ -47,10 +48,17 @@ namespace AvalonEdit.Sample this.ClosingBrace = '}'; } + public void UpdateFoldings(FoldingManager manager, TextDocument document) + { + int firstErrorOffset; + IEnumerable<NewFolding> newFoldings = CreateNewFoldings(document, out firstErrorOffset); + manager.UpdateFoldings(newFoldings, firstErrorOffset); + } + /// <summary> /// Create <see cref="NewFolding"/>s for the specified document. /// </summary> - public override IEnumerable<NewFolding> CreateNewFoldings(TextDocument document, out int firstErrorOffset) + public IEnumerable<NewFolding> CreateNewFoldings(TextDocument document, out int firstErrorOffset) { firstErrorOffset = -1; return CreateNewFoldings(document); diff --git a/samples/AvalonEdit.Sample/MyCompletionData.cs b/samples/AvalonEdit.Sample/MyCompletionData.cs index 7ab77048a3..002ef06e24 100644 --- a/samples/AvalonEdit.Sample/MyCompletionData.cs +++ b/samples/AvalonEdit.Sample/MyCompletionData.cs @@ -20,6 +20,7 @@ using System; using ICSharpCode.AvalonEdit.CodeCompletion; using ICSharpCode.AvalonEdit.Document; using ICSharpCode.AvalonEdit.Editing; +using ICSharpCode.NRefactory.Editor; namespace AvalonEdit.Sample { diff --git a/samples/AvalonEdit.Sample/Window1.xaml.cs b/samples/AvalonEdit.Sample/Window1.xaml.cs index 35fc9bde94..ebd4da6eb2 100755 --- a/samples/AvalonEdit.Sample/Window1.xaml.cs +++ b/samples/AvalonEdit.Sample/Window1.xaml.cs @@ -65,7 +65,7 @@ namespace AvalonEdit.Sample DispatcherTimer foldingUpdateTimer = new DispatcherTimer(); foldingUpdateTimer.Interval = TimeSpan.FromSeconds(2); - foldingUpdateTimer.Tick += foldingUpdateTimer_Tick; + foldingUpdateTimer.Tick += delegate { UpdateFoldings(); }; foldingUpdateTimer.Start(); } @@ -147,7 +147,7 @@ namespace AvalonEdit.Sample #region Folding FoldingManager foldingManager; - AbstractFoldingStrategy foldingStrategy; + object foldingStrategy; void HighlightingComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { @@ -175,7 +175,7 @@ namespace AvalonEdit.Sample if (foldingStrategy != null) { if (foldingManager == null) foldingManager = FoldingManager.Install(textEditor.TextArea); - foldingStrategy.UpdateFoldings(foldingManager, textEditor.Document); + UpdateFoldings(); } else { if (foldingManager != null) { FoldingManager.Uninstall(foldingManager); @@ -184,10 +184,13 @@ namespace AvalonEdit.Sample } } - void foldingUpdateTimer_Tick(object sender, EventArgs e) + void UpdateFoldings() { - if (foldingStrategy != null) { - foldingStrategy.UpdateFoldings(foldingManager, textEditor.Document); + if (foldingStrategy is BraceFoldingStrategy) { + ((BraceFoldingStrategy)foldingStrategy).UpdateFoldings(foldingManager, textEditor.Document); + } + if (foldingStrategy is XmlFoldingStrategy) { + ((XmlFoldingStrategy)foldingStrategy).UpdateFoldings(foldingManager, textEditor.Document); } } #endregion diff --git a/samples/AvalonEdit.Sample/app.config b/samples/AvalonEdit.Sample/app.config new file mode 100644 index 0000000000..9008dd2558 --- /dev/null +++ b/samples/AvalonEdit.Sample/app.config @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <startup> + <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> + </startup> +</configuration> \ No newline at end of file