// 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);
}
}
}