public Database(string fileName) { FileName = fileName; Engine = new Engine(); Engine.Restart(); Engine.LoadAssembly(Assembly.GetExecutingAssembly()); FunctionTable = new FunctionTable { Database = this }; ImagePartTable = new ImagePartTable { Database = this }; ConfigDictionary = new ConfigDictionary { Database = this }; Root = new PartFolder { Database = this }; if (File.Exists(FileName)) { Root.FromX(ZipUtils.Extract(FileName, "Root")); } else { Root.Name = "所有元件"; } }
public Database(PartFolder folder) { FunctionTable = new FunctionTable { Database = this }; ImagePartTable = new ImagePartTable { Database = this }; var parts = folder.GetAllParts(); foreach (var p in parts.OfType <ParameterizedPart>()) { FunctionTable.Add(p.Function, true); } foreach (var p in parts) { ImagePartTable.Add(p.Copy() as ImagePart, true); } Root = folder.Copy() as PartFolder; Root.Database = this; foreach (var f in Root.GetAllFolders()) { f.Database = this; } }
private void AddFolder(object sender, EventArgs e) { frmInputBox form = new frmInputBox("输入目录名称:", "新建目录", ""); var res = form.ShowDialog(); if (res == DialogResult.OK && !Folder.HasFolder(form.NewText)) { PartFolder folder = new PartFolder { Name = form.NewText }; Folder.Add(folder); } }
public Database() { Engine = new Engine(); Engine.Restart(); Engine.LoadAssembly(Assembly.GetExecutingAssembly()); FunctionTable = new FunctionTable { Database = this }; ImagePartTable = new ImagePartTable { Database = this }; ConfigDictionary = new ConfigDictionary { Database = this }; Root = new PartFolder { Database = this }; }
public frmMakeGeneralPart(PartFolder owner, Part.EventHandler partDefining) { InitializeComponent(); _owner = owner; _partDefining = partDefining; }
/// <summary> /// 将源数据库合并到目标项目 /// </summary> /// <param name="owner">目标项目</param> /// <param name="database">源数据库</param> /// <param name="over">是否覆盖元件定义</param> public void Merge(PartFolder owner, Database database, bool over) { FunctionTable.Merge(database.FunctionTable, over); ImagePartTable.Merge(database.ImagePartTable, over); owner.Merge(database.Root, over); }