public static void ToXml(IRtWidget rtWidget, Object parent, XmlElement baseElem, String fieldName, int detailLevel) { if (detailLevel > 0) { XmlElement widgetElem = VarValue.AppendChild(baseElem, "Widget"); if (rtWidget.Id != null) { VarValue.AppendAttribute(widgetElem, "Id", rtWidget.Id, TypeKind.Text); } rtWidget.InnerToXml(widgetElem, detailLevel); if (rtWidget.Control != null) { VarValue.InvokeToXml(rtWidget.Control, parent, widgetElem, fieldName, detailLevel); } } else { VarValue.AppendDeferredEvaluationElement(baseElem); } }
public static void EvaluateFields(IRtWidget rtWidget, VarValue variable, Object parent, String baseName, String fields) { String head = VarValue.GetHead(fields); String tail = VarValue.GetTail(fields); variable.Found = false; if (rtWidget.Id != null) { if (head == "id") { variable.Value = rtWidget.Id; } } rtWidget.InnerEvaluateField(variable, head); if (!variable.Found && rtWidget.Control != null) { variable.InvokeEvaluateFields(rtWidget.Control, baseName, fields); } if (variable.Found && tail != null) { variable.EvaluateFields(rtWidget, head, tail); } }