Ejemplo n.º 1
0
 private void AddLayersNodes(AnnLayerCollection layers, LayerNode parent)
 {
     if (layers != null && layers.Count > 0)
     {
         foreach (AnnLayer layer in layers)
         {
             AddLayerNode(layer, parent);
         }
     }
 }
Ejemplo n.º 2
0
        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);
                    }
                }
            }
        }