public ShortcutManagerWindowViewController(SerializedShortcutManagerWindowState state, IDirectory directory, IBindingValidator bindingValidator, IShortcutProfileManager profileManager, IContextManager contextManager, IAvailableShortcutsChangedNotifier availableShortcutsChangedNotifier) { m_SerializedState = state; m_ShortcutProfileManager = profileManager; m_Directory = directory; m_ContextManager = contextManager; m_BindingValidator = bindingValidator; m_AvailableShortcutsChangedNotifier = availableShortcutsChangedNotifier; InitializeCategoryList(); BuildKeyMapBindingStateData(); PopulateShortcutsBoundToSelectedKey(); }
public ShortcutController(IDiscovery discovery, IBindingValidator bindingValidator, IShortcutProfileStore profileStore, ILastUsedProfileIdProvider lastUsedProfileIdProvider) { m_Discovery = discovery; this.bindingValidator = bindingValidator; m_LastUsedProfileIdProvider = lastUsedProfileIdProvider; profileManager = new ShortcutProfileManager(m_Discovery.GetAllShortcuts(), bindingValidator, profileStore); profileManager.shortcutBindingChanged += OnShortcutBindingChanged; profileManager.activeProfileChanged += OnActiveProfileChanged; profileManager.ReloadProfiles(); var conflictResolverView = new ConflictResolverView(); var conflictResolver = new ConflictResolver(profileManager, contextManager, conflictResolverView); m_Directory = new Directory(profileManager.GetAllShortcuts()); trigger = new Trigger(m_Directory, conflictResolver); ActivateLastUsedProfile(); MigrateUserSpecifiedPrefKeys(); ModeService.modeChanged += HandleModeChanged; }
/// <summary> /// Bind properties of two objects bidirectionally, converting the values using a converter. /// Synchronization can be intercepted by adding a validator. /// </summary> /// <param name="controlObject">Object containing 1st property to bind</param> /// <param name="controlPropertyName">Property of 1st object to bind</param> /// <param name="fieldObject">Object containing 2nd property to bind</param> /// <param name="fieldPropertyName">Property of 2nd object to bind</param> /// <param name="validator">validator to intercept synchronisation if the value does not match certain criteria</param> public BidirectionalBinding(INotifyPropertyChanged controlObject, string controlPropertyName, INotifyPropertyChanged fieldObject, string fieldPropertyName, IBindingValidator validator) : this(controlObject, controlPropertyName, fieldObject, fieldPropertyName) { this.validator = validator; }
/// <summary> /// Bind properties of two objects bidirectionally, converting the values using a converter. /// Synchronization can be intercepted by adding a validator. /// </summary> /// <param name="object1">Object containing 1st property to bind</param> /// <param name="property1">Property of 1st object to bind</param> /// <param name="object2">Object containing 2nd property to bind</param> /// <param name="property2">Property of 2nd object to bind</param> /// <param name="validator">validator to intercept synchronisation if the value does not match certain criteria</param> public BidirectionalBinding(INotifyPropertyChanged object1, string property1, INotifyPropertyChanged object2, string property2, IBindingValidator validator) : this(object1, property1, object2, property2) { this.validator = validator; }
public Discovery(IEnumerable <IDiscoveryShortcutProvider> shortcutProviders, IBindingValidator bindingValidator, IDiscoveryInvalidShortcutReporter invalidShortcutReporter = null) { m_ShortcutProviders = shortcutProviders; m_BindingValidator = bindingValidator; m_InvalidShortcutReporter = invalidShortcutReporter; }
public static bool IsBindingValid(this IBindingValidator bindingValidator, KeyCode keyCode) { string invalidBindingMessage; return(bindingValidator.IsBindingValid(new[] { new KeyCombination(keyCode) }, out invalidBindingMessage)); }
public ShortcutProfileManager(IEnumerable <ShortcutEntry> baseProfile, IBindingValidator bindingValidator, IShortcutProfileStore profileStore) { UpdateBaseProfile(baseProfile); m_ProfileStore = profileStore; m_BindingValidator = bindingValidator; }