private void sync(XmlDocument xDoc, XmlNode node, TreeElement element) { if (element.Equality == Equality.ToLeft) { if (fromR) { insertChildNodes(xDoc, node, element); foreach (var treeAtr in element.Attributes) { var atr = xDoc.CreateAttribute(treeAtr.Name); atr.Value = treeAtr.Right; node.Attributes.Append(atr); } if (element.RightText != null) { var textChild = xDoc.CreateTextNode(element.RightText); node.AppendChild(textChild); } } return; } if (element.Equality == Equality.ToRight) { if (fromL) { insertChildNodes(xDoc, node, element); foreach (var treeAtr in element.Attributes) { var atr = xDoc.CreateAttribute(treeAtr.Name); atr.Value = treeAtr.Left; node.Attributes.Append(atr); } if (element.LeftText != null) { var textChild = xDoc.CreateTextNode(element.LeftText); node.AppendChild(textChild); } } return; } if (element.Equality != Equality.NotEqual) { insertChildNodes(xDoc, node, element); foreach (var treeAtr in element.Attributes) { var atr = xDoc.CreateAttribute(treeAtr.Name); atr.Value = treeAtr.Left; node.Attributes.Append(atr); } if (element.LeftText != null) { var textChild = xDoc.CreateTextNode(element.LeftText); node.AppendChild(textChild); } return; } if (!Unequal) { return; } insertChildNodes(xDoc, node, element); foreach (var treeAtr in element.Attributes) { if (treeAtr.Equality == Equality.ToLeft && UnequalFromLeft) { continue; } if (treeAtr.Equality == Equality.ToRight && !UnequalFromLeft) { continue; } var atr = xDoc.CreateAttribute(treeAtr.Name); atr.Value = UnequalFromLeft ? treeAtr.Left : treeAtr.Right; node.Attributes.Append(atr); } if (element.LeftText != null) { var textChild = xDoc.CreateTextNode(UnequalFromLeft ? element.LeftText : element.RightText); node.AppendChild(textChild); } return; }
public SyncDialog(TreeElement toSave) { InitializeComponent(); TreeElement = toSave; }