internal void OnNodeRemoved(GlobalFormElementTreeItemBase parent, int index, Node node) { if (NodesRemoved != null) { TreeModelEventArgs args = new TreeModelEventArgs(GetPath(parent), new int[] { index }, new object[] { node }); NodesRemoved(this, args); } }
private TreePath GetPath(GlobalFormElementTreeItemBase item) { Stack <object> stack = new Stack <object>(); while (!(item is FolderItem)) { stack.Push(item); item = item.Parent; } return(new TreePath(stack.ToArray())); }
private void SelectFinish() { //判断是否做出了选择 if (this.treeViewGridFormElement.SelectedNode == null) { MessageBox.Show( Language.Current.FormGlobalFormElementChoose_MessageChooseFormElement, CommonLanguage.Current.MessageCaption_Notice, MessageBoxButtons.OK, MessageBoxIcon.Information ); return; } GlobalFormElementTreeItemBase treeItem = this.treeViewGridFormElement.SelectedNode.Tag as GlobalFormElementTreeItemBase; UIElement formElement = treeItem.Entity as UIElement; if (formElement == null) { MessageBox.Show( Language.Current.FormGlobalFormElementChoose_MessageChooseFormElement, CommonLanguage.Current.MessageCaption_Notice, MessageBoxButtons.OK, MessageBoxIcon.Information ); return; } //判断选择元素类型是否在允许的范围内 if (!this.AllowSelectFormElementControlType.Allowable(formElement)) { MessageBox.Show( Language.Current.FormGlobalFormElementChoose_MessageChooseFormElementNotSupport, CommonLanguage.Current.MessageCaption_Notice, MessageBoxButtons.OK, MessageBoxIcon.Information ); return; } this._selectedFormElement = formElement; this.DialogResult = DialogResult.OK; this.Close(); }
public System.Collections.IEnumerable GetChildren(TreePath treePath) { if (treePath.IsEmpty()) { foreach (WindowFolderEntity folder in _windowComponentService.GetFolderCollection()) { FolderItem item = new FolderItem(folder); yield return(item); } foreach (WindowEntity form in _windowComponentService.GetWindowList(String.Empty)) { FormItem item = new FormItem(form, null); yield return(item); } } else { List <GlobalFormElementTreeItemBase> items = new List <GlobalFormElementTreeItemBase>(); GlobalFormElementTreeItemBase parent = treePath.LastNode as GlobalFormElementTreeItemBase; if (parent != null) { if (parent is FolderItem) { FolderItem folderItem = (FolderItem)parent; WindowFolderEntity formFolderEntity = folderItem.Folder; if (formFolderEntity != null) { foreach (WindowEntity formEntityItem in _windowComponentService.GetWindowList(formFolderEntity.Id)) { GlobalFormElementTreeItemBase elementItem = new FormItem(formEntityItem, parent); items.Add(elementItem); } } } WindowEntity formEntity = parent.Entity as WindowEntity; if (formEntity != null) { foreach (UIElement formElementItem in formEntity.GetFormElement()) { if (this.AllowFormElementControlType.Allowable(formElementItem)) { GlobalFormElementTreeItemBase elementItem = new FormElementItem(formElementItem, parent); items.Add(elementItem); } else { foreach (UIElement innerElement in formElementItem.GetInnerElement()) { if (this.AllowFormElementControlType.Allowable(innerElement)) { GlobalFormElementTreeItemBase elementItem = new FormElementItem(formElementItem, parent); items.Add(elementItem); break; } } } } } UIElement formElement = parent.Entity as UIElement; if (formElement != null) { foreach (UIElement formElementItem in formElement.GetInnerElement()) { if (this.AllowFormElementControlType.Allowable(formElementItem) == false) { continue; } GlobalFormElementTreeItemBase elementItem = new FormElementItem(formElementItem, parent); items.Add(elementItem); } } foreach (GlobalFormElementTreeItemBase item in items) { yield return(item); } } else { yield break; } } }
public FormElementItem(EntityBase entity, GlobalFormElementTreeItemBase parent) : base(entity) { this.Parent = parent; _formElement = (UIElement)entity; }