Пример #1
0
 public UCSelectClassPLM(bool IsQuickSch, bool leafClassOnly, SelectClassConstraint constraint) : this()
 {
     this.ucClassTree = new UCClassTree(null, leafClassOnly, constraint);
     this.ucClassTree.ClassTree.Nodes.RemoveByKey("资源");
     this.ucClassTree.ClassTree.Nodes.RemoveByKey("业务状态");
     for (int i = 0; i < this.ucClassTree.ClassTree.Nodes.Count; i++)
     {
         TreeNode    node = this.ucClassTree.ClassTree.Nodes[i];
         DEMetaClass tag  = node.Tag as DEMetaClass;
         if (tag != null)
         {
             if (tag.Name == "RESOURCE")
             {
                 this.ucClassTree.ClassTree.Nodes.Remove(node);
                 i--;
             }
             else
             {
                 this.NodeClear(node);
                 if ((node.Nodes.Count == 0) && ((!tag.IsSearchable || !ModelContext.MetaModel.IsVisibleCustomizedClass(tag.Name)) || (tag.IsGrantable && (PLGrantPerm.CanDoClassOperation(ClientData.LogonUser.Oid, tag.Name, Guid.Empty, "ClaRel_SEARCH") != 1))))
                 {
                     this.ucClassTree.ClassTree.Nodes.Remove(node);
                     i--;
                 }
             }
         }
     }
     this.popupContainer.Controls.Add(this.ucClassTree);
     base.Properties.PopupControl.Size = new Size(base.Width, this.ucClassTree.Height);
     this.ucClassTree.Dock             = DockStyle.Fill;
     this.handler = new SelectClassHandler(this.ucClassTree_ClassSelected);
     this.ucClassTree.ClassSelected += this.handler;
     this.handler2 = new DoubClickClassHandler(this.ucClassTree_DoubleClikedcls);
     this.ucClassTree.DoubClicked += this.handler2;
 }
Пример #2
0
 public UCClassTree(bool leafClassOnly, SelectClassConstraint constraint)
 {
     this.leafClassOnly = true;
     this.b_start       = true;
     this.InitializeComponent();
     this.tvwClass.DoubleClick += new EventHandler(this.tvwClass_DoubleClick);
     this.leafClassOnly         = leafClassOnly;
     this.constraint            = constraint;
     this.tvwClass.ImageList    = ClientData.MyImageList.imageList;
 }
Пример #3
0
 public UCSelectClassPLM(string className, bool leafClassOnly, SelectClassConstraint constraint) : this()
 {
     this.ucClassTree = new UCClassTree(((className == null) || (className == "")) ? null : className, leafClassOnly, constraint);
     this.popupContainer.Controls.Add(this.ucClassTree);
     base.Properties.PopupControl.Size = new Size(base.Width, this.ucClassTree.Height);
     this.ucClassTree.Dock             = DockStyle.Fill;
     this.handler = new SelectClassHandler(this.ucClassTree_ClassSelected);
     this.ucClassTree.ClassSelected += this.handler;
     this.handler2 = new DoubClickClassHandler(this.ucClassTree_DoubleClikedcls);
     this.ucClassTree.DoubClicked += this.handler2;
 }
Пример #4
0
        public UCSelectClass(string className, bool leafClassOnly, SelectClassConstraint constraint)
            : this()
        {
            this.ucClassTree = new UCClassTree(((className == null) || (className == "")) ? null : className, leafClassOnly, constraint);
            DropDownEditorButton button = base.ButtonsRight["SelectClass"] as DropDownEditorButton;

            button.Control = this.ucClassTree;
            this.handler   = new SelectClassHandler(this.ucClassTree_ClassSelected);
            this.ucClassTree.ClassSelected += this.handler;
            this.handler2 = new DoubClickClassHandler(this.ucClassTree_DoubleClikedcls);
            this.ucClassTree.DoubClicked += this.handler2;
        }
Пример #5
0
        public UCSelectClass(bool IsQuickSch, bool leafClassOnly, SelectClassConstraint constraint)
            : this()
        {
            this.ucClassTree = new UCClassTree(null, leafClassOnly, constraint);
            this.ucClassTree.ClassTree.Nodes.RemoveByKey("资源");
            this.ucClassTree.ClassTree.Nodes.RemoveByKey("业务状态");
            for (int i = 0; i < this.ucClassTree.ClassTree.Nodes.Count; i++)
            {
                TreeNode    node = this.ucClassTree.ClassTree.Nodes[i];
                DEMetaClass tag  = node.Tag as DEMetaClass;
                if (tag != null)
                {
                    if (tag.Name == "RESOURCE")
                    {
                        this.ucClassTree.ClassTree.Nodes.Remove(node);
                        i--;
                    }
                    else
                    {
                        this.NodeClear(node);
                        if ((node.Nodes.Count == 0) && ((!tag.IsSearchable || !ModelContext.MetaModel.IsVisibleCustomizedClass(tag.Name)) || (tag.IsGrantable && (PLGrantPerm.CanDoClassOperation(ClientData.LogonUser.Oid, tag.Name, Guid.Empty, "ClaRel_SEARCH") != 1))))
                        {
                            this.ucClassTree.ClassTree.Nodes.Remove(node);
                            i--;
                        }
                    }
                }
            }
            DropDownEditorButton button = base.ButtonsRight["SelectClass"] as DropDownEditorButton;

            button.Control = this.ucClassTree;
            this.handler   = new SelectClassHandler(this.ucClassTree_ClassSelected);
            this.ucClassTree.ClassSelected += this.handler;
            this.handler2 = new DoubClickClassHandler(this.ucClassTree_DoubleClikedcls);
            this.ucClassTree.DoubClicked += this.handler2;
        }
Пример #6
0
 public UCSelectClassPLM(bool leafClassOnly, SelectClassConstraint constraint) : this((string)null, leafClassOnly, constraint)
 {
 }
Пример #7
0
        private TreeNode CreateClassNode(Guid pOid, string parentText, string parentClass, SelectClassConstraint constraint, DEMetaClass meta)
        {
            TreeNode node  = null;
            bool     flag  = false;
            bool     flag2 = true;

            if (constraint == SelectClassConstraint.InstancableClass)
            {
                Hashtable creatableClasses = ClientData.GetCreatableClasses();
                if (creatableClasses == null)
                {
                    return(null);
                }
                flag2 = Convert.ToBoolean(creatableClasses[parentClass]);
            }
            if (pOid != Guid.Empty)
            {
                node = new TreeNode(parentClass)
                {
                    Text = parentText
                };
                node.SelectedImageIndex = node.ImageIndex = ClientData.MyImageList.GetIconIndex("ICO_DMM_CLASS");
                node.Tag = meta;
            }
            else
            {
                node = new TreeNode("");
            }
            foreach (DEMetaClass class2 in ModelContext.MetaModel.GetClasses())
            {
                if (((constraint == SelectClassConstraint.CanSchableClass) || (class2.SystemClass != 'Y')) && ModelContext.MetaModel.IsVisibleCustomizedClass(class2.Name))
                {
                    if ((constraint == SelectClassConstraint.CanSchableClass) || (constraint == SelectClassConstraint.CustomizedClasses))
                    {
                        if (!class2.IsSearchable)
                        {
                            continue;
                        }
                        try
                        {
                            if (PLGrantPerm.CanDoClassOperation(ClientData.LogonUser.Oid, class2.Name, Guid.Empty, "ClaRel_BROWSE") == 0)
                            {
                                continue;
                            }
                        }
                        catch (Exception exception)
                        {
                            PLMEventLog.WriteExceptionLog(exception);
                            continue;
                        }
                    }
                    if (((pOid == Guid.Empty) && (class2.Parent == Guid.Empty)) || ((class2.Parent == pOid) && (class2.Parent != Guid.Empty)))
                    {
                        flag = true;
                        string   label = class2.Label;
                        string   name  = class2.Name;
                        TreeNode node2 = this.CreateClassNode(class2.Oid, label, name, constraint, class2);
                        if (node2 != null)
                        {
                            node.Nodes.Add(node2);
                        }
                    }
                }
            }
            if (node == null)
            {
                return(null);
            }
            if ((node.Nodes.Count <= 0) && (((node.Nodes.Count != 0) || flag) || !flag2))
            {
                return(null);
            }
            return(node);
        }