Beispiel #1
0
 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 = "所有元件";
     }
 }
Beispiel #2
0
        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;
            }
        }
Beispiel #3
0
        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);
            }
        }
Beispiel #4
0
 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;
 }
Beispiel #6
0
 /// <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);
 }