private void RenderPlaceHolder(TabbedMultiViewRenderingContext renderingContext, Style style, PlaceHolder placeHolder, string defaultCssClass)
        {
            ScriptUtility.Instance.RegisterElementForBorderSpans(renderingContext.Control, "#" + placeHolder.ClientID);

            string cssClass = defaultCssClass;

            if (!string.IsNullOrEmpty(style.CssClass))
            {
                cssClass = style.CssClass;
            }

            if (placeHolder.Controls.Count == 0)
            {
                cssClass += " " + CssClassEmpty;
            }

            string backupCssClass = style.CssClass;

            style.CssClass = cssClass;
            style.AddAttributesToRender(renderingContext.Writer);
            style.CssClass = backupCssClass;

            renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Id, placeHolder.ClientID);
            renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Div);

            renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Class, CssClassContent);
            renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Div);

            placeHolder.RenderControl(renderingContext.Writer);

            renderingContext.Writer.RenderEndTag();
            renderingContext.Writer.RenderEndTag();
        }
        protected virtual void RenderTabStrip(TabbedMultiViewRenderingContext renderingContext)
        {
            ArgumentUtility.CheckNotNull("renderingContext", renderingContext);

            renderingContext.Control.TabStrip.CssClass = CssClassTabStrip;
            renderingContext.Control.TabStrip.RenderControl(renderingContext.Writer);
        }
        private void RegisterAdjustViewScript(TabbedMultiViewRenderingContext renderingContext)
        {
            ScriptUtility.Instance.RegisterResizeOnElement(renderingContext.Control, string.Format("'#{0}'", renderingContext.Control.ClientID), "ViewLayout.AdjustTabbedMultiView");

            renderingContext.Control.Page.ClientScript.RegisterStartupScriptBlock(
                renderingContext.Control,
                typeof(TabbedMultiViewRenderer),
                Guid.NewGuid().ToString(),
                string.Format("ViewLayout.AdjustTabbedMultiView ($('#{0}'));", renderingContext.Control.ClientID));
        }
        protected virtual void RenderBottomControls(TabbedMultiViewRenderingContext renderingContext)
        {
            ArgumentUtility.CheckNotNull("renderingContext", renderingContext);

            Style       style       = renderingContext.Control.BottomControlsStyle;
            PlaceHolder placeHolder = renderingContext.Control.BottomControl;
            string      cssClass    = CssClassBottomControls;

            RenderPlaceHolder(renderingContext, style, placeHolder, cssClass);
        }
        protected void AddAttributesToRender(TabbedMultiViewRenderingContext renderingContext)
        {
            ArgumentUtility.CheckNotNull("renderingContext", renderingContext);

            AddStandardAttributesToRender(renderingContext);
            if (renderingContext.Control.IsDesignMode)
            {
                renderingContext.Writer.AddStyleAttribute("width", "100%");
                renderingContext.Writer.AddStyleAttribute("height", "75%");
            }
            if (string.IsNullOrEmpty(renderingContext.Control.CssClass) && string.IsNullOrEmpty(renderingContext.Control.Attributes["class"]))
            {
                renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Class, CssClassBase);
            }
        }
        protected virtual void RenderActiveView(TabbedMultiViewRenderingContext renderingContext)
        {
            ArgumentUtility.CheckNotNull("renderingContext", renderingContext);

            ScriptUtility.Instance.RegisterElementForBorderSpans(renderingContext.Control, "#" + renderingContext.Control.ActiveViewClientID);

            if (renderingContext.Control.IsDesignMode)
            {
                renderingContext.Writer.AddStyleAttribute("border", "solid 1px black");
            }

            renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Id, renderingContext.Control.ActiveViewClientID);
            renderingContext.Control.ActiveViewStyle.AddAttributesToRender(renderingContext.Writer);
            if (string.IsNullOrEmpty(renderingContext.Control.ActiveViewStyle.CssClass))
            {
                renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Class, CssClassActiveView);
            }
            renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Div);

            renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Id, renderingContext.Control.ActiveViewContentClientID);
            renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Class, CssClassContentBorder);
            renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Div);

            renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Class, CssClassContent);
            renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Div);

            var view = renderingContext.Control.GetActiveView();

            if (view != null)
            {
                for (int i = 0; i < view.Controls.Count; i++)
                {
                    Control control = view.Controls[i];
                    control.RenderControl(renderingContext.Writer);
                }
            }

            renderingContext.Writer.RenderEndTag();
            renderingContext.Writer.RenderEndTag();
            renderingContext.Writer.RenderEndTag();
        }
        public void Render(TabbedMultiViewRenderingContext renderingContext)
        {
            ArgumentUtility.CheckNotNull("renderingContext", renderingContext);

            RegisterAdjustViewScript(renderingContext);

            AddAttributesToRender(renderingContext);
            renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Div);

            ScriptUtility.Instance.RegisterElementForBorderSpans(renderingContext.Control, "#" + renderingContext.Control.WrapperClientID);
            renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Id, renderingContext.Control.WrapperClientID);
            renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Class, CssClassWrapper);
            renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Div);

            RenderTopControls(renderingContext);
            RenderTabStrip(renderingContext);
            RenderActiveView(renderingContext);
            RenderBottomControls(renderingContext);

            renderingContext.Writer.RenderEndTag();
            renderingContext.Writer.RenderEndTag();
        }