Exemplo n.º 1
0
 private TabView GetCurrentView()
 {
     if (this.ActiveViewIndex >= 0 && this.ActiveViewIndex < this.Views.Count)
     {
         TabView view = (TabView)(this.Views[this.ActiveViewIndex]);
         return(view);
     }
     else
     {
         return(null);
     }
 }
Exemplo n.º 2
0
        public override void RenderControl(System.Web.UI.HtmlTextWriter writer)
        {
            if (this.DesignMode)
            {
                base.RenderControl(writer);
            }
            else
            {
                Panel outerDiv = new Panel();
                outerDiv.ID       = ClientID;
                outerDiv.CssClass = this.CssClass;

                outerDiv.ApplyStyle(ControlStyle);
                if (tabs == null)
                {
                    tabs = CreateTabs();
                    tabs.CreateStyle(Page, "#" + ClientID + " ul." + ClientID);
                }
                outerDiv.Controls.Add(tabs);

                /*
                 * Dim lClear As New Literal
                 * lClear.Text = "<div style=""clear:both""></div>"
                 * outerDiv.Controls.Add(lClear)
                 */


                Panel innerDiv = new Panel();
                innerDiv.CssClass = "container";

                TabView view = GetCurrentView();
                if (view != null)
                {
                    innerDiv.ApplyStyle(view.ControlStyle);
                    innerDiv.Style["border-top"] = "0 !important";
                    if (view.ControlStyle.BorderStyle == BorderStyle.None || view.ControlStyle.BorderStyle == BorderStyle.NotSet)
                    {
                        innerDiv.BorderStyle = TabBorderStyle;
                        innerDiv.BorderWidth = TabBorderWidth;
                        innerDiv.BorderColor = TabBorderColor;
                    }

                    //padding: top right bottom left
                    if (!ContainerPaddingLeft.IsEmpty)
                    {
                        innerDiv.Style["padding-left"] = ContainerPaddingLeft.ToString();
                    }
                    if (!ContainerPaddingRight.IsEmpty)
                    {
                        innerDiv.Style["padding-right"] = ContainerPaddingLeft.ToString();
                    }
                    if (!ContainerPaddingTop.IsEmpty)
                    {
                        innerDiv.Style["padding-top"] = ContainerPaddingLeft.ToString();
                    }
                    if (!ContainerPaddingBottom.IsEmpty)
                    {
                        innerDiv.Style["padding-bottom"] = ContainerPaddingLeft.ToString();
                    }
                }

                innerDiv.ScrollBars = ScrollBars.Auto;
                if (!outerDiv.Height.IsEmpty)
                {
                    innerDiv.Height = new Unit(outerDiv.Height.Value - tabs.RealHeight.Value, UnitType.Pixel);
                    outerDiv.Height = Unit.Empty;
                }

                /*
                 * If outerDiv.Height.IsEmpty Then
                 *  If innerDiv.Height.IsEmpty Then
                 *      innerDiv.Height = New Unit(200 - tabs.RealHeight.Value, UnitType.Pixel)
                 *  End If
                 * Else
                 *  innerDiv.Height = New Unit(outerDiv.Height.Value - tabs.RealHeight.Value, UnitType.Pixel)
                 * End If
                 */


                Literal l = new Literal();
                l.Text = "{0}";

                innerDiv.Controls.Add(l);

                outerDiv.Controls.Add(innerDiv);


                System.IO.StringWriter htmlSW = new System.IO.StringWriter();
                HtmlTextWriter         html32 = new HtmlTextWriter(htmlSW);
                outerDiv.RenderControl(html32);
                string html = htmlSW.ToString();

                writer.WriteLine(html.Substring(0, html.IndexOf("{0}")));
                base.RenderControl(writer);
                writer.WriteLine(html.Substring(html.IndexOf("{0}") + 3));
            }
        }
Exemplo n.º 3
0
        /*
         * private Tabs _Tabs;
         */

        protected virtual Tabs CreateTabs()
        {
            Tabs tabs = new Tabs();


            tabs.CssClass    = ClientID;
            tabs.DisplayMode = TabDisplayMode;
            tabs.ApplyStyle(this.ControlStyle);

            tabs.Width  = Unit.Empty;
            tabs.Height = Unit.Empty;

            tabs.ApplyTabStyle(TabStyle);
            tabs.ApplySelectedTabStyle(SelectedTabStyle);
            tabs.TabSeparator = this.TabSeparator;

            TabView activeView = GetCurrentView();

            if (activeView != null)
            {
                if (activeView.BorderStyle != BorderStyle.None && activeView.BorderStyle != BorderStyle.NotSet)
                {
                    tabs.BorderColor = activeView.BorderColor;
                    tabs.BorderStyle = activeView.BorderStyle;
                    tabs.BorderWidth = activeView.BorderWidth;
                }
                else
                {
                    tabs.BorderColor = this.TabBorderColor;
                    tabs.BorderStyle = this.TabBorderStyle;
                    tabs.BorderWidth = this.TabBorderWidth;
                }
            }


            int i = 1;

            foreach (View view in this.Views)
            {
                TabView tab = view as TabView;
                if (tab.TabVisible)
                {
                    ListItem item = new ListItem();
                    item.Selected = tab == activeView;


                    if (tab != null)
                    {
                        if (string.IsNullOrEmpty(tab.Title))
                        {
                            item.Text = "Tab " + i.ToString();
                        }
                        else
                        {
                            item.Text = tab.Title;
                        }
                    }
                    else
                    {
                        item.Text = "Tab " + i.ToString();
                    }

                    switch (TabDisplayMode)
                    {
                    case BulletedListDisplayMode.HyperLink:
                        bool added = false;
                        item.Value = Page.Request.AppRelativeCurrentExecutionFilePath + "";
                        foreach (string qs in Page.Request.QueryString.Keys)
                        {
                            if (!item.Value.EndsWith(""))
                            {
                                item.Value += "&";
                            }
                            if (qs.Equals(QueryStringKey, StringComparison.OrdinalIgnoreCase))
                            {
                                item.Value += QueryStringKey + "=" + (i - 1).ToString();
                                added       = true;
                            }
                            else
                            {
                                item.Value += qs + "=" + HttpUtility.UrlEncode(Page.Request.QueryString[qs]);
                            }
                        }
                        if (!added)
                        {
                            if (!item.Value.EndsWith(""))
                            {
                                item.Value += "&";
                            }
                            item.Value += QueryStringKey + "=" + (i - 1).ToString();
                        }
                        break;

                    case BulletedListDisplayMode.LinkButton:
                        item.Value = (i - 1).ToString();
                        break;
                    }

                    tabs.Items.Add(item);
                }

                i++;
            }

            return(tabs);
        }