/// <summary> /// fetches the persisted microwave presests /// </summary> private void LoadSavedPresets() { XmlTextReader file = null; try { if (!File.Exists(FrequencyPresetsFilename)) { throw new FileNotFoundException("Presets file \"" + FrequencyPresetsFilename + "\" does not exist!"); } XmlSerializer xmlSerializer = new XmlSerializer(typeof(UserPresetStore)); file = new XmlTextReader(FrequencyPresetsFilename); frequencyPresets = (UserPresetStore)xmlSerializer.Deserialize(file); } catch (Exception exc) { AppLogger.Dump(exc); frequencyPresets = new UserPresetStore(); } finally { if (file != null) { file.Close(); } } }
public void LoadSavedPositions() { XmlTextReader reader = null; try { if (!File.Exists(SavedPositionsFileName)) { throw new FileNotFoundException("The file \"" + SavedPositionsFileName + "\" does not exist."); } XmlSerializer xmlSerializer = new XmlSerializer(typeof(UserPresetStore)); reader = new XmlTextReader(SavedPositionsFileName); PresetItems = (UserPresetStore)xmlSerializer.Deserialize(reader); } catch (Exception exc) { AppLogger.Dump(exc); PresetItems = new UserPresetStore(); } finally { if (reader != null) { reader.Close(); } } }
/// <summary> /// Removes any items that are not in the given UserPresetStore, and updates items that do exist, retaining any images /// </summary> /// <param name="userPresetStore">the presets to update from -- note: this object is altered!</param> public void UpdateItems(UserPresetStore userPresetStore) { Debug.WriteLine("UserPresetsControl.UpdateItems"); if (userPresetStore == null) { return; } //Step 1: Remove items that no longer exist List <int> indexesToDelete = new List <int>(); for (int i = 0; i < this.Items.Count; i++) { if (!userPresetStore.Contains(this.Items[i].Preset.ID)) { indexesToDelete.Add(i); } } //iterate these backwards so the list shrinks predictably, instead of accidently deleteing the wrong items for (int i = indexesToDelete.Count - 1; i >= 0; i--) { this.Delete(indexesToDelete[i]); } //Step 2: Update items that we still have foreach (UserPresetItemView i in this.Items) { if (userPresetStore.Contains(i.Preset.ID)) { i.Preset = userPresetStore[i.Preset.ID]; //remove items we already have, so we don't get duplicates userPresetStore.Remove(i.Preset.ID); } } //Step 3: Add new items foreach (UserPresetItem i in userPresetStore) { UserPresetItemView view = new UserPresetItemView(); view.Preset = i; this.Add(view); } }
public void SavedPositionsChanged(UserPresetStore savedCameraPositions) { _ccc.PresetItems = savedCameraPositions; }
public void SavedPresetsChanged(UserPresetStore presets) { parent.FrequencyPresets = presets; }