/// <summary> /// Render hidden input control and img element /// </summary> /// <param name="output"> The HTML writer to write out to </param> protected override void Render(HtmlTextWriter output) { if (_globalstg && GraphicalControlsSettings.Load() != null) { GraphicalControlsSettings stg = GraphicalControlsSettings.Load(); if (stg.CheckboxCheckedDisImg != null) { CheckedDisImg = stg.CheckboxCheckedDisImg; } if (stg.CheckboxCheckedImg != null) { CheckedImg = stg.CheckboxCheckedImg; } if (stg.CheckboxCheckedOverImg != null) { CheckedOverImg = stg.CheckboxCheckedOverImg; } if (stg.CheckboxUncheckedDisImg != null) { UncheckedDisImg = stg.CheckboxUncheckedDisImg; } if (stg.CheckboxUncheckedImg != null) { UncheckedImg = stg.CheckboxUncheckedImg; } if (stg.CheckboxUncheckedOverImg != null) { UncheckedOverImg = stg.CheckboxUncheckedOverImg; } if (stg.CheckboxIndeterminateImg != null) { IndeterminateImg = stg.CheckboxIndeterminateImg; } if (stg.CheckboxIndeterminateOverImg != null) { IndeterminateOverImg = stg.CheckboxIndeterminateOverImg; } } string st = this.Attributes["style"]; if (st == null) { st = ""; } if (st.Length != 0) { st += ";"; } StringBuilder sb = new StringBuilder(256); base.RenderBeginTag(new HtmlTextWriter(new System.IO.StringWriter(sb))); string tmp = Regex.Match(sb.ToString(), @"style=\""[^\""]*\""" ).Value; // 2007-09-29 Joe Audette added length check here to fix error if (tmp.Length >= 8) { st += tmp.Substring(7, tmp.Length - 8); } if (Enabled) { string pb = ""; if (_autopost) { pb = Page.ClientScript.GetPostBackEventReference(this, ""); } output.Write("<input type=\"hidden\" id=\"{0}\" name=\"{0}\"" + " value=\"{1}\" />", UniqueID, ((int)CheckState).ToString()); output.Write("<span "); /***** FIRST - if control has all over states set generate mouseover and mouseout *****/ bool bAllowOver = checkImgOver != "" && uncheckImgOver != "" && (!_threestate || indetImgOver != ""); if (bAllowOver) { if (ThreeState) // THREE STATE CHECKBOX { output.Write( " onmouseover=\"var el=document.getElementById('{0}'); " + "var im=document.getElementById('{1}');" + "if (el.value==0) im.src='{5}'; else if (el.value==1) im.src='{6}'; else im.src='{7}';\"" + " onmouseout=\"var el=document.getElementById('{0}'); " + "var im=document.getElementById('{1}');" + "if (el.value==0) im.src='{2}'; else if (el.value==1) im.src='{3}'; else im.src='{4}';\"", UniqueID, UniqueID + "_img", uncheckImg, checkImg, indetImg, uncheckImgOver, checkImgOver, indetImgOver); } else // TWO STATE CHECKBOX { output.Write( " onmouseover=\"var el=document.getElementById('{0}'); " + "var im=document.getElementById('{1}');" + "im.src=(el.value==1)?'{4}':'{5}';\"" + " onmouseout=\"var el=document.getElementById('{0}'); " + "var im=document.getElementById('{1}');" + "im.src=(el.value==1)?'{3}':'{2}';\"", UniqueID, UniqueID + "_img", uncheckImg, checkImg, checkImgOver, uncheckImgOver); } } /***** SECOND - generate click event handler *****/ if (ThreeState) // THREE STATE CHECKBOX { string currentImg = uncheckImg; if (CheckState == CheckState.Checked) { currentImg = checkImg; } if (CheckState == CheckState.Indeterminate) { currentImg = indetImg; } output.Write( " onclick=\"var el=document.getElementById('{0}'); " + "var im=document.getElementById('{1}');" + "if (el.value==1) {{ el.value=2; im.src='{4}'; }} else" + " if (el.value==2) {{ el.value=0; im.src='{2}'; }} else" + " {{ el.value=1; im.src='{3}'; }} {8}\"" + " style=\"cursor:default;{9}\">" + "<img id=\"{1}\" src=\"{5}\" alt=\"{6}\" /> {7}</span>", UniqueID, UniqueID + "_img", bAllowOver?uncheckImgOver:uncheckImg, bAllowOver?checkImgOver:checkImg, bAllowOver?indetImgOver:indetImg, currentImg, title, text, pb, st); } else // TWO STATE CHECKBOX { output.Write( " onclick=\"var el=document.getElementById('{0}'); " + "var im=document.getElementById('{1}');" + "if (el.value==1) {{ el.value=0; im.src='{2}'; }} else" + " {{ el.value=1; im.src='{3}'; }} {7}\"" + " style=\"cursor:default;{8}\">" + "<img id=\"{1}\" src=\"{4}\" alt=\"{5}\" /> {6}</span>", UniqueID, UniqueID + "_img", bAllowOver?uncheckImgOver:uncheckImg, bAllowOver?checkImgOver:checkImg, Checked?checkImg:uncheckImg, title, text, pb, st); } } else { output.Write( "<span disabled=\"disabled\" style=\"cursor:default;{4}\">" + "<img id=\"{0}\" src=\"{1}\" alt=\"{2}\" /> {3}</span>", UniqueID + "_img", Checked?checkImgDis:uncheckImgDis, title, text, st); } }
/// <summary> /// Render hidden input control and img element /// </summary> /// <param name="output"> The HTML writer to write out to </param> protected override void Render(HtmlTextWriter output) { if (_globalstg && GraphicalControlsSettings.Load() != null) { GraphicalControlsSettings stg = GraphicalControlsSettings.Load(); if (stg.RadioCheckedDisImg != null) { CheckedDisImg = stg.RadioCheckedDisImg; } if (stg.RadioCheckedImg != null) { CheckedImg = stg.RadioCheckedImg; } if (stg.RadioCheckedOverImg != null) { CheckedOverImg = stg.RadioCheckedOverImg; } if (stg.RadioUncheckedDisImg != null) { UncheckedDisImg = stg.RadioUncheckedDisImg; } if (stg.RadioUncheckedImg != null) { UncheckedImg = stg.RadioUncheckedImg; } if (stg.RadioUncheckedOverImg != null) { UncheckedOverImg = stg.RadioUncheckedOverImg; } } string st = this.Attributes["style"]; if (st == null) { st = ""; } if (st.Length != 0) { st += ";"; } StringBuilder sb = new StringBuilder(256); base.RenderBeginTag(new HtmlTextWriter(new System.IO.StringWriter(sb))); string tmp = Regex.Match(sb.ToString(), @"style=\""[^\""]*\""" ).Value; st += tmp.Substring(7, tmp.Length - 8); if (Enabled) { string pb = ""; if (_autopost) { pb = Page.ClientScript.GetPostBackEventReference(this, ""); } output.Write("<input type=\"hidden\" id=\"{0}\" name=\"{0}\"" + " value=\"{1}\" />", UniqueID, Checked?"1":"0"); output.Write("<span "); bool bAllowOver = checkImgOver != "" && uncheckImgOver != ""; if (bAllowOver) { output.Write( " onmouseover=\"var el=document.getElementById('{0}'); " + "var im=document.getElementById('{1}');" + "im.src=(el.value==1)?'{4}':'{5}';\"" + " onmouseout=\"var el=document.getElementById('{0}'); " + "var im=document.getElementById('{1}');" + "im.src=(el.value==1)?'{3}':'{2}';\"", UniqueID, UniqueID + "_img", uncheckImg, checkImg, checkImgOver, uncheckImgOver); } output.Write( " onclick=\"var el=document.getElementById('{0}'); " + "var im=document.getElementById('{1}');" + "if (!tmp{9}&&el.value==1) return;" + "if (el.value==1) {{ el.value=0; im.src='{2}'; }} else" + " {{ el.value=1; im.src='{3}'; }} if (el.value==1) radio{9}Sel(this); " + "if (tmp{9}) return; {7}\"" + " style=\"cursor:default;{8}\" id=\"{0}_span\">" + "<img id=\"{1}\" src=\"{4}\" alt=\"{5}\" /> {6}</span>", UniqueID, UniqueID + "_img", bAllowOver?uncheckImgOver:uncheckImg, bAllowOver?checkImgOver:checkImg, Checked?checkImg:uncheckImg, title, text, pb, st, group); } else { output.Write( "<span disabled=\"disabled\" style=\"cursor:default;{4}\">" + "<img id=\"{0}\" src=\"{1}\" alt=\"{2}\" /> {3}</span>", UniqueID + "_img", Checked?checkImgDis:uncheckImgDis, title, text, st); } }