aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/TextEditorWeakEventManager.cs
blob: 87057ead40fe66c849d272779f312dfdcaf0d80a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// 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 Tango.Scripting.Editors.Utils;
using System;

namespace Tango.Scripting.Editors
{
	/// <summary>
	/// Contains weak event managers for <see cref="ITextEditorComponent"/>.
	/// </summary>
	public static class TextEditorWeakEventManager
	{
		/// <summary>
		/// Weak event manager for the <see cref="ITextEditorComponent.DocumentChanged"/> event.
		/// </summary>
		[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1034:NestedTypesShouldNotBeVisible")]
		public sealed class DocumentChanged : WeakEventManagerBase<DocumentChanged, ITextEditorComponent>
		{
			/// <inheritdoc/>
			protected override void StartListening(ITextEditorComponent source)
			{
				source.DocumentChanged += DeliverEvent;
			}
			
			/// <inheritdoc/>
			protected override void StopListening(ITextEditorComponent source)
			{
				source.DocumentChanged -= DeliverEvent;
			}
		}
		
		/// <summary>
		/// Weak event manager for the <see cref="ITextEditorComponent.OptionChanged"/> event.
		/// </summary>
		[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1034:NestedTypesShouldNotBeVisible")]
		public sealed class OptionChanged : WeakEventManagerBase<OptionChanged, ITextEditorComponent>
		{
			/// <inheritdoc/>
			protected override void StartListening(ITextEditorComponent source)
			{
				source.OptionChanged += DeliverEvent;
			}
			
			/// <inheritdoc/>
			protected override void StopListening(ITextEditorComponent source)
			{
				source.OptionChanged -= DeliverEvent;
			}
		}
	}
}
nclude="Network\FolderUploadResponse.cs" /> <Compile Include="Network\InitWebRtcRequest.cs" /> <Compile Include="Network\InitWebRtcResponse.cs" /> <Compile Include="Network\MoveRequest.cs" /> <Compile Include="Network\MoveResponse.cs" /> <Compile Include="Network\PerformDiskSpaceOptimizationRequest.cs" /> <Compile Include="Network\PerformDiskSpaceOptimizationResponse.cs" /> <Compile Include="VirtualFileDataObject.cs" /> <Page Include="Themes\Generic.xaml"> <Generator>MSBuild:Compile</Generator> <SubType>Designer</SubType> </Page> <Compile Include="DriveItem.cs" /> <Compile Include="FileExplorerControl.cs"> <SubType>Code</SubType> </Compile> </ItemGroup> <ItemGroup> <Compile Include="FileExplorerControlMode.cs" /> <Compile Include="FileItem.cs" /> <Compile Include="FileSystemItem.cs" /> <Compile Include="FileSystemItemType.cs" /> <Compile Include="FileSystemManager.cs" /> <Compile Include="FolderItem.cs" /> <Compile Include="IFileSystemContainer.cs" /> <Compile Include="Network\FileSystemItemDTO.cs" /> <Compile Include="Network\FileUploadRequest.cs" /> <Compile Include="Network\FileUploadResponse.cs" /> <Compile Include="Network\GetFileSystemItemRequest.cs" /> <Compile Include="Network\GetFileSystemItemResponse.cs" /> <Compile Include="Network\FileDownloadRequest.cs" /> <Compile Include="Network\FileDownloadResponse.cs" /> <Compile Include="Network\FolderDownloadRequest.cs" /> <Compile Include="Network\FolderDownloadResponse.cs" /> <Compile Include="Properties\AssemblyInfo.cs"> <SubType>Code</SubType> </Compile> <Compile Include="Properties\Resources.Designer.cs"> <AutoGen>True</AutoGen> <DesignTime>True</DesignTime> <DependentUpon>Resources.resx</DependentUpon> </Compile> <Compile Include="Properties\Settings.Designer.cs"> <AutoGen>True</AutoGen> <DependentUpon>Settings.settings</DependentUpon> <DesignTimeSharedInput>True</DesignTimeSharedInput> </Compile> <EmbeddedResource Include="Properties\Resources.resx"> <Generator>ResXFileCodeGenerator</Generator> <LastGenOutput>Resources.Designer.cs</LastGenOutput> </EmbeddedResource> <None Include="Properties\Settings.settings"> <Generator>SettingsSingleFileGenerator</Generator> <LastGenOutput>Settings.Designer.cs</LastGenOutput> </None> </ItemGroup> <ItemGroup> <Resource Include="Images\drive.png" /> <Resource Include="Images\folder.png" /> </ItemGroup> <ItemGroup> <PackageReference Include="WindowsAPICodePack-Shell"> <Version>1.1.1</Version> </PackageReference> </ItemGroup> <ItemGroup> <ProjectReference Include="..\Tango.Core\Tango.Core.csproj"> <Project>{a34ee0f0-649d-41c8-8489-b6f1cc6924ee}</Project> <Name>Tango.Core</Name> </ProjectReference> <ProjectReference Include="..\Tango.Logging\Tango.Logging.csproj"> <Project>{BC932DBD-7CDB-488C-99E4-F02CF441F55E}</Project> <Name>Tango.Logging</Name> </ProjectReference> <ProjectReference Include="..\Tango.SharedUI\Tango.SharedUI.csproj"> <Project>{8491d07b-c1f6-4b62-a412-41b9fd2d6538}</Project> <Name>Tango.SharedUI</Name> </ProjectReference> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> </Project>