// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; using System.Collections.Generic; using ICSharpCode.AvalonEdit.Utils; namespace ICSharpCode.AvalonEdit.Highlighting.Xshd { /// /// A rule set in a XSHD file. /// [Serializable] public class XshdRuleSet : XshdElement { /// /// Gets/Sets the name of the rule set. /// public string Name { get; set; } /// /// Gets/sets whether the case is ignored in expressions inside this rule set. /// public bool? IgnoreCase { get; set; } readonly NullSafeCollection elements = new NullSafeCollection(); /// /// Gets the collection of elements. /// public IList Elements { get { return elements; } } /// /// Applies the visitor to all elements. /// public void AcceptElements(IXshdVisitor visitor) { foreach (XshdElement element in Elements) { element.AcceptVisitor(visitor); } } /// public override object AcceptVisitor(IXshdVisitor visitor) { return visitor.VisitRuleSet(this); } } }