/// <summary> /// Deserialize element. /// </summary> /// <param name="reader">Xml text reader.</param> /// <param name="elementName">Element name.</param> protected virtual void DeserializeElement(System.Xml.XmlTextReader reader, string elementName) { if (elementName == "MRUFileEntries") { while (reader.Read()) { switch (reader.NodeType) { case System.Xml.XmlNodeType.Element: { if (reader.Name == "mruFileEntries") { MRUFileEntry entry = DeserializeMRUFileEntry(reader); if (entry != null) { this.mRUFileEntries.Add(entry); } } break; } case System.Xml.XmlNodeType.EndElement: if (reader.Name == "MRUFileEntries") { reader.Skip(); return; } break; } } } }
private MRUFileEntry DeserializeMRUFileEntry(System.Xml.XmlTextReader reader) { MRUFileEntry entry = new MRUFileEntry(); while (reader.Read()) { if (reader.NodeType == System.Xml.XmlNodeType.Element) { if (reader.Name == "fileName") { entry.FileName = reader.ReadElementContentAsString(); } else if (reader.Name == "shortName") { entry.ShortName = reader.ReadElementContentAsString(); } else if (reader.Name == "modelContextName") { entry.ModelContextName = reader.ReadElementContentAsString(); } } else if (reader.NodeType == System.Xml.XmlNodeType.EndElement) { if (reader.Name == "mruFileEntries") { reader.Skip(); break; } } } return(entry); }
/// <summary> /// Move to top command executed. /// </summary> public void MoveToTopCommandExecuted(MRUFileEntry entry) { if (entry != null) { MoveToTop(entry); } }
/// <summary> /// Remove command executed. /// </summary> public void RemoveCommandExecuted(MRUFileEntry entry) { if (entry != null) { RemoveMRUEntry(entry); } }
/// <summary> /// Open command executed. /// </summary> public void OpenCommandExecuted(MRUFileEntry entry) { if (entry != null && this.mainViewModel != null) { this.mainViewModel.OpenModel(entry.FileName); MoveToTopCommandExecuted(entry); } }
public void AddMRUEntry(MRUFileEntry entry) { if (Contains(entry)) { MoveToTop(entry); return; } this.ViewModelStore.Options.MRUFileEntries.Insert(0, entry); this.MRUFileEntries.Insert(0, new MRUFileEntryViewModel(this.ViewModelStore, entry)); }
/// <summary> /// Verifies if there is a specific mru entry. /// </summary> /// <param name="mruEntry">Mru entry.</param> /// <returns>True if a mru entry is found; False otherwise.</returns> public bool Contains(MRUFileEntry mruEntry) { foreach (MRUFileEntry entry in this.ViewModelStore.Options.MRUFileEntries) { if (entry.FileName == mruEntry.FileName && entry.ModelContextName == mruEntry.ModelContextName) { return(true); } } return(false); }
/// <summary> /// Moves an mru entry to the top of the list. /// </summary> /// <param name="fileName">MRU file name.</param> /// <param name="modelContextName">Model context name.</param> public void MoveToTop(string fileName, string modelContextName) { for (int i = this.ViewModelStore.Options.MRUFileEntries.Count - 1; i >= 0; i--) { if (this.ViewModelStore.Options.MRUFileEntries[i].FileName == fileName && i > 0 && this.ViewModelStore.Options.MRUFileEntries[i].ModelContextName == modelContextName) { MRUFileEntry entry = this.ViewModelStore.Options.MRUFileEntries[i]; this.ViewModelStore.Options.MRUFileEntries.RemoveAt(i); this.ViewModelStore.Options.MRUFileEntries.Insert(0, entry); for (int y = this.MRUFileEntries.Count - 1; y >= 0; y--) { if (this.MRUFileEntries[y].MRUFileEntry.FileName == fileName && y > 0 && this.MRUFileEntries[y].MRUFileEntry.ModelContextName == modelContextName) { this.MRUFileEntries.Move(y, 0); } } return; } } }
/// <summary> /// Constuctor. /// </summary> /// <param name="mruEntry">MRU entry.</param> public MRUFileEntryViewModel(MRUFileEntry mruEntry) { this.mruEntry = mruEntry; }
/// <summary> /// Constuctor. /// </summary> /// <param name="viewModelStore">The store this view model belongs to.</param> /// <param name="mruEntry">MRU entry.</param> public MRUFileEntryViewModel(ViewModelStore viewModelStore, MRUFileEntry mruEntry) : base(viewModelStore) { this.mruEntry = mruEntry; }
/// <summary> /// Removes an mru entry from the list. /// </summary> /// <param name="entry">MRU entry.</param> public void RemoveMRUEntry(MRUFileEntry entry) { RemoveMRUEntry(entry.FileName, entry.ModelContextName); }
/// <summary> /// Moves an mru entry to the top of the list. /// </summary> /// <param name="entry">MRU entry.</param> public void MoveToTop(MRUFileEntry entry) { MoveToTop(entry.FileName, entry.ModelContextName); }
/// <summary> /// AddCommand executed. /// </summary> /// <param name="entry">MRU file entry.</param> public void AddCommandExecuted(MRUFileEntry entry) { AddMRUEntry(entry); }