//----------------------------------------------------------------------- // // Copyright (c) Outercurve Foundation. All rights reserved. // //----------------------------------------------------------------------- namespace DotNetOpenAuth.OpenId.RelyingParty { using System; using System.Web.UI; /// /// A button that would appear in the control via its collection. /// [Serializable] public abstract class SelectorButton { /// /// Initializes a new instance of the class. /// protected SelectorButton() { } /// /// Ensures that this button has been initialized to a valid state. /// /// /// This is "internal" -- NOT "protected internal" deliberately. It makes it impossible /// to derive from this class outside the assembly, which suits our purposes since the /// control is not designed for an extensible set of button types. /// internal abstract void EnsureValid(); /// /// Renders the leading attributes for the LI tag. /// /// The writer. protected internal abstract void RenderLeadingAttributes(HtmlTextWriter writer); /// /// Renders the content of the button. /// /// The writer. /// The containing selector control. protected internal abstract void RenderButtonContent(HtmlTextWriter writer, OpenIdSelector selector); } }