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*"); }