private void TreeView_AfterLabelEdit(object sender, NodeLabelEditEventArgs e) { if (e.Node.Parent != null) { e.CancelEdit = true; return; } if (e.Node == m_MainTreeNode) { e.CancelEdit = true; return; } if (e.Label == string.Empty || e.Label == null) { e.CancelEdit = true; return; } U50PolicyInfo outPolicyInfo = null; if (m_TreeNodePolicyInfo.TryGetValue(e.Node, out outPolicyInfo) == false) { e.CancelEdit = true; return; } if (outPolicyInfo.Name == e.Label) { return; } if (m_PolicyName.Contains(e.Label) == true) { MainForm.ShowPopupMessage(e.Label, "名称已经存在!"); e.CancelEdit = true; return; } m_PolicyName.Remove(outPolicyInfo.Name); outPolicyInfo.Name = e.Label; m_PolicyName.Add(outPolicyInfo.Name); PolicyManager.Instance.OnRefreshStockInfo(); }
public void NewPolicy() { if (m_IsInitializing == false) { ConfigForm_Load(this, EventArgs.Empty); } U50PolicyInfo policyInfo = new U50PolicyInfo(); policyInfo.Guid = Guid.NewGuid().ToString(); do { policyInfo.Name = string.Format("U50策略{0}", m_PolicyCount++); if (m_PolicyName.Contains(policyInfo.Name) == false) { break; } } while (true); // U50策略01 TreeNode newTreeNodePolicy = new TreeNode(policyInfo.Name); TreeNode newTreeNodePolicySub = new TreeNode("常规选项"); TreeNode newTreeNodePolicySub1 = new TreeNode("取样方法"); TreeNode newTreeNodePolicySub2 = new TreeNode("形态函数"); TreeNode newTreeNodePolicySub3 = new TreeNode("增强刷选"); newTreeNodePolicy.Nodes.Add(newTreeNodePolicySub); newTreeNodePolicy.Nodes.Add(newTreeNodePolicySub1); newTreeNodePolicy.Nodes.Add(newTreeNodePolicySub2); newTreeNodePolicy.Nodes.Add(newTreeNodePolicySub3); PolicyBControl configBControl = new PolicyBControl { Dock = DockStyle.Fill, Visible = false }; this.m_AllConfigControlInfo.Add(newTreeNodePolicy, configBControl); this.m_AllConfigControlInfo.Add(newTreeNodePolicySub, configBControl); this.Panel.Controls.Add(configBControl); PolicyCControl configCControl = new PolicyCControl { Dock = DockStyle.Fill, Visible = false }; policyInfo.Policy = configCControl.GetConfigPolicy(); this.m_AllConfigControlInfo.Add(newTreeNodePolicySub1, configCControl); this.Panel.Controls.Add(configCControl); PolicyDControl configDControl = new PolicyDControl { Dock = DockStyle.Fill, Visible = false }; policyInfo.Filtrate = configDControl.GetConfigFiltrate(); this.m_AllConfigControlInfo.Add(newTreeNodePolicySub2, configDControl); this.Panel.Controls.Add(configDControl); PolicyEControl configEControl = new PolicyEControl { Dock = DockStyle.Fill, Visible = false }; configEControl.EventButtonSetting += new EventHandler(OnEventButtonSetting); m_ButtonSetting.Add(configEControl, newTreeNodePolicySub2); policyInfo.Extend = configEControl.GetConfigExtend(); this.m_AllConfigControlInfo.Add(newTreeNodePolicySub3, configEControl); this.Panel.Controls.Add(configEControl); this.TreeView.Nodes.Add(newTreeNodePolicy); this.TreeView.SelectedNode = newTreeNodePolicy; m_NewTreeNode.Add(newTreeNodePolicy); m_TreeNodePolicyInfo.Add(newTreeNodePolicy, policyInfo); }
private void ButtonOK_Click(object sender, EventArgs e) { foreach (var item in m_DeleteTreeNode) { UserControl outConfigControl = null; if (this.m_AllConfigControlInfo.TryGetValue(item.Nodes[0], out outConfigControl) == true) { if (outConfigControl == m_CurrentConfigControl) { this.TreeView.SelectedNode = m_MainTreeNodeSub; } this.Panel.Controls.Remove(outConfigControl); } if (this.m_AllConfigControlInfo.TryGetValue(item.Nodes[1], out outConfigControl) == true) { if (outConfigControl == m_CurrentConfigControl) { this.TreeView.SelectedNode = m_MainTreeNodeSub; } this.Panel.Controls.Remove(outConfigControl); } if (this.m_AllConfigControlInfo.TryGetValue(item.Nodes[2], out outConfigControl) == true) { if (outConfigControl == m_CurrentConfigControl) { this.TreeView.SelectedNode = m_MainTreeNodeSub; } this.Panel.Controls.Remove(outConfigControl); } if (this.m_AllConfigControlInfo.TryGetValue(item.Nodes[3], out outConfigControl) == true) { if (outConfigControl == m_CurrentConfigControl) { this.TreeView.SelectedNode = m_MainTreeNodeSub; } this.Panel.Controls.Remove(outConfigControl); } this.m_AllConfigControlInfo.Remove(item.Nodes[0]); this.m_AllConfigControlInfo.Remove(item.Nodes[1]); this.m_AllConfigControlInfo.Remove(item.Nodes[2]); this.m_AllConfigControlInfo.Remove(item.Nodes[3]); this.m_AllConfigControlInfo.Remove(item); U50PolicyInfo outPolicyInfo = null; if (this.m_TreeNodePolicyInfo.TryGetValue(item, out outPolicyInfo) == true) { this.m_TreeNodePolicyInfo.Remove(item); PolicyManager.Instance.RemovePolicyInfoByGuid(outPolicyInfo.Guid); } } foreach (var item in m_TreeNodePolicyInfo) { UserControl outConfigControl = null; if (m_AllConfigControlInfo.TryGetValue(item.Key.Nodes[1], out outConfigControl) == false) { continue; } PolicyCControl configCControl = outConfigControl as PolicyCControl; if (configCControl == null) { continue; } item.Value.Policy = configCControl.GetConfigPolicy(); if (m_AllConfigControlInfo.TryGetValue(item.Key.Nodes[2], out outConfigControl) == false) { continue; } PolicyDControl configDControl = outConfigControl as PolicyDControl; if (configDControl == null) { continue; } item.Value.Filtrate = configDControl.GetConfigFiltrate(); if (m_AllConfigControlInfo.TryGetValue(item.Key.Nodes[3], out outConfigControl) == false) { continue; } PolicyEControl configEControl = outConfigControl as PolicyEControl; if (configEControl == null) { continue; } item.Value.Extend = configEControl.GetConfigExtend(); if (m_NewTreeNode.Contains(item.Key) == true) { PolicyManager.Instance.AddStockInfo(item.Value); } } U50GlobalSetting.SavePolicySetting(U50GlobalSetting.PolicyFilePath, PolicyManager.Instance.ToArray()); U50GlobalSetting.SaveGlobalRegistry(); m_NewTreeNode.Clear(); m_DeleteTreeNode.Clear(); }
private void NewPolicy(U50PolicyInfo policyInfo) { m_PolicyName.Add(policyInfo.Name); // U50策略01 TreeNode newTreeNodePolicy = new TreeNode(policyInfo.Name); TreeNode newTreeNodePolicySub = new TreeNode("常规选项"); TreeNode newTreeNodePolicySub1 = new TreeNode("取样方法"); TreeNode newTreeNodePolicySub2 = new TreeNode("形态函数"); TreeNode newTreeNodePolicySub3 = new TreeNode("增强刷选"); newTreeNodePolicy.Nodes.Add(newTreeNodePolicySub); newTreeNodePolicy.Nodes.Add(newTreeNodePolicySub1); newTreeNodePolicy.Nodes.Add(newTreeNodePolicySub2); newTreeNodePolicy.Nodes.Add(newTreeNodePolicySub3); PolicyBControl configBControl = new PolicyBControl(); configBControl.Dock = DockStyle.Fill; configBControl.Visible = false; this.m_AllConfigControlInfo.Add(newTreeNodePolicy, configBControl); this.m_AllConfigControlInfo.Add(newTreeNodePolicySub, configBControl); this.Panel.Controls.Add(configBControl); PolicyCControl configCControl = new PolicyCControl(); configCControl.Dock = DockStyle.Fill; configCControl.Visible = false; configCControl.SetConfigPolicy(policyInfo.Policy); this.m_AllConfigControlInfo.Add(newTreeNodePolicySub1, configCControl); this.Panel.Controls.Add(configCControl); PolicyDControl configDControl = new PolicyDControl(); configDControl.Dock = DockStyle.Fill; configDControl.Visible = false; configDControl.SetConfigFiltrate(policyInfo.Filtrate); this.m_AllConfigControlInfo.Add(newTreeNodePolicySub2, configDControl); this.Panel.Controls.Add(configDControl); PolicyEControl configEControl = new PolicyEControl(); configEControl.Dock = DockStyle.Fill; configEControl.Visible = false; configEControl.EventButtonSetting += new EventHandler(OnEventButtonSetting); m_ButtonSetting.Add(configEControl, newTreeNodePolicySub2); configEControl.SetConfigExtend(policyInfo.Extend); this.m_AllConfigControlInfo.Add(newTreeNodePolicySub3, configEControl); this.Panel.Controls.Add(configEControl); this.TreeView.Nodes.Add(newTreeNodePolicy); this.TreeView.SelectedNode = newTreeNodePolicy; m_TreeNodePolicyInfo.Add(newTreeNodePolicy, policyInfo); }