Browse Source

fix AvalonEdit.Sample

newNR
Siegfried Pammer 12 years ago
parent
commit
259dcba1a4
  1. 9
      samples/AvalonEdit.Sample/AvalonEdit.Sample.csproj
  2. 1
      samples/AvalonEdit.Sample/AvalonEdit.Sample.sln
  3. 12
      samples/AvalonEdit.Sample/BraceFoldingStrategy.cs
  4. 1
      samples/AvalonEdit.Sample/MyCompletionData.cs
  5. 15
      samples/AvalonEdit.Sample/Window1.xaml.cs
  6. 6
      samples/AvalonEdit.Sample/app.config

9
samples/AvalonEdit.Sample/AvalonEdit.Sample.csproj

@ -7,8 +7,9 @@
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<RootNamespace>AvalonEdit.Sample</RootNamespace> <RootNamespace>AvalonEdit.Sample</RootNamespace>
<AssemblyName>AvalonEdit.Sample</AssemblyName> <AssemblyName>AvalonEdit.Sample</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<TargetFrameworkProfile />
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'x86' "> <PropertyGroup Condition=" '$(Platform)' == 'x86' ">
<PlatformTarget>x86</PlatformTarget> <PlatformTarget>x86</PlatformTarget>
@ -36,6 +37,9 @@
<Reference Include="ICSharpCode.AvalonEdit"> <Reference Include="ICSharpCode.AvalonEdit">
<HintPath>..\..\bin\ICSharpCode.AvalonEdit.dll</HintPath> <HintPath>..\..\bin\ICSharpCode.AvalonEdit.dll</HintPath>
</Reference> </Reference>
<Reference Include="ICSharpCode.NRefactory">
<HintPath>..\..\bin\ICSharpCode.NRefactory.dll</HintPath>
</Reference>
<Reference Include="PresentationCore"> <Reference Include="PresentationCore">
<RequiredTargetFramework>3.0</RequiredTargetFramework> <RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference> </Reference>
@ -100,5 +104,8 @@
<ItemGroup> <ItemGroup>
<EmbeddedResource Include="CustomHighlighting.xshd" /> <EmbeddedResource Include="CustomHighlighting.xshd" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<None Include="app.config" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" /> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
</Project> </Project>

1
samples/AvalonEdit.Sample/AvalonEdit.Sample.sln

@ -1,6 +1,7 @@
 
Microsoft Visual Studio Solution File, Format Version 11.00 Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010 # Visual Studio 2010
# SharpDevelop 5.0
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.Sample", "AvalonEdit.Sample.csproj", "{13A5B497-BA12-45AE-9033-22620C3153FB}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.Sample", "AvalonEdit.Sample.csproj", "{13A5B497-BA12-45AE-9033-22620C3153FB}"
EndProject EndProject
Global Global

12
samples/AvalonEdit.Sample/BraceFoldingStrategy.cs

@ -20,13 +20,14 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using ICSharpCode.AvalonEdit.Document; using ICSharpCode.AvalonEdit.Document;
using ICSharpCode.AvalonEdit.Folding; using ICSharpCode.AvalonEdit.Folding;
using ICSharpCode.NRefactory.Editor;
namespace AvalonEdit.Sample namespace AvalonEdit.Sample
{ {
/// <summary> /// <summary>
/// Allows producing foldings from a document based on braces. /// Allows producing foldings from a document based on braces.
/// </summary> /// </summary>
public class BraceFoldingStrategy : AbstractFoldingStrategy public class BraceFoldingStrategy
{ {
/// <summary> /// <summary>
/// Gets/Sets the opening brace. The default value is '{'. /// Gets/Sets the opening brace. The default value is '{'.
@ -47,10 +48,17 @@ namespace AvalonEdit.Sample
this.ClosingBrace = '}'; this.ClosingBrace = '}';
} }
public void UpdateFoldings(FoldingManager manager, TextDocument document)
{
int firstErrorOffset;
IEnumerable<NewFolding> newFoldings = CreateNewFoldings(document, out firstErrorOffset);
manager.UpdateFoldings(newFoldings, firstErrorOffset);
}
/// <summary> /// <summary>
/// Create <see cref="NewFolding"/>s for the specified document. /// Create <see cref="NewFolding"/>s for the specified document.
/// </summary> /// </summary>
public override IEnumerable<NewFolding> CreateNewFoldings(TextDocument document, out int firstErrorOffset) public IEnumerable<NewFolding> CreateNewFoldings(TextDocument document, out int firstErrorOffset)
{ {
firstErrorOffset = -1; firstErrorOffset = -1;
return CreateNewFoldings(document); return CreateNewFoldings(document);

1
samples/AvalonEdit.Sample/MyCompletionData.cs

@ -20,6 +20,7 @@ using System;
using ICSharpCode.AvalonEdit.CodeCompletion; using ICSharpCode.AvalonEdit.CodeCompletion;
using ICSharpCode.AvalonEdit.Document; using ICSharpCode.AvalonEdit.Document;
using ICSharpCode.AvalonEdit.Editing; using ICSharpCode.AvalonEdit.Editing;
using ICSharpCode.NRefactory.Editor;
namespace AvalonEdit.Sample namespace AvalonEdit.Sample
{ {

15
samples/AvalonEdit.Sample/Window1.xaml.cs

@ -65,7 +65,7 @@ namespace AvalonEdit.Sample
DispatcherTimer foldingUpdateTimer = new DispatcherTimer(); DispatcherTimer foldingUpdateTimer = new DispatcherTimer();
foldingUpdateTimer.Interval = TimeSpan.FromSeconds(2); foldingUpdateTimer.Interval = TimeSpan.FromSeconds(2);
foldingUpdateTimer.Tick += foldingUpdateTimer_Tick; foldingUpdateTimer.Tick += delegate { UpdateFoldings(); };
foldingUpdateTimer.Start(); foldingUpdateTimer.Start();
} }
@ -147,7 +147,7 @@ namespace AvalonEdit.Sample
#region Folding #region Folding
FoldingManager foldingManager; FoldingManager foldingManager;
AbstractFoldingStrategy foldingStrategy; object foldingStrategy;
void HighlightingComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) void HighlightingComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{ {
@ -175,7 +175,7 @@ namespace AvalonEdit.Sample
if (foldingStrategy != null) { if (foldingStrategy != null) {
if (foldingManager == null) if (foldingManager == null)
foldingManager = FoldingManager.Install(textEditor.TextArea); foldingManager = FoldingManager.Install(textEditor.TextArea);
foldingStrategy.UpdateFoldings(foldingManager, textEditor.Document); UpdateFoldings();
} else { } else {
if (foldingManager != null) { if (foldingManager != null) {
FoldingManager.Uninstall(foldingManager); FoldingManager.Uninstall(foldingManager);
@ -184,10 +184,13 @@ namespace AvalonEdit.Sample
} }
} }
void foldingUpdateTimer_Tick(object sender, EventArgs e) void UpdateFoldings()
{ {
if (foldingStrategy != null) { if (foldingStrategy is BraceFoldingStrategy) {
foldingStrategy.UpdateFoldings(foldingManager, textEditor.Document); ((BraceFoldingStrategy)foldingStrategy).UpdateFoldings(foldingManager, textEditor.Document);
}
if (foldingStrategy is XmlFoldingStrategy) {
((XmlFoldingStrategy)foldingStrategy).UpdateFoldings(foldingManager, textEditor.Document);
} }
} }
#endregion #endregion

6
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>
Loading…
Cancel
Save