Exemplo n.º 1
0
        /// <summary>
        /// 按给定的符号索引和名称重定位元件定义
        /// </summary>
        /// <param name="part">元件定义</param>
        /// <param name="index">符号索引</param>
        /// <param name="name">名称</param>
        public void Redirect(ImagePart part, SymbolIndex index, string name)
        {
            var oldName = part.Name;

            var oldid   = part.Index;
            var folders =
                Root
                .GetAllFolders()
                .Where(f => f.HasPartIndex(oldid));

            ImagePartTable.Redirect(part, index);
            foreach (var folder in folders)
            {
                folder.Redirect(oldid, index);
            }

            if (oldName != name)
            {
                part.Rename(name);
            }
        }
Exemplo n.º 2
0
 public bool Has(SymbolIndex index)
 {
     return
         (Has(index.DictionaryName) &&
          this[index.DictionaryName].Has(index.Key));
 }
Exemplo n.º 3
0
 public T this[SymbolIndex index]
 {
     get { return(this[index.DictionaryName, index.Key]); }
     set { this[index.DictionaryName, index.Key] = value; }
 }
Exemplo n.º 4
0
 /// <summary>
 /// 按给定索引重定位符号元素
 /// </summary>
 /// <param name="value">符号元素</param>
 /// <param name="index">索引</param>
 internal void Redirect(T value, SymbolIndex index)
 {
     Remove(value);
     value.Index = index;
     Add(value);
 }