Exemplo n.º 1
0
        //-------------------------------------------------------------------
        public void AddFather(TaxonTreeNode _taxon)
        {
            if (_taxon == null)
            {
                return;
            }
            TaxonDialog.NewTaxon dlg = new TaxonDialog.NewTaxon
            {
                TopMost        = true,
                CheckNameUsage = true
            };
            dlg.ShowDialog();
            if (dlg.DialogResult != DialogResult.OK)
            {
                return;
            }

            TaxonDesc     newTaxon = new TaxonDesc(dlg.TaxonName);
            TaxonTreeNode newNode  = new TaxonTreeNode(newTaxon);

            TaxonTreeNode OldFather = _taxon.Father;

            OldFather.ReplaceChild(_taxon, newNode);
            newNode.AddChild(_taxon);
            OldFather.Expand();
            newNode.Expand();
            RefreshGraph();
        }
Exemplo n.º 2
0
        //-------------------------------------------------------------------
        public void AddFatherAll(TaxonTreeNode _taxon)
        {
            if (_taxon == null)
            {
                return;
            }
            TaxonDialog.NewTaxon dlg = new TaxonDialog.NewTaxon
            {
                TopMost        = true,
                CheckNameUsage = true
            };
            dlg.ShowDialog();
            if (dlg.DialogResult != DialogResult.OK)
            {
                return;
            }

            TaxonDesc     newTaxon = new TaxonDesc(dlg.TaxonName);
            TaxonTreeNode newNode  = new TaxonTreeNode(newTaxon);

            TaxonTreeNode OldFather = _taxon.Father;

            foreach (TaxonTreeNode child in OldFather.Children)
            {
                newNode.AddChild(child);
            }

            OldFather.Children.Clear();
            OldFather.AddChild(newNode);

            OldFather.Expand();
            newNode.Expand();
            RefreshGraph();
        }
Exemplo n.º 3
0
        public void ImportNode(TaxonTreeNode _where, TaxonTreeNode _what)
        {
            if (_what.Desc.Name == "__ignore__" || _where.Desc.RefMultiName.ItsOneOfMyNames(_what.Desc.RefMultiName.Main))
            {
                foreach (TaxonTreeNode node in _what.Children)
                {
                    _where.AddChild(node);
                }
            }
            else
            {
                _where.AddChild(_what);
            }

            _where.SortChildren();
            _where.Expand();
            TaxonUtils.OriginalRoot.UpdateRedListCategoryFlags();
            RefreshGraph();
        }
Exemplo n.º 4
0
        //-------------------------------------------------------------------
        public void AddChild(TaxonTreeNode _taxon)
        {
            if (_taxon == null)
            {
                return;
            }

            string firstName = null;

            if (_taxon.Desc.ClassicRank == ClassicRankEnum.Genre)
            {
                firstName = _taxon.Desc.RefMainName;
            }
            TaxonDialog.NewTaxon dlg = new TaxonDialog.NewTaxon(firstName)
            {
                TopMost        = true,
                CheckNameUsage = true
            };
            dlg.ShowDialog();
            if (dlg.DialogResult != DialogResult.OK)
            {
                return;
            }

            TaxonDesc newTaxon = new TaxonDesc(dlg.TaxonName);

            if (_taxon.Desc.ClassicRank == ClassicRankEnum.Genre)
            {
                newTaxon.ClassicRank = ClassicRankEnum.Espece;
            }
            else if (_taxon.Desc.ClassicRank == ClassicRankEnum.Espece)
            {
                newTaxon.ClassicRank = ClassicRankEnum.SousEspece;
            }

            TaxonTreeNode newNode = new TaxonTreeNode(newTaxon);

            _taxon.AddChild(newNode);
            _taxon.SortChildren();
            _taxon.Expand();
            RefreshGraph();
        }