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 @@ WinExe AvalonEdit.Sample AvalonEdit.Sample - v4.0 + v4.5 Properties + x86 @@ -36,6 +37,9 @@ ..\..\bin\ICSharpCode.AvalonEdit.dll + + ..\..\bin\ICSharpCode.NRefactory.dll + 3.0 @@ -100,5 +104,8 @@ + + + \ 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 { /// /// Allows producing foldings from a document based on braces. /// - public class BraceFoldingStrategy : AbstractFoldingStrategy + public class BraceFoldingStrategy { /// /// 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 newFoldings = CreateNewFoldings(document, out firstErrorOffset); + manager.UpdateFoldings(newFoldings, firstErrorOffset); + } + /// /// Create s for the specified document. /// - public override IEnumerable CreateNewFoldings(TextDocument document, out int firstErrorOffset) + public IEnumerable 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 @@ + + + + + + \ No newline at end of file