void ControlTreeDataLoader.LoadData()
        {
            EwfPage.Instance.AddDisplayLink(this);

            // NOTE: Currently this hidden field will always be persisted in page state whether the page cares about that or not. We should put this decision into the
            // hands of the page, maybe by making ToggleButton sort of like a form control such that it takes a boolean value in its constructor and allows access to
            // its post back value.
            var controlsToggled = false;

            EwfHiddenField.Create(EwfPage.Instance.PageState.GetValue(this, pageStateKey, false).ToString(),
                                  postBackValue => controlsToggled = getControlsToggled(postBackValue),
                                  EwfPage.Instance.DataUpdate,
                                  out controlsToggledHiddenFieldValueGetter,
                                  out controlsToggledHiddenFieldClientIdGetter);
            EwfPage.Instance.DataUpdate.AddModificationMethod(
                () => AppRequestState.AddNonTransactionalModificationMethod(() => EwfPage.Instance.PageState.SetValue(this, pageStateKey, controlsToggled)));

            if (TagKey == HtmlTextWriterTag.Button)
            {
                PostBackButton.AddButtonAttributes(this);
            }
            this.AddJavaScriptEventScript(JsWritingMethods.onclick, handlerName + "()");
            CssClass    = CssClass.ConcatenateWithSpace("ewfClickable");
            textControl = ActionControlStyle.SetUpControl(this, "", width, height, w => base.Width = w);
        }
 void ControlTreeDataLoader.LoadData()
 {
     if (TagKey == HtmlTextWriterTag.Button)
     {
         PostBackButton.AddButtonAttributes(this);
     }
     CssClass = CssClass.ConcatenateWithSpace("ewfClickable");
     ActionControlStyle.SetUpControl(this, "", Unit.Empty, Unit.Empty, width => { });
 }
        /// <summary>
        /// Checks that WindowToLaunch has been set and applies the attributes for this LaunchWindowLink.
        /// </summary>
        void ControlTreeDataLoader.LoadData()
        {
            if (TagKey == HtmlTextWriterTag.Button)
            {
                PostBackButton.AddButtonAttributes(this);
            }
            CssClass = CssClass.ConcatenateWithSpace("ewfClickable");
            ActionControlStyle.SetUpControl(this, "", Unit.Empty, Unit.Empty, width => { });

            if (ToolTip != null || ToolTipControl != null)
            {
                new ToolTip(ToolTipControl ?? EnterpriseWebFramework.Controls.ToolTip.GetToolTipTextControl(ToolTip), this);
            }
        }
        void ControlTreeDataLoader.LoadData()
        {
            if (toolTipControl == null)
            {
                throw new ApplicationException("ToolTipControl must be set on ToolTipLink");
            }

            if (TagKey == HtmlTextWriterTag.Button)
            {
                PostBackButton.AddButtonAttributes(this);
            }

            // NOTE: When this control is rendered as an anchor, the presence of an onclick attribute is necessary for it to be selected properly by our action
            // control CSS elements. This hack would not be necessary if Telerik used the onclick attribute to open the tool tip.
            this.AddJavaScriptEventScript(JsWritingMethods.onclick, "");

            CssClass = CssClass.ConcatenateWithSpace("ewfClickable");
            ActionControlStyle.SetUpControl(this, "", Unit.Empty, Unit.Empty, width => { });

            new ToolTip(toolTipControl, this, title: ToolTipTitle ?? "", sticky: true);
        }