protected override bool AcceptTagElement(DefineButton2Tag tag, XElement element) { switch (element.Name.LocalName) { case BUTTONS_ELEM: foreach (var xButton in element.Elements()) { tag.Characters.Add(XButtonRecordEx.FromXml(xButton)); } break; case CONDITIONS_ELEM: foreach (var xCondition in element.Elements()) { tag.Conditions.Add(XButtonCondition.FromXml(xCondition)); } break; default: return(false); } return(true); }
protected override void FormatTagElement(DefineButton2Tag tag, XElement xTag) { xTag.Add(new XAttribute(MENU_ATTRIB, CommonFormatter.Format(tag.TrackAsMenu))); if (tag.ReservedFlags != 0) { xTag.Add(new XAttribute("reserved", tag.ReservedFlags)); } var xButtons = new XElement("buttons"); foreach (var button in tag.Characters) { xButtons.Add(XButtonRecordEx.ToXml(button)); } xTag.Add(xButtons); var xConditions = new XElement("conditions"); foreach (var condition in tag.Conditions) { xConditions.Add(XButtonCondition.ToXml(condition)); } xTag.Add(xConditions); }