public PresentationContextList LoadSettings( ) { PresentationContextList list; if (null == _optionsAgent) { _optionsAgent = GetOptionsDataAccessAgent( ); } if (null != _optionsAgent && _optionsAgent.OptionExits(_settingsKeyName)) { list = _optionsAgent.Get <PresentationContextList>(_settingsKeyName, null, new Type[0]); } else { list = new PresentationContextList(); list.Default(); if (null != _optionsAgent) { _optionsAgent.Set <PresentationContextList> (_settingsKeyName, list, new Type[0]); } } return(list); }
private PresentationContextList Clone(PresentationContextList options) { try { // // Don't serialize a null object, simply return the default for that object // if (Object.ReferenceEquals(options, null)) { return(null); } if (!options.GetType().IsSerializable) { throw new ArgumentException("The type must be serializable.", "source"); } AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve); IFormatter formatter = new BinaryFormatter(); Stream stream = new MemoryStream(); using (stream) { formatter.Serialize(stream, options); stream.Seek(0, SeekOrigin.Begin); return((PresentationContextList)formatter.Deserialize(stream)); } } finally { AppDomain.CurrentDomain.AssemblyResolve -= CurrentDomain_AssemblyResolve; } }
public void UpdateSettings( ) { if (_optionsAgent == null) { _optionsAgent = GetOptionsDataAccessAgent(); } // If _optionsAgent is still null, then the optionsAgent is not registered // This can happen occur with older installation of v17.5, when the optionsAgent did not exist if (_optionsAgent == null) { return; } if (_settings.Equals(_view.PresentationContextList)) { return; } if (_view.IsDirty) { _settings = Clone(_view.PresentationContextList); _optionsAgent.Set <PresentationContextList>(_settingsKeyName, _settings, new Type[0]); _view.ChangesCommited( ); } }
public void RunView(StorageClassesTabControl view) { _view = view; _settings = LoadSettings( ); view.PresentationContextList = Clone(_settings); _view.Initialize(); _view.SettingsChanged += new EventHandler(_view_SettingsChanged); }