public void CombineWords(ParseNodeDrawable parent, ParseNodeDrawable child)
        {
            while (parent.NumberOfChildren() > 0)
            {
                parent.RemoveChild(parent.FirstChild());
            }

            parent.AddChild(child);
            ((ParseNodeDrawable)root).UpdateDepths(0);
        }
        public void DivideIntoWords(ParseNodeDrawable parseNode)
        {
            var layers = parseNode.GetLayerInfo().DivideIntoWords();

            parseNode.GetParent().RemoveChild(parseNode);
            foreach (var layerInfo in layers)
            {
                var symbol = new Symbol(layerInfo.GetMorphologicalParseAt(0).GetTreePos());
                var child  = new ParseNodeDrawable(symbol);
                parseNode.GetParent().AddChild(child);
                var grandChild = new ParseNodeDrawable(child, layerInfo.GetLayerDescription(), true,
                                                       parseNode.GetDepth() + 1);
                child.AddChild(grandChild);
                ((ParseNodeDrawable)root).UpdateDepths(0);
            }
        }
        private void AttachVgToVp(ParseNodeDrawable node)
        {
            var pn = new ParseNodeDrawable(new Symbol(VerbalLabel));

            pn.AddChild((ParseNodeDrawable)node.Clone());
            pn.parent = this;

            var current = node;

            while (current.parent != this)
            {
                current = (ParseNodeDrawable)current.parent;
            }

            var index = this.children.IndexOf(current);

            this.children.Insert(index + 1, pn);
            node.layers.SetLayerData(ViewLayerType.TURKISH_WORD, "*NONE*");
            node.layers.SetLayerData(ViewLayerType.ENGLISH_WORD, "*NONE*");
        }