1
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
2
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
7
namespace ICSharpCode.Core.Presentation
9
public sealed class LanguageChangeWeakEventManager : WeakEventManager
12
/// Adds a weak event listener.
14
public static void AddListener(IWeakEventListener listener)
16
CurrentManager.ProtectedAddListener(null, listener);
20
/// Removes a weak event listener.
22
public static void RemoveListener(IWeakEventListener listener)
24
CurrentManager.ProtectedRemoveListener(null, listener);
28
/// Gets the current manager.
30
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1721:PropertyNamesShouldNotMatchGetMethods")]
31
private static LanguageChangeWeakEventManager CurrentManager {
33
LanguageChangeWeakEventManager manager = (LanguageChangeWeakEventManager)GetCurrentManager(typeof(LanguageChangeWeakEventManager));
34
if (manager == null) {
35
manager = new LanguageChangeWeakEventManager();
36
SetCurrentManager(typeof(LanguageChangeWeakEventManager), manager);
42
protected override void StartListening(object source)
44
ResourceService.LanguageChanged += DeliverEvent;
47
protected override void StopListening(object source)
49
ResourceService.LanguageChanged -= DeliverEvent;