AcManager.Controls.UserPresetsControl.OnUserPresetableChanged C# (CSharp) Method

OnUserPresetableChanged() private method

private OnUserPresetableChanged ( IUserPresetable oldValue, IUserPresetable newValue ) : void
oldValue IUserPresetable
newValue IUserPresetable
return void
        private void OnUserPresetableChanged(IUserPresetable oldValue, IUserPresetable newValue) {
            if (oldValue != null) {
                Instances.Remove(oldValue.PresetableKey);
            }

            Instances.RemoveDeadReferences();

            if (newValue != null) {
                Instances[newValue.PresetableKey] = new WeakReference<UserPresetsControl>(this);
            }

            if (_presetable != null) {
                PresetsManager.Instance.Watcher(_presetable.PresetableCategory).Update -= Presets_Update;
                _presetable.Changed -= Presetable_Changed;
            }

            _presetable = newValue;
            SetValue(PreviewProviderPropertyKey, _presetable as IPresetsPreviewProvider);
            if (_presetable == null) return;

            PresetsManager.Instance.Watcher(_presetable.PresetableCategory).Update += Presets_Update;
            _presetable.Changed += Presetable_Changed;
            UpdateSavedPresets();
            SetChanged();
        }

Same methods

UserPresetsControl::OnUserPresetableChanged ( DependencyObject d, System.Windows.DependencyPropertyChangedEventArgs e ) : void