Ejemplo n.º 1
0
        private void ReplaceCurrent()
        {
            var node = _currentFindNode as TagCompoundDataNode;

            if (node == null)
            {
                return;
            }

            var matches = new List <TagDataNode>();

            _findController.Root.Matches(node, matches);

            var replaceNames = new List <string>();

            foreach (var rnode in _replaceController.Root.Nodes)
            {
                replaceNames.Add(rnode.NodeName);
            }

            foreach (var replNode in matches)
            {
                if (_deleteTagsCheckbox.Checked || replaceNames.Contains(replNode.NodeName))
                {
                    replNode.DeleteNode();
                }
            }

            foreach (TagDataNode tag in _replaceController.Root.Nodes)
            {
                if (tag == null)
                {
                    continue;
                }

                node.NamedTagContainer.AddTag(tag.Tag, tag.NodeName);
                node.SyncTag();
            }

            _mainController.RefreshTreeNode(node);
        }