public override List <LayerUITreeNode> GetTreeNodes()
        {
            List <LayerUITreeNode> nodes = new List <LayerUITreeNode>();
            int nameColumn = layer.GetNameColumn();

            for (int i = 0; i < layer.shapefile.Shapes.Count; i++)
            {
                Type type = layer.shapefile.Shapes[i].GetType();

                LayerUITreeNode node = new LayerUITreeNode();
                if (nameColumn == -1)
                {
                    node.Name = type.Name;
                }
                else
                {
                    node.Name = layer.shapefile.Shapes[i].Attributes[nameColumn].ToString();
                }

                node.Tag           = layer.shapefile.Shapes[i];
                node.Checked       = true;
                node.NodeSelected += new LayerUITreeNodeSelectedDelegate(node_NodeSelected);
                nodes.Add(node);
            }
            return(nodes);
        }