00001 #if V2
00002
00003 using System;
00004 using System.ComponentModel;
00005 using System.Drawing;
00006 using System.Web.UI;
00007 using ASP = System.Web.UI.WebControls;
00008
00009 namespace Anthem
00010 {
00014 [ToolboxBitmap(typeof(ASP.MultiView))]
00015 public class MultiView : ASP.MultiView, IUpdatableControl
00016 {
00017 #region Unique Anthem control code
00018
00023 protected override void OnActiveViewChanged(EventArgs e)
00024 {
00025 base.OnActiveViewChanged(e);
00026 UpdateAfterCallBack = true;
00027 }
00028
00029 private const string parentTagName = "div";
00034 protected override void Render(HtmlTextWriter writer)
00035 {
00036 #if !V2
00037 bool DesignMode = this.Context == null;
00038 #endif
00039 if (!DesignMode)
00040 {
00041 Anthem.Manager.WriteBeginControlMarker(writer, parentTagName, this);
00042 }
00043 if (Visible)
00044 {
00045 base.Render(writer);
00046 }
00047 if (!DesignMode)
00048 {
00049 Anthem.Manager.WriteEndControlMarker(writer, parentTagName, this);
00050 }
00051 }
00052
00053 #endregion
00054
00055 #region IUpdatableControl implementation
00056
00070 [Category("Anthem")]
00071 [DefaultValue(false)]
00072 [Description("True if this control should be updated after each callback.")]
00073 public virtual bool AutoUpdateAfterCallBack
00074 {
00075 get
00076 {
00077 object obj = this.ViewState["AutoUpdateAfterCallBack"];
00078 if (obj == null)
00079 return false;
00080 else
00081 return (bool)obj;
00082 }
00083 set
00084 {
00085 if (value) UpdateAfterCallBack = true;
00086 ViewState["AutoUpdateAfterCallBack"] = value;
00087 }
00088 }
00089
00090 private bool _updateAfterCallBack = false;
00091
00106 [Browsable(false)]
00107 [DefaultValue(false)]
00108 public virtual bool UpdateAfterCallBack
00109 {
00110 get { return _updateAfterCallBack; }
00111 set { _updateAfterCallBack = value; }
00112 }
00113
00114 #endregion
00115
00116 #region Common Anthem control code
00117
00123 protected override void OnLoad(EventArgs e)
00124 {
00125 base.OnLoad(e);
00126 Anthem.Manager.Register(this);
00127 }
00128
00129 #if V2
00133 public override void RenderControl(HtmlTextWriter writer)
00134 {
00135 base.Visible = true;
00136 base.RenderControl(writer);
00137 }
00138 #endif
00139
00147 public override bool Visible
00148 {
00149 get
00150 {
00151 #if !V2
00152 bool DesignMode = this.Context == null;
00153 #endif
00154 return Anthem.Manager.GetControlVisible(this, ViewState, DesignMode);
00155 }
00156 set { Anthem.Manager.SetControlVisible(ViewState, value); }
00157 }
00158
00159 #endregion
00160 }
00161 }
00162
00163 #endif