private void AddGroup(string groupname, string groupIdentify) { BlockItemGroup group = new BlockItemGroup(groupname, "", groupIdentify); _groups.Add(group); AddGroupToTree(group); }
private void LoadUserDefinedRegion() { _groups = new List <BlockItemGroup>(); _tree.Nodes.Clear(); DefinedRegionParse p = new DefinedRegionParse(); _blockRef = p.BlockDefined; BlockItemGroup[] blockGroup = _blockRef.UserDefineRegion; if (blockGroup == null || blockGroup.Length == 0) { return; } for (int i = 0; i < blockGroup.Length; i++) { BlockItemGroup group = blockGroup[i]; _groups.Add(group); AddGroupToTree(group); } if (_tree.Nodes.Count > 0) { _tree.SelectedNode = _tree.Nodes[_tree.Nodes.Count - 1]; _tree.SelectedNode.ExpandAll(); } //_tree.ExpandAll(); }
private void btnAddRegion_Click(object sender, EventArgs e) { errorProvider1.Clear(); string name = textBox1.Text; string identify = txtIdentify.Text; PrjEnvelope env = GetEnvelopeFromUI(); if (string.IsNullOrWhiteSpace(name)) { errorProvider1.SetError(textBox1, "名字不能为空"); return; } if (env.IsEmpty || env.Width <= 0 || env.Height <= 0) { errorProvider1.SetError(radCenter, "范围不合法,不能为空或零"); return; } if (env.MinX < -180d) { errorProvider1.SetError(radCenter, "范围不合法,最小经度不能小于-180"); return; } if (env.MaxX > 180d) { errorProvider1.SetError(radCenter, "范围不合法,最大经度不能大于180"); return; } if (env.MinY < -90d) { errorProvider1.SetError(radCenter, "范围不合法,最小纬度不能小于-90"); return; } if (env.MaxY > 90d) { errorProvider1.SetError(radCenter, "范围不合法,最大纬度不能大于90"); return; } BlockItemGroup group = GetSelectedGroup(); if (group == null) { errorProvider1.SetError(panel1, "请选择或者添加一个分组"); return; } if (group.GetPrjEnvelopeItem(identify) != null) { errorProvider1.SetError(textBox1, "标识不能重复"); return; } PrjEnvelopeItem item = new PrjEnvelopeItem(name, env, identify); AddDefinedRegion(item); }
/// <summary> /// /// </summary> /// <param name="item"> /// 要添加的group /// 如果此group的名字已经存在,则覆盖之前同名的group。 /// </param> public void Add(BlockItemGroup item) { if (item == null || string.IsNullOrWhiteSpace(item.Name)) { return; } if (ExistGroup(item.Name)) { BlockItemGroup gp = FindGroup(item.Name); gp.BlockItems = item.BlockItems; } else { this._blockItemGroups.Add(item); } }
private void AddGroupToTree(BlockItemGroup group) { RadTreeNode node = new RadTreeNode(group.ToString()); node.Tag = group; PrjEnvelopeItem[] items = group.BlockItems; if (items.Length > 0) { foreach (PrjEnvelopeItem item in items) { AddRegionToNode(node, item); } } _tree.Nodes.Add(node); _tree.SelectedNode = node; }
void _tree_NodeCheckedChanged(object sender, RadTreeViewEventArgs e) { if (e.Node != m_SelectedNode) { return; } RadTreeNode rootNode = null; BlockItemGroup group = null; RadTreeNodeCollection nodes = null; if (e.Node.Level == 0) { rootNode = e.Node; group = (e.Node.Tag as BlockItemGroup); nodes = e.Node.Nodes; } else if (e.Node.Level == 1) { rootNode = e.Node.Parent; group = (e.Node.Parent.Tag as BlockItemGroup); nodes = e.Node.Parent.Nodes; } List <PrjEnvelopeItem> checkedNodes = new List <PrjEnvelopeItem>(); int i = 0; foreach (RadTreeNode node in rootNode.Nodes) { if (node.Checked) { checkedNodes.Add(node.Tag as PrjEnvelopeItem); i++; } } BlockItemGroup bg = new BlockItemGroup(group.Name, group.Description, checkedNodes.ToArray()); _blockDefinedSelected.Add(bg); rootNode.Text = string.Format("{0}[{1}]({3}/{2})", group.Name, group.Description, group.BlockItems.Length, i); if (CheckedChanged != null) { CheckedChanged(_blockDefinedSelected.GetPrjEnvelopeItems()); } }
private BlockItemGroup GetSelectedGroup() { RadTreeNode node = _tree.SelectedNode; if (node == null) { return(null); } if (node.Level == 0) { BlockItemGroup group = node.Tag as BlockItemGroup; return(group); } else if (node.Level == 1) { BlockItemGroup group = node.Parent.Tag as BlockItemGroup; return(group); } return(null); }
private void AddDefinedRegion(PrjEnvelopeItem item) { RadTreeNode node = _tree.SelectedNode; if (node == null) { return; } if (node.Level == 0) { BlockItemGroup group = node.Tag as BlockItemGroup; group.Add(item); AddRegionToNode(node, item); } else if (node.Level == 1) { BlockItemGroup group = node.Parent.Tag as BlockItemGroup; group.Add(item); AddRegionToNode(node.Parent, item); } }
private void btnDelete_Click(object sender, EventArgs e) { RadTreeNode node = _tree.SelectedNode; if (node == null) { return; } if (node.Level == 0) { _groups.Remove(node.Tag as BlockItemGroup); _tree.Nodes.Remove(node); } else if (node.Level == 1) { PrjEnvelopeItem item = node.Tag as PrjEnvelopeItem; BlockItemGroup group = node.Parent.Tag as BlockItemGroup; group.Remove(item); node.Parent.Nodes.Remove(node); } }