Exemple #1
0
        //---------------------------------------------------------------------
        private Dictionary <string, Action> _getActionsSettingsPropertyNames(ISettingsProperties settingsProperties)
        {
            Dictionary <string, Action> actionSettingsPropertyNames;

            if (!_actionsSettingsPropertyNames.TryGetValue(settingsProperties, out actionSettingsPropertyNames))
            {
                actionSettingsPropertyNames = new Dictionary <string, Action>();
                _actionsSettingsPropertyNames.Add(settingsProperties, actionSettingsPropertyNames);

                _subscribeSettingsPropertiesAllEvents(settingsProperties, true);
            }

            return(actionSettingsPropertyNames);
        }
Exemple #2
0
 //---------------------------------------------------------------------
 private void _subscribeSettingsPropertiesAllEvents(ISettingsProperties settingsProperties, bool addEvents)
 {
     if (settingsProperties != null)
     {
         if (addEvents)
         {
             settingsProperties.PropertyChanged += _settingsPropertiesOnPropertyChanged;
         }
         else
         {
             settingsProperties.PropertyChanged -= _settingsPropertiesOnPropertyChanged;
         }
     }
 }
Exemple #3
0
        protected void AddActionsSettingsProperties(ISettingsProperties settingsProperties, params Tuple <string, Action>[] actionsPropertyNames)
        {
            if (settingsProperties == null)
            {
                throw new ArgumentNullException(nameof(settingsProperties));
            }
            if (actionsPropertyNames == null)
            {
                throw new ArgumentNullException(nameof(actionsPropertyNames));
            }

            var actionSettingsPropertyNames = _getActionsSettingsPropertyNames(settingsProperties);

            foreach (var actionsPropertyName in actionsPropertyNames.Where(actionsPropertyName => !string.IsNullOrWhiteSpace(actionsPropertyName.Item1) && actionsPropertyName.Item2 != null))
            {
                actionSettingsPropertyNames[actionsPropertyName.Item1] = actionsPropertyName.Item2;
            }
        }
Exemple #4
0
        protected void AddActionSettingsProperties(ISettingsProperties settingsProperties, string propertyName, Action action)
        {
            if (settingsProperties == null)
            {
                throw new ArgumentNullException(nameof(settingsProperties));
            }
            if (string.IsNullOrWhiteSpace(propertyName))
            {
                throw new ArgumentNullException(nameof(propertyName));
            }
            if (action == null)
            {
                throw new ArgumentNullException(nameof(action));
            }

            var actionSettingsPropertyNames = _getActionsSettingsPropertyNames(settingsProperties);

            actionSettingsPropertyNames[propertyName] = action;
        }