/// <summary> /// 将源分支合并到目标分支 /// </summary> /// <param name="folder">源</param> /// <param name="over">是否覆盖元件数据</param> internal void Merge(PartFolder folder, bool over) { PartFolder subFolder; if (HasFolder(folder.Name)) { subFolder = GetFolder(folder.Name); } else { subFolder = new PartFolder { Name = folder.Name }; Add(subFolder); } foreach (var index in folder.GetPartIndexs()) { if (!subFolder.HasPartIndex(index)) { subFolder.Add(index); } } foreach (var f in folder.Folders) { subFolder.Merge(f, over); } }
public void Remove(PartFolder folder) { _folders.Remove(folder); if (PartRemoving != null) { PartRemoving(this, new PartEventArgs(folder)); } }
public PartNode(PartFolder part, bool createImageNodes) { Part = part; CreateImageNodes = createImageNodes; Node = new TreeNode(part.Name, 0, 1); Node.Tag = this; MakeNode(); part.PartAdding += partAdding; part.PartRemoving += partRemoving; part.PartRenaming += partRenaming; }
private PartNode(PartFolder part, PartNode parent, bool createImageNodes) { Part = part; CreateImageNodes = createImageNodes; Node = new TreeNode(part.Name, 0, 1); Node.Tag = this; Parent = parent; parent.Node.Nodes.Add(Node); part.PartAdding += partAdding; part.PartRemoving += partRemoving; part.PartRenaming += partRenaming; }
public override Part Copy() { PartFolder folder = new PartFolder { Name = Name }; foreach (var f in _folders) { folder._folders.Add(f.Copy() as PartFolder); } foreach (var i in _partIndexs) { folder._partIndexs.Add(i); } return(folder); }
public void Add(PartFolder folder) { if (HasFolder(folder.Name)) { MessageBox.Show( string.Format("无法新建文件夹\"{0}\":与现有文件夹重名", folder.Name), "新建文件夹时出错"); return; } folder.Parent = this; folder.Database = Database; _folders.Add(folder); if (PartAdding != null) { PartAdding(this, new PartEventArgs(folder)); } }
public void Dispose() { if (Part.IsFolder) { foreach (var pnode in Nodes) { pnode.Dispose(); } PartFolder folder = Part as PartFolder; folder.PartAdding -= partAdding; folder.PartRemoving -= partRemoving; folder.PartRenaming -= partRenaming; } else { ImagePart part = Part as ImagePart; part.PartRenaming -= partRenaming; } Parent = null; Part = null; Nodes = null; Node = null; }