public void visit(ChoiceLineV choiceLineV) { List<UserControl> children = new List<UserControl>(); foreach (GrammarNodeV child in choiceLineV.Children) { child.accept(this); } }
public void Collapse() { if (!IsExpanded) throw new Exception("Cannot collapse a collapsed nonterminal tail V."); rule.Dispose(); rule = null; // reset to default. Need to use visitor pattern to create visual from definitive, see log book. Direction = false; }
public void visit(ChoiceLineV choiceLineV) { List<UserControl> children = new List<UserControl>(); foreach (GrammarNodeV child in choiceLineV.Children) { child.accept(this); children.Add(drawnItem); } drawnItem = new Concatenation(children, choiceLineV.Direction); children = null; }
public void Expand() { if (IsExpanded) throw new Exception("Cannot expand an expanded nonterminal tail V."); GrammarNodeDCreateVisualVisitor visitor = new GrammarNodeDCreateVisualVisitor(level); Reference.Reference.Rule.accept(visitor); if (visitor.CurrentNodeV as ChoiceLineV == null) throw new Exception("The node created in the visitor pattern returned null or is not of type ChoiceLineV"); else rule = (ChoiceLineV)visitor.CurrentNodeV; //rule = (ChoiceLineV)reference.Reference.Rule.CreateVisual(updateRef) }
public void visit(ChoiceLineD choiceLineD) { List<GrammarNodeV> children = new List<GrammarNodeV>(); foreach (GrammarNodeD child in choiceLineD.Children) { // make children child.accept(this); children.Add(current); } ChoiceLineV choiceLineV = new ChoiceLineV(children, choiceLineD); choiceLineD.AddReference(choiceLineV); current = choiceLineV; }
public void visit(ChoiceLineV choiceLineV) { foreach (GrammarNodeV child in choiceLineV.Children) { child.accept(this); } }
public void AddReference(ChoiceLineV choiceLineV) { references.Add(choiceLineV); }