private void AddLayersNodes(AnnLayerCollection layers, LayerNode parent) { if (layers != null && layers.Count > 0) { foreach (AnnLayer layer in layers) { AddLayerNode(layer, parent); } } }
private void _miLoad_Click(object sender, EventArgs e) { AnnContainer container = _automation.Container; AnnCodecs codecs = new AnnCodecs(); using (OpenFileDialog openFileDialog = new OpenFileDialog()) { openFileDialog.Filter = "Annotations File|*.xml"; if (openFileDialog.ShowDialog(this) == DialogResult.OK) { AnnContainer tmpContainer = null; try { tmpContainer = codecs.Load(openFileDialog.FileName, 1); } catch { Messager.ShowError(this, "Invalid Annotation File"); } if (tmpContainer != null) { _automation.SelectLayer(null); container.Children.Clear(); container.Layers.Clear(); container.SelectionObject.SelectedObjects.Clear(); foreach (AnnObject annObject in tmpContainer.Children) { container.Children.Add(annObject); } AnnLayerCollection tmpLayers = tmpContainer.Layers; AnnLayerCollection containerLayers = _containerNode.Layer.Layers; containerLayers.Clear(); foreach (AnnLayer layer in tmpLayers) { container.Layers.Add(layer); } _tvLayers.BeginUpdate(); _tvLayers.Nodes.Clear(); _containerNode.Nodes.Clear(); _tvLayers.Nodes.Add(_containerNode); AddLayersNodes(container.Layers, _containerNode); _tvLayers.EndUpdate(); _automation.Invalidate(LeadRectD.Empty); } } } }