示例#1
0
        /// <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;
                    }
                }
            }
        }
示例#2
0
        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);
        }
示例#3
0
 /// <summary>
 /// Move to top command executed.
 /// </summary>
 public void MoveToTopCommandExecuted(MRUFileEntry entry)
 {
     if (entry != null)
     {
         MoveToTop(entry);
     }
 }
示例#4
0
 /// <summary>
 /// Remove command executed.
 /// </summary>
 public void RemoveCommandExecuted(MRUFileEntry entry)
 {
     if (entry != null)
     {
         RemoveMRUEntry(entry);
     }
 }
示例#5
0
        /// <summary>
        /// Open command executed.
        /// </summary>
        public void OpenCommandExecuted(MRUFileEntry entry)
        {
            if (entry != null && this.mainViewModel != null)
            {
                this.mainViewModel.OpenModel(entry.FileName);

                MoveToTopCommandExecuted(entry);
            }
        }
示例#6
0
        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));
        }
示例#7
0
        /// <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);
        }
示例#8
0
        /// <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;
 }
示例#11
0
 /// <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);
 }
示例#12
0
 /// <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);
 }
示例#13
0
 /// <summary>
 /// AddCommand executed.
 /// </summary>
 /// <param name="entry">MRU file entry.</param>
 public void AddCommandExecuted(MRUFileEntry entry)
 {
     AddMRUEntry(entry);
 }