Beispiel #1
0
 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);
     }
 }
Beispiel #2
0
        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()));
        }
Beispiel #3
0
        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();
        }
Beispiel #4
0
 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;
 }