コード例 #1
0
        private void MenuAddSrv_Click(object sender, RoutedEventArgs e)
        {
            var ConnParamsWnd = new ConnParams(fCredsRequired)
            {
                Owner = this
            };

            if (fCredsRequired)
            {
            }
            if ((bool)ConnParamsWnd.ShowDialog())
            {
                var Params = new KlAkParams()
                {
                    { "Address", ConnParamsWnd.tbAddress.Text + ":" + ConnParamsWnd.tbPort.Text }
                };
                if (ConnParamsWnd.cbUseSSL.IsChecked.HasValue)
                {
                    Params.Add("UseSSL", ConnParamsWnd.cbUseSSL.IsChecked);
                }
                if (ConnParamsWnd.cbCompressTraffic.IsChecked.HasValue)
                {
                    Params.Add("CompressTraffic", ConnParamsWnd.cbUseSSL.IsChecked);
                }
                if ((bool)ConnParamsWnd.cbIsAuthenticating.IsChecked)
                {
                    Params.Add("User", ConnParamsWnd.tbUser.Text);
                    if (ConnParamsWnd.tbDomain.Text != "")
                    {
                        Params.Add("Domain", ConnParamsWnd.tbDomain.Text);
                    }
                    Params.Add("Password", ConnParamsWnd.tbPassword.Password);
                }
                if ((bool)ConnParamsWnd.cbIsUsingProxy.IsChecked)
                {
                    Params.Add("ProxyAddress", ConnParamsWnd.tbProxyAddress.Text + ":" + ConnParamsWnd.tbProxyPort.Text);
                    if (ConnParamsWnd.tbProxyUser.Text != "")
                    {
                        Params.Add("ProxyLogin", ConnParamsWnd.tbProxyUser.Text);
                        Params.Add("ProxyPassword", ConnParamsWnd.tbProxyPassword.Password);
                    }
                }
                if (ConnParamsWnd.cbThroughGw.IsChecked.HasValue)
                {
                    Params.Add("ThroughGw", ConnParamsWnd.cbThroughGw.IsChecked);
                }

                var Root = new TVISrvRoot()
                {
                    ConnectionParameters = Params
                };
                SrvTree.Items.Add(Root);
            }
        }
コード例 #2
0
 public TVISrvSlave(KlAkParams SrvInfo)
 {
     fSrvInfo = SrvInfo;
     Header   = fSrvInfo.get_Item("KLSRVH_SRV_DN");
 }
コード例 #3
0
 public TVISrvVirtual(KlAkParams SrvInfo)
 {
     fSrvInfo = SrvInfo;
     Header   = fSrvInfo.get_Item("KLVSRV_DN");
 }
コード例 #4
0
        public static TreeViewItem KlAkView(string Caption, object Item)
        {
            var result = new TreeViewItem()
            {
                Header = Caption
            };

            if (Item == null)
            {
                result.Items.Add(new TreeViewItem()
                {
                    Header = "Нет данных"
                });
            }
            else if (Item is KlAkParams Params)
            {
                foreach (string Name in Params)
                {
                    var Value = Params.get_Item(Name);
                    if (Marshal.IsComObject(Value))
                    {
                        result.Items.Add(KlAkView(Name, Value));
                    }
                    else
                    {
                        result.Items.Add(new TreeViewItem()
                        {
                            Header = Name + ": " + Value.ToString()
                        });
                    }
                }
            }
            else if (Item is KlAkCollection Coll)
            {
                for (int i = 0; i < Coll.Count; i++)
                {
                    object Value = Coll.get_Item(i);
                    if (Marshal.IsComObject(Value))
                    {
                        result.Items.Add(KlAkView(i.ToString(), Value));
                    }
                    else
                    {
                        result.Items.Add(new TreeViewItem()
                        {
                            Header = i.ToString() + ": " + Value.ToString()
                        });
                    }
                }
            }
            else if (Item is IKlAkSettingsStorage Settings)
            {
                var Storages = Settings.Enum();
                for (int i = 0; i < Storages.Count; i++)
                {
                    KlAkParams Storage = Storages.get_Item(i);
                    var        Data    = Settings.Read(Storage.get_Item("PRODUCT"), Storage.get_Item("VERSION"), Storage.get_Item("SECTION"));
                    result.Items.Add(FetchInfo.KlAkView(Storage.get_Item("PRODUCT") + "/" + Storage.get_Item("VERSION") + "/" + Storage.get_Item("SECTION"), Data));
                }
            }
            else
            {
                throw new NotImplementedException("Визуализация типа " + Item.GetType().ToString() + " не реализована.");
            }
            return(result);
        }