// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using ICSharpCode.AvalonEdit.Utils;
namespace ICSharpCode.AvalonEdit.Document
{
///
/// Contains weak event managers for the TextDocument events.
///
public static class TextDocumentWeakEventManager
{
///
/// Weak event manager for the event.
///
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1034:NestedTypesShouldNotBeVisible")]
public sealed class UpdateStarted : WeakEventManagerBase
{
///
protected override void StartListening(TextDocument source)
{
source.UpdateStarted += DeliverEvent;
}
///
protected override void StopListening(TextDocument source)
{
source.UpdateStarted -= DeliverEvent;
}
}
///
/// Weak event manager for the event.
///
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1034:NestedTypesShouldNotBeVisible")]
public sealed class UpdateFinished : WeakEventManagerBase
{
///
protected override void StartListening(TextDocument source)
{
source.UpdateFinished += DeliverEvent;
}
///
protected override void StopListening(TextDocument source)
{
source.UpdateFinished -= DeliverEvent;
}
}
///
/// Weak event manager for the event.
///
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1034:NestedTypesShouldNotBeVisible")]
public sealed class Changing : WeakEventManagerBase
{
///
protected override void StartListening(TextDocument source)
{
source.Changing += DeliverEvent;
}
///
protected override void StopListening(TextDocument source)
{
source.Changing -= DeliverEvent;
}
}
///
/// Weak event manager for the event.
///
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1034:NestedTypesShouldNotBeVisible")]
public sealed class Changed : WeakEventManagerBase
{
///
protected override void StartListening(TextDocument source)
{
source.Changed += DeliverEvent;
}
///
protected override void StopListening(TextDocument source)
{
source.Changed -= DeliverEvent;
}
}
///
/// Weak event manager for the event.
///
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1034:NestedTypesShouldNotBeVisible")]
[Obsolete("The TextDocument.LineCountChanged event will be removed in a future version. Use PropertyChangedEventManager instead.")]
public sealed class LineCountChanged : WeakEventManagerBase
{
///
protected override void StartListening(TextDocument source)
{
source.LineCountChanged += DeliverEvent;
}
///
protected override void StopListening(TextDocument source)
{
source.LineCountChanged -= DeliverEvent;
}
}
///
/// Weak event manager for the event.
///
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1034:NestedTypesShouldNotBeVisible")]
[Obsolete("The TextDocument.TextLengthChanged event will be removed in a future version. Use PropertyChangedEventManager instead.")]
public sealed class TextLengthChanged : WeakEventManagerBase
{
///
protected override void StartListening(TextDocument source)
{
source.TextLengthChanged += DeliverEvent;
}
///
protected override void StopListening(TextDocument source)
{
source.TextLengthChanged -= DeliverEvent;
}
}
///
/// Weak event manager for the event.
///
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1034:NestedTypesShouldNotBeVisible")]
public sealed class TextChanged : WeakEventManagerBase
{
///
protected override void StartListening(TextDocument source)
{
source.TextChanged += DeliverEvent;
}
///
protected override void StopListening(TextDocument source)
{
source.TextChanged -= DeliverEvent;
}
}
}
}