/// <summary> /// Создать объект дерева, описывающий базу по S88. /// </summary> /// <param name="selectedType">Выбранный на форме тип объекта</param> /// <returns></returns> private ITreeViewItem GetTreeItem(string selectedType) { ITreeViewItem treeItem = treeObjects .Where(x => x.EditText[0] == selectedType) .FirstOrDefault(); if (treeItem == null) { ITreeViewItem newTreeItem; switch (selectedType) { case ProcessCell.Name: newTreeItem = new ProcessCell(instance); break; case UserObject.Name: newTreeItem = new UserObject(instance); break; default: newTreeItem = new S88Object(selectedType, instance); break; } treeObjects.Add(newTreeItem); SortTreeObjectsByCustomComparer(); newTreeItem.AddParent(instance); return(newTreeItem); } else { return(treeItem); } }
/// <summary> /// Добавить аппарат из LUA /// </summary> /// <param name="obj">Объект</param> /// <param name="name">Имя объекта</param> /// <returns></returns> private void AddS88ObjectFromLua(TechObject obj, string name) { var s88Item = treeObjects .Where(x => x is S88Object && x.DisplayText[0].Contains(name)) .FirstOrDefault() as S88Object; if (s88Item == null) { s88Item = new S88Object(name); treeObjects.Add(s88Item); } s88Item.AddObjectWhenLoadFromLua(obj); }