Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<IncludeSymbols>true</IncludeSymbols>
<EmbedUntrackedSources>true</EmbedUntrackedSources>

<Version>12.0.0</Version>
<Version>12.0.0-iuv2001</Version>
<Authors>Avalonia Team</Authors>
<Copyright>Copyright 2017-$([System.DateTime]::Now.ToString(`yyyy`)) &#169; The AvaloniaUI Project</Copyright>
<RepositoryUrl>https://github.com/AvaloniaUI/AvaloniaEdit/</RepositoryUrl>
Expand All @@ -16,6 +16,8 @@
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)\avalonia.snk</AssemblyOriginatorKeyFile>
<SignAssembly>true</SignAssembly>
<PackageOutputPath>$(SolutionDir)AvaloniaEdit-Package\</PackageOutputPath>
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
</PropertyGroup>

<PropertyGroup Condition="'$(GITHUB_ACTIONS)' == 'true'">
Expand All @@ -28,4 +30,4 @@
<ItemGroup>
<PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All"/>
</ItemGroup>
</Project>
</Project>
10 changes: 3 additions & 7 deletions NuGet.config
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
<!-- <clear /> -->
<!-- <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> -->
<!-- <add key="AvaloniaAll" value="https://nuget-feed-all.avaloniaui.net/v3/index.json" protocolVersion="3" /> -->
</packageSources>
<packageSourceMapping>
<packageSource key="nuget.org">
<package pattern="*" />
</packageSource>
</packageSourceMapping>
</configuration>
167 changes: 102 additions & 65 deletions src/AvaloniaEdit.Demo/MainWindow.axaml.cs

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion src/AvaloniaEdit.TextMate/AvaloniaEdit.TextMate.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net8.0;net10.0</TargetFrameworks>
<TargetFrameworks>net9.0;net10.0</TargetFrameworks>
<PackageDescription>TextMate integration for AvaloniaEdit.</PackageDescription>
</PropertyGroup>

Expand Down
2 changes: 1 addition & 1 deletion src/AvaloniaEdit/AvaloniaEdit.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net8.0;net10.0</TargetFrameworks>
<TargetFrameworks>net9.0;net10.0</TargetFrameworks>
<WarningsNotAsErrors>0612,0618</WarningsNotAsErrors>
<PackageId>Avalonia.AvaloniaEdit</PackageId>
<PackageDescription>This project is a port of AvalonEdit, a WPF-based text editor for Avalonia.</PackageDescription>
Expand Down
15 changes: 15 additions & 0 deletions src/AvaloniaEdit/Folding/FoldingManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -331,6 +331,7 @@ public FoldingManagerInstallation(TextArea textArea) : base(textArea.Document)
{
_textArea = textArea;
_margin = new FoldingMargin { FoldingManager = this };
_margin.OnFoldedChanged += RaiseOnFoldedChanged;
_generator = new FoldingElementGenerator { FoldingManager = this };
textArea.LeftMargins.Add(_margin);
textArea.TextView.Services.AddService(typeof(FoldingManager), this);
Expand Down Expand Up @@ -392,5 +393,19 @@ private void TextArea_Caret_PositionChanged(object sender, EventArgs e)
}
}
#endregion

#region Event
/// <summary>
/// 代码折叠事件
/// </summary>
public event EventHandler OnFoldedChanged;
private void RaiseOnFoldedChanged(object sender, EventArgs e)
{
if (OnFoldedChanged != null)
{
OnFoldedChanged(this, e);
}
}
#endregion
}
}
10 changes: 10 additions & 0 deletions src/AvaloniaEdit/Folding/FoldingMargin.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.

using System;
using System.Collections.Generic;
using System.Linq;
using Avalonia;
Expand All @@ -40,6 +41,8 @@ public class FoldingMargin : AbstractMargin

internal const double SizeFactor = Constants.PixelPerPoint;

public event EventHandler OnFoldedChanged;

static FoldingMargin()
{
FoldingMarkerBrushProperty.Changed.Subscribe(OnUpdateBrushes);
Expand Down Expand Up @@ -165,6 +168,7 @@ protected override void OnTextViewVisualLinesChanged()
{
foreach (var m in _markers)
{
m.OnFoldedChanged -= RaiseOnFoldedChanged;
VisualChildren.Remove(m);
}

Expand All @@ -185,6 +189,7 @@ protected override void OnTextViewVisualLinesChanged()
};
((ISetLogicalParent)m).SetParent(this);

m.OnFoldedChanged += RaiseOnFoldedChanged;
_markers.Add(m);
VisualChildren.Add(m);

Expand All @@ -202,6 +207,11 @@ protected override void OnTextViewVisualLinesChanged()
}
}

private void RaiseOnFoldedChanged(object sender, EventArgs e)
{
OnFoldedChanged?.Invoke(this, e);
}

private Pen _foldingControlPen = new Pen(FoldingMarkerBrushProperty.GetDefaultValue(typeof(FoldingMargin)));
private Pen _selectedFoldingControlPen = new Pen(SelectedFoldingMarkerBrushProperty.GetDefaultValue(typeof(FoldingMargin)));

Expand Down
10 changes: 8 additions & 2 deletions src/AvaloniaEdit/Folding/FoldingMarginMarker.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,12 @@
// DEALINGS IN THE SOFTWARE.

using Avalonia;
using AvaloniaEdit.Rendering;
using AvaloniaEdit.Utils;
using Avalonia.Controls;
using Avalonia.Input;
using Avalonia.Media;
using AvaloniaEdit.Rendering;
using AvaloniaEdit.Utils;
using System;

namespace AvaloniaEdit.Folding
{
Expand All @@ -32,6 +33,8 @@ internal sealed class FoldingMarginMarker : Control

private bool _isExpanded;

public event EventHandler OnFoldedChanged;

public bool IsExpanded
{
get => _isExpanded;
Expand All @@ -43,7 +46,10 @@ public bool IsExpanded
InvalidateVisual();
}
if (FoldingSection != null)
{
FoldingSection.IsFolded = !value;
OnFoldedChanged?.Invoke(this, EventArgs.Empty);
}
}
}

Expand Down
Loading
Loading