3 * Namespace : System.Web.UI.MobileControls.Adapters
4 * Class : HtmlControlAdapter
5 * Author : Gaurav Vaish
7 * Copyright : 2003 with Gaurav Vaish, and with
12 using System.Web.Mobile;
14 namespace System.Web.UI.MobileControls.Adapters
16 public class HtmlControlAdapter : ControlAdapter
18 protected static readonly int NotSecondaryUI = -1;
20 [MonoTODO("Whould_like_to_keep_it_FFFFFFFF")]
21 internal const int NotSecondaryUIInitial = 0x7FFFFFFF;
23 private static string[] multimediaAttrs = {
32 public HtmlControlAdapter()
36 protected HtmlFormAdapter FormAdapter
40 return (HtmlFormAdapter)Control.Form.Adapter;
44 protected HtmlPageAdapter PageAdapter
48 return (HtmlPageAdapter)Page.Adapter;
53 protected int SecondaryUIMode
57 throw new NotImplementedException();
61 throw new NotImplementedException();
65 public virtual bool RequiresFormTag
74 private void AddAttributePrivate(HtmlMobileTextWriter writer,
77 //string val = Control.GetAttribute(attribute);
78 string val = String.Empty;
79 if(val != null && val.Length > 0)
81 writer.WriteAttribute(attribute, val);
85 protected virtual void AddAccesskey(HtmlMobileTextWriter writer)
87 if(Device.SupportsAccesskeyAttribute)
89 AddAttributePrivate(writer, "accesskey");
93 protected virtual void AddAttributes(HtmlMobileTextWriter writer)
97 protected virtual void AddJPhoneMultiMediaAttributes(
98 HtmlMobileTextWriter writer)
100 if(Device.SupportsJPhoneMultiMediaAttributes)
102 foreach(string cAttrib in multimediaAttrs)
104 AddAttributePrivate(writer, cAttrib);
109 protected void ExitSecondaryUIMode()
111 this.SecondaryUIMode = NotSecondaryUI;
114 public override void LoadAdapterState(object state)
116 if(state != null && state is int)
118 this.SecondaryUIMode = (int)state;
122 public virtual void Render(HtmlMobileTextWriter writer)
124 base.RenderChildren(writer);
127 public override void Render(HtmlTextWriter writer)
129 if(writer is HtmlMobileTextWriter)
131 Render((HtmlMobileTextWriter)writer);
135 protected virtual void RenderAsHiddenInputField(HtmlMobileTextWriter writer)
140 protected void RenderBeginLink(HtmlMobileTextWriter writer,
144 if(PageAdapter.PersistCookielessData)
146 if(target.StartsWith("http:") || target.StartsWith("https:"))
148 throw new NotImplementedException();
154 protected void RenderEndLink(HtmlMobileTextWriter writer,
157 throw new NotImplementedException();
161 protected void RenderPostBackEventAsAnchor(HtmlMobileTextWriter writer,
162 string argument, string linkText)
164 throw new NotImplementedException();