Exemple #1
0
        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();
        }
Exemple #2
0
        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="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;
 }
Exemple #6
0
 public Discovery(IEnumerable <IDiscoveryShortcutProvider> shortcutProviders, IBindingValidator bindingValidator, IDiscoveryInvalidShortcutReporter invalidShortcutReporter = null)
 {
     m_ShortcutProviders       = shortcutProviders;
     m_BindingValidator        = bindingValidator;
     m_InvalidShortcutReporter = invalidShortcutReporter;
 }
Exemple #7
0
        public static bool IsBindingValid(this IBindingValidator bindingValidator, KeyCode keyCode)
        {
            string invalidBindingMessage;

            return(bindingValidator.IsBindingValid(new[] { new KeyCombination(keyCode) }, out invalidBindingMessage));
        }
Exemple #8
0
 public ShortcutProfileManager(IEnumerable <ShortcutEntry> baseProfile, IBindingValidator bindingValidator, IShortcutProfileStore profileStore)
 {
     UpdateBaseProfile(baseProfile);
     m_ProfileStore     = profileStore;
     m_BindingValidator = bindingValidator;
 }
Exemple #9
0
 /// <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;
 }