using System.Drawing;
using System.ComponentModel;
using System.ComponentModel.Design;
+using System.Security.Permissions;
namespace System.Web.UI.WebControls {
+ // CAS
+ [AspNetHostingPermissionAttribute (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
+ [AspNetHostingPermissionAttribute (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
+ // attributes
[DesignerAttribute ("System.Web.UI.Design.WebControls.BulletedListDesigner, " + Consts.AssemblySystem_Design, "System.ComponentModel.Design.IDesigner")]
[DefaultEventAttribute ("Click")]
[DefaultPropertyAttribute ("BulletStyle")]
+ [SupportsEventValidation]
public class BulletedList : ListControl, IPostBackEventHandler {
[MonoTODO ("we are missing a new style enum, we should be using it")]
break;
case BulletStyle.UpperRoman:
- writer.AddStyleAttribute (ListStyleType, "lower-roman");
+ writer.AddStyleAttribute (ListStyleType, "upper-roman");
isNumeric = true;
break;
base.AddAttributesToRender (writer);
}
-
- bool cacheIsEnabled;
- [MonoTODO ("new bool prop on ListItem: Enabled")]
+
protected virtual void RenderBulletText (ListItem item, int index, HtmlTextWriter writer)
{
switch (DisplayMode) {
case BulletedListDisplayMode.Text:
- //if (!item.Enabled) {
- // writer.AddAttribute (HtmlTextWriterAttribute.Disabled, "disabled");
- // writer.RenderBeginTag (HtmlTextWriterTag.Span);
- //}
+ if (!item.Enabled) {
+ writer.AddAttribute (HtmlTextWriterAttribute.Disabled, "disabled");
+ writer.RenderBeginTag (HtmlTextWriterTag.Span);
+ }
+
writer.Write (item.Text);
- //if (!item.Enabled)
- // writer.RenderEndTag ();
+
+ if (!item.Enabled)
+ writer.RenderEndTag ();
+
break;
case BulletedListDisplayMode.HyperLink:
- //if (cacheIsEnabled && item.Enabled) {
- // writer.AddAttribute (HtmlTextWriterAttribute.Href, item.Value);
- // if (Target != "")
- // writer.AddAttribute(HtmlTextWriterAttribute.Target, this.Target);
- //
- //}
- //else
+ if (Enabled && item.Enabled) {
+ writer.AddAttribute (HtmlTextWriterAttribute.Href, item.Value);
+ if (Target != "")
+ writer.AddAttribute(HtmlTextWriterAttribute.Target, this.Target);
+
+ }
+ else
writer.AddAttribute (HtmlTextWriterAttribute.Disabled, "disabled");
writer.RenderBeginTag (HtmlTextWriterTag.A);
break;
case BulletedListDisplayMode.LinkButton:
- //if (cacheIsEnabled && item.Enabled)
+ if (Enabled && item.Enabled)
writer.AddAttribute (HtmlTextWriterAttribute.Href, Page.ClientScript.GetPostBackClientHyperlink (this, (index.ToString (CultureInfo.InvariantCulture))));
- //else
- // writer.AddAttribute (HtmlTextWriterAttribute.Disabled, "disabled");
+ else
+ writer.AddAttribute (HtmlTextWriterAttribute.Disabled, "disabled");
writer.RenderBeginTag (HtmlTextWriterTag.A);
writer.Write (item.Text);
writer.RenderEndTag ();
protected internal override void RenderContents (HtmlTextWriter writer)
{
- cacheIsEnabled = this.Enabled;
int idx = 0;
foreach (ListItem i in Items) {
writer.RenderBeginTag (HtmlTextWriterTag.Li);
}
}
- [MonoTODO]
- protected internal override void Render (HtmlTextWriter w)
+ protected internal override void Render (HtmlTextWriter writer)
{
- throw new NotImplementedException ();
+ base.Render (writer);
}
void IPostBackEventHandler.RaisePostBackEvent (string eventArgument)
[Bindable (false)]
[EditorBrowsableAttribute (EditorBrowsableState.Never)]
public override int SelectedIndex {
- get { return base.SelectedIndex; }
+ get { return -1; }
set { throw new NotSupportedException (String.Format ("This property is not supported in {0}", GetType ())); }
}
[EditorBrowsableAttribute (EditorBrowsableState.Never)]
public override ListItem SelectedItem {
- get { return base.SelectedItem; }
+ get { return null; }
}
[EditorBrowsable (EditorBrowsableState.Never)]
[Bindable (false)]
- [MonoTODO]
- public override string SelectedValue
+ public override string SelectedValue
{
- get {
- throw new NotImplementedException ();
- }
- set {
- throw new NotImplementedException ();
- }
+ get { return string.Empty; }
+ set { throw new NotSupportedException (); }
}
[DefaultValueAttribute ("")]
[EditorAttribute ("System.Web.UI.Design.ImageUrlEditor, " + Consts.AssemblySystem_Design, "System.Drawing.Design.UITypeEditor, " + Consts.AssemblySystem_Drawing)]
[UrlPropertyAttribute]
public virtual string BulletImageUrl {
- get {
- object ret = ViewState ["BulletImageUrl"];
- if (ret != null)
- return (string) ret;
-
- return "";
- }
- set {
- ViewState ["BulletImageUrl"] = value;
- }
+ get { return ViewState.GetString ("BulletImageUrl", ""); }
+ set { ViewState ["BulletImageUrl"] = value; }
}
[DefaultValueAttribute (BulletStyle.NotSet)]
public virtual BulletStyle BulletStyle {
- get {
- object ret = ViewState ["BulletStyle"];
- if (ret != null)
- return (BulletStyle) ret;
-
- return BulletStyle.NotSet;
- }
+ get { return (BulletStyle) ViewState.GetInt ("BulletStyle", (int) BulletStyle.NotSet); }
set {
if ((int) value < 0 || (int) value > 9)
throw new ArgumentOutOfRangeException ("value");
[DefaultValueAttribute (BulletedListDisplayMode.Text)]
public virtual BulletedListDisplayMode DisplayMode {
- get {
- object ret = ViewState ["DisplayMode"];
- if (ret != null)
- return (BulletedListDisplayMode) ret;
-
- return BulletedListDisplayMode.Text;
- }
+ get { return (BulletedListDisplayMode) ViewState.GetInt ("DisplayMode", (int)BulletedListDisplayMode.Text); }
set {
if ((int) value < 0 || (int) value > 2)
throw new ArgumentOutOfRangeException ("value");
[DefaultValueAttribute (1)]
public virtual int FirstBulletNumber {
- get {
- object ret = ViewState ["FirstBulletNumber"];
- if (ret != null)
- return (int) ret;
-
- return 1;
- }
- set {
- ViewState ["FirstBulletNumber"] = value;
- }
+ get { return ViewState.GetInt ("FirstBulletNumber", 1); }
+ set { ViewState ["FirstBulletNumber"] = value; }
}
[DefaultValueAttribute ("")]
[TypeConverter (typeof (TargetConverter))]
public virtual string Target {
- get {
- object ret = ViewState ["Target"];
- if (ret != null)
- return (string) ret;
-
- return "";
- }
- set {
- ViewState ["Target"] = value;
- }
+ get { return ViewState.GetString ("Target", ""); }
+ set { ViewState ["Target"] = value; }
}
[EditorBrowsable (EditorBrowsableState.Never)]
- [MonoTODO]
public override string Text
{
- get {
- throw new NotImplementedException ();
- }
- set {
- throw new NotImplementedException ();
- }
+ get { return string.Empty; }
+ set { throw new NotSupportedException (); }
}