Пример #1
0
 public M方法(string __名称, List<M形参> __参数列表 = null, M元数据 __返回值元数据 = null, E角色 __角色 = E角色.开发)
 {
     this.名称 = __名称;
     this.形参列表 = __参数列表;
     this.返回值元数据 = __返回值元数据;
     this.角色 = __角色;
 }
Пример #2
0
 public M方法(string __名称, List <M形参> __参数列表 = null, M元数据 __返回值元数据 = null, E角色 __角色 = E角色.开发)
 {
     this.称      = __名称;
     this.形参列表   = __参数列表;
     this.返回值元数据 = __返回值元数据;
     this.角色     = __角色;
 }
Пример #3
0
        private void 设置对象列表控件(TreeView __控件, M对象列表查询结果 __对象列表, E角色 __角色)
        {
            var __分类节点 = new Dictionary <string, TreeNode>();
            var __数量   = 0;

            __对象列表.ForEach(q =>
            {
                if ((q.角色 & __角色) == __角色)
                {
                    __数量++;
                    TreeNode __node;
                    if (string.IsNullOrEmpty(q.分类))
                    {
                        __node = __控件.Nodes.Add(q.称);
                    }
                    else
                    {
                        if (!__分类节点.ContainsKey(q.分类))
                        {
                            __分类节点[q.分类] = __控件.Nodes.Add(q.分类);
                        }
                        __node = __分类节点[q.分类].Nodes.Add(q.称);
                    }
                    __node.Tag = q;
                }
            });
            if (__数量 < 30)
            {
                __控件.ExpandAll();
            }
        }
Пример #4
0
 public F对象(string __对象名称, M对象明细查询结果 __对象明细, IT客户端 __访问入口, E角色 __角色)
 {
     对象名称 = __对象名称;
     对象明细 = __对象明细;
     访问入口 = __访问入口;
     角色   = __角色;
     InitializeComponent();
 }
Пример #5
0
 public F对象(string __对象名称, M对象明细查询结果 __对象明细, IT客户端 __访问入口, E角色 __角色)
 {
     对象名称 = __对象名称;
     对象明细 = __对象明细;
     访问入口 = __访问入口;
     角色 = __角色;
     InitializeComponent();
 }
Пример #6
0
 public F对象(string __对象名称, M对象明细 __对象明细, IT客户端 __访问入口, E角色 __角色)
 {
     _对象名称 = __对象名称;
     _对象明细 = __对象明细;
     _访问入口 = __访问入口;
     _角色   = __角色;
     InitializeComponent();
 }
Пример #7
0
        public F对象窗口(string __对象名称, M对象明细 __对象明细, IT客户端 __访问入口, E角色 __角色)
        {
            _对象名称 = __对象名称;
            _对象明细 = __对象明细;
            _访问入口 = __访问入口;
            _角色   = __角色;
            InitializeComponent();

            this.out标题.Text = __对象名称;
        }
Пример #8
0
        public F对象窗口(string __对象名称, M对象明细查询结果 __对象明细, IT客户端 __访问入口, E角色 __角色)
        {
            InitializeComponent();

            this.out标题.Text = __对象名称;
            this.f对象1.对象名称  = __对象名称;
            this.f对象1.对象明细  = __对象明细;
            this.f对象1.访问入口  = __访问入口;
            this.f对象1.角色    = __角色;
        }
Пример #9
0
        public F对象窗口(string __对象名称, M对象明细查询结果 __对象明细, IT客户端 __访问入口, E角色 __角色)
        {
            InitializeComponent();

            this.out标题.Text = __对象名称;
            this.f对象1.对象名称 = __对象名称;
            this.f对象1.对象明细 = __对象明细;
            this.f对象1.访问入口 = __访问入口;
            this.f对象1.角色 = __角色;
        }
        public F对象窗口(string __对象名称, M对象明细 __对象明细, IT客户端 __访问入口, E角色 __角色)
        {
            _对象名称 = __对象名称;
            _对象明细 = __对象明细;
            _访问入口 = __访问入口;
            _角色 = __角色;
            InitializeComponent();

            this.out标题.Text = __对象名称;
        }
Пример #11
0
        public void 更新角色(E角色 __角色)
        {
            角色 = __角色;
            显示属性(对象明细.属性列表);

            this.out容器.Panel1Collapsed = this.out属性.Rows.Count == 0;

            if (对象明细.方法列表.Count == 0 && 对象明细.事件列表.Count == 0)
            {
                this.out容器.Panel2Collapsed = true;
            }
            else
            {
                this.out容器.Panel2Collapsed = false;
                this.out方法列表.TabPages.Clear();
                对象明细.方法列表.ForEach(q =>
                {
                    if ((q.角色 & 角色) != 角色)
                    {
                        return;
                    }
                    var __方法控件 = new F对象_方法(访问入口, 对象名称, q)
                    {
                        Dock = DockStyle.Fill
                    };
                    //__方法控件.执行方法 += k => __方法控件.设置返回值(_访问入口.执行方法(_对象名称, q.名称, k));
                    var __控件 = new TabPage(q.称)
                    {
                        Padding = new Padding(5), BackColor = Color.White, ToolTipText = q.称
                    };
                    __控件.Controls.Add(__方法控件);
                    this.out方法列表.TabPages.Add(__控件);
                });
                对象明细.事件列表.ForEach(q =>
                {
                    if ((q.角色 & 角色) != 角色)
                    {
                        return;
                    }
                    var __事件控件 = new F对象_事件(访问入口, 对象名称, q)
                    {
                        Dock = DockStyle.Fill
                    };
                    var __控件 = new TabPage(q.称)
                    {
                        Padding     = new Padding(5),
                        BackColor   = Color.White,
                        ToolTipText = q.称 + "(事件)",
                        ImageIndex  = 0
                    };
                    __控件.Controls.Add(__事件控件);
                    this.out方法列表.TabPages.Add(__控件);
                });
            }
        }
        private static void 初始化命令列表(M设备 __设备, E角色 __工程)
        {
            __设备.命令列表控件.Nodes.Clear();
            if (!__设备.访问入口.连接正常)
            {
                __设备.访问入口.连接(new IPEndPoint(__设备.IP, __设备.端口号));
                if (!Equals(__设备.IP, IPAddress.Loopback))
                {
                    Thread.Sleep(1000); //当前因为LINUX设备端有延时? 需要停顿一下才能发送
                }
            }
            var __对象列表 = __设备.访问入口.查询可访问对象().对象列表.Where(q => (q.角色 & __工程) == __工程).ToList();

            __对象列表.Sort((m, n) =>
            {
                if (m.分类.CompareTo(n.分类) != 0)
                {
                    return(m.分类.CompareTo(n.分类));
                }
                return(m.称.CompareTo(n.称));
            });
            var __分类节点 = new Dictionary <string, TreeNode>();

            __对象列表.ForEach(q =>
            {
                TreeNodeCollection __nodes;
                if (string.IsNullOrEmpty(q.分类))
                {
                    __nodes = __设备.命令列表控件.Nodes;
                }
                else
                {
                    if (!__分类节点.ContainsKey(q.分类))
                    {
                        __分类节点[q.分类] = __设备.命令列表控件.Nodes.Add(q.分类);
                    }
                    __nodes = __分类节点[q.分类].Nodes;
                }
                var __方法列表 = __设备.访问入口.查询对象明细(q.称).方法列表;
                __方法列表.ForEach(k =>
                {
                    if ((k.角色 & __工程) == __工程)
                    {
                        __nodes.Add(string.Format("{0}.{1}", q.称, k.称)).Tag = new Tuple <string, M方法>(q.称, k);
                    }
                });
            });
            __设备.命令列表控件.ExpandAll();
        }
 private static void 初始化命令列表(M设备 __设备, E角色 __工程)
 {
     __设备.命令列表控件.Nodes.Clear();
     if (!__设备.访问入口.连接正常)
     {
         __设备.访问入口.连接(new IPEndPoint(__设备.IP, __设备.端口号));
         if (!Equals(__设备.IP, IPAddress.Loopback))
         {
             Thread.Sleep(1000); //当前因为LINUX设备端有延时? 需要停顿一下才能发送
         }
     }
     var __对象列表 = __设备.访问入口.查询可访问对象().对象列表.Where(q => (q.角色 & __工程) == __工程).ToList();
     __对象列表.Sort((m, n) =>
     {
         if (m.分类.CompareTo(n.分类) != 0)
         {
             return m.分类.CompareTo(n.分类);
         }
         return m.名称.CompareTo(n.名称);
     });
     var __分类节点 = new Dictionary<string, TreeNode>();
     __对象列表.ForEach(q =>
     {
         TreeNodeCollection __nodes;
         if (string.IsNullOrEmpty(q.分类))
         {
             __nodes = __设备.命令列表控件.Nodes;
         }
         else
         {
             if (!__分类节点.ContainsKey(q.分类))
             {
                 __分类节点[q.分类] = __设备.命令列表控件.Nodes.Add(q.分类);
             }
             __nodes = __分类节点[q.分类].Nodes;
         }
         var __方法列表 = __设备.访问入口.查询对象明细(q.名称).方法列表;
         __方法列表.ForEach(k =>
         {
             if((k.角色 & __工程) == __工程)
             {
                 __nodes.Add(string.Format("{0}.{1}", q.名称, k.名称)).Tag = new Tuple<string, M方法>(q.名称, k);
             }
         });
     });
     __设备.命令列表控件.ExpandAll();
 }
        public void 更新角色(E角色 __角色)
        {
            _角色 = __角色;
            显示属性(_对象明细.属性列表);

            this.out容器.Panel1Collapsed = this.out属性.Rows.Count == 0;

            if (_对象明细.方法列表.Count == 0 && _对象明细.事件列表.Count == 0)
            {
                this.out容器.Panel2Collapsed = true;
            }
            else
            {
                this.out容器.Panel2Collapsed = false;
                this.out方法列表.TabPages.Clear();
                _对象明细.方法列表.ForEach(q =>
                {
                    if ((q.角色 & _角色) != _角色)
                    {
                        return;
                    }
                    var __方法控件 = new F对象_方法(_访问入口, _对象名称, q) { Dock = DockStyle.Fill };
                    //__方法控件.执行方法 += k => __方法控件.设置返回值(_访问入口.执行方法(_对象名称, q.名称, k));
                    var __控件 = new TabPage(q.名称) { Padding = new Padding(5), BackColor = Color.White, ToolTipText = q.名称 };
                    __控件.Controls.Add(__方法控件);
                    this.out方法列表.TabPages.Add(__控件);
                });
                _对象明细.事件列表.ForEach(q =>
                {
                    if ((q.角色 & _角色) != _角色)
                    {
                        return;
                    }
                    var __事件控件 = new F对象_事件(_访问入口, _对象名称, q) { Dock = DockStyle.Fill };
                    var __控件 = new TabPage(q.名称)
                    {
                        Padding = new Padding(5),
                        BackColor = Color.White,
                        ToolTipText = q.名称 + "(事件)",
                        ImageIndex = 0
                    };
                    __控件.Controls.Add(__事件控件);
                    this.out方法列表.TabPages.Add(__控件);
                });
            }
        }
Пример #15
0
 private void 设置对象列表控件(TreeView __控件, M对象列表 __对象列表, E角色 __角色)
 {
     var __分类节点 = new Dictionary<string, TreeNode>();
     var __数量 = 0;
     __对象列表.对象列表.ForEach(q =>
     {
         if ((q.角色 & __角色) == __角色)
         {
             __数量++;
             TreeNode __node;
             if (string.IsNullOrEmpty(q.分类))
             {
                 __node = __控件.Nodes.Add(q.名称);
             }
             else
             {
                 if (!__分类节点.ContainsKey(q.分类))
                 {
                     __分类节点[q.分类] = __控件.Nodes.Add(q.分类);
                 }
                 __node = __分类节点[q.分类].Nodes.Add(q.名称);
             }
             __node.Tag = q;
         }
     });
     if (__数量 < 30)
     {
         __控件.ExpandAll();
     }
 }
Пример #16
0
 public M事件()
 {
     角色 = E角色.开发;
 }
Пример #17
0
 public M事件(string __名称, List <M形参> __参数列表 = null, E角色 __角色 = E角色.开发)
 {
     this.称    = __名称;
     this.形参列表 = __参数列表;
     this.角色   = __角色;
 }
Пример #18
0
 public M属性(string __名称, M元数据 __元数据, E角色 __角色 = E角色.开发)
     : this(__名称)
 {
     this.元数据 = __元数据;
     this.角色 = __角色;
 }
Пример #19
0
 public M方法()
 {
     角色 = E角色.开发;
 }
Пример #20
0
 public void 添加方法(string __名称, Func <Dictionary <string, string>, IPEndPoint, string> __执行方法, E角色 __角色 = E角色.开发, List <M形参> __参数列表 = null, M元数据 __返回值元数据 = null)
 {
     this.角色         = this.角色 | __角色;
     _所有方法_带地址[__名称] = __执行方法;
     this.明细.方法列表.Add(new M方法(__名称, __参数列表, __返回值元数据, __角色));
 }
Пример #21
0
 public void 添加属性(string __名称, Func <string> __计算值, E角色 __角色 = E角色.开发, M元数据 __元数据 = null)
 {
     this.角色 = this.角色 | __角色;
     this.明细.属性列表.Add(new M属性(__名称, __元数据, __角色));
     _所有属性方法[__名称] = __计算值;
 }
Пример #22
0
 public void 添加事件(string __名称, E角色 __角色 = E角色.开发, List <M形参> __参数列表 = null)
 {
     this.角色 = this.角色 | __角色;
     this.明细.事件列表.Add(new M事件(__名称, __参数列表, __角色));
 }
Пример #23
0
 public void 添加方法(string __名称, Func<Dictionary<string, string>, IPEndPoint, string> __执行方法, E角色 __角色 = E角色.开发, List<M形参> __参数列表 = null, M元数据 __返回值元数据 = null)
 {
     this.角色 = this.角色 | __角色;
     _所有方法_带地址[__名称] = __执行方法;
     this.明细.方法列表.Add(new M方法(__名称, __参数列表, __返回值元数据, __角色));
 }
Пример #24
0
 public void 添加属性(string __名称, Func<string> __计算值, E角色 __角色 = E角色.开发, M元数据 __元数据 = null)
 {
     this.角色 = this.角色 | __角色;
     this.明细.属性列表.Add(new M属性(__名称, __元数据, __角色));
     _所有属性方法[__名称] = __计算值;
 }
Пример #25
0
 public void 添加事件(string __名称, E角色 __角色 = E角色.开发, List<M形参> __参数列表 = null)
 {
     this.角色 = this.角色 | __角色;
     this.明细.事件列表.Add(new M事件(__名称, __参数列表, __角色));
 }
Пример #26
0
 public M属性(string __名称, M元数据 __元数据, E角色 __角色 = E角色.开发)
     : this(__名称)
 {
     this.元数据 = __元数据;
     this.角色  = __角色;
 }
Пример #27
0
 public M属性()
 {
     角色 = E角色.开发;
 }
Пример #28
0
 public M事件(string __名称, List<M形参> __参数列表 = null, E角色 __角色 = E角色.开发)
 {
     this.名称 = __名称;
     this.形参列表 = __参数列表;
     this.角色 = __角色;
 }