Beispiel #1
0
        /// <include file='doc\AdRotatorDesigner.uex' path='docs/doc[@for="AdRotatorDesigner.GetDesignTimeHtml"]/*' />
        /// <devdoc>
        ///    <para>
        ///       Returns the design-time HTML of the <see cref='System.Web.UI.WebControls.AdRotator'/>
        ///       web control
        ///    </para>
        /// </devdoc>

        public override string GetDesignTimeHtml()
        {
            AdRotator adRotator = (AdRotator)Component;

            StringWriter   sw = new StringWriter();
            HtmlTextWriter tw = new HtmlTextWriter(sw);

            // we want to put some properties on the link, and some on the image, so we
            // create temporary objects for rendinger and distribute the properties.
            HyperLink bannerLink = new HyperLink();

            bannerLink.ID          = adRotator.ID;
            bannerLink.NavigateUrl = "";
            bannerLink.Target      = adRotator.Target;
            bannerLink.AccessKey   = adRotator.AccessKey;
            bannerLink.Enabled     = adRotator.Enabled;
            bannerLink.TabIndex    = adRotator.TabIndex;
            bannerLink.RenderBeginTag(tw);

            Image bannerImage = new Image();

            // apply style copies most style-related properties
            bannerImage.ApplyStyle(adRotator.ControlStyle);
            bannerImage.ImageUrl      = "";
            bannerImage.AlternateText = adRotator.ID;
            bannerImage.ToolTip       = adRotator.ToolTip;
            bannerImage.RenderControl(tw);

            bannerLink.RenderEndTag(tw);

            return(sw.ToString());
        }
        public override string GetDesignTimeHtml()
        {
            AdRotator                viewControl = (AdRotator)base.ViewControl;
            StringWriter             writer      = new StringWriter(CultureInfo.CurrentCulture);
            DesignTimeHtmlTextWriter writer2     = new DesignTimeHtmlTextWriter(writer);
            HyperLink                link        = new HyperLink {
                ID          = viewControl.ID,
                NavigateUrl = "",
                Target      = viewControl.Target,
                AccessKey   = viewControl.AccessKey,
                Enabled     = viewControl.Enabled,
                TabIndex    = viewControl.TabIndex
            };

            link.Style.Value = viewControl.Style.Value;
            link.RenderBeginTag(writer2);
            Image image = new Image();

            image.ApplyStyle(viewControl.ControlStyle);
            image.ImageUrl      = "";
            image.AlternateText = viewControl.ID;
            image.ToolTip       = viewControl.ToolTip;
            image.RenderControl(writer2);
            link.RenderEndTag(writer2);
            return(writer.ToString());
        }
Beispiel #3
0
        protected override void Render(HtmlTextWriter writer)
        {
            HyperLink hl = this.Control as HyperLink;

            if (hl == null)
            {
                base.Render(writer);
                return;
            }

            // This code is copied from HyperLink.RenderContents (using
            // Reflector). References to "this" have been changed to
            // "hl", and we have to render the begin and end tags.
            string imageUrl = hl.ImageUrl;

            if (imageUrl.Length > 0)
            {
                // Let the HyperLink render its begin tag
                hl.RenderBeginTag(writer);

                Image image = new Image();

                // I think the next line is the bug. The URL gets
                // resolved here, but the Image.UrlResolved property
                // doesn't get set. So another attempt to resolve the
                // URL is made in Image.AddAttributesToRender. It's in
                // the callstack above that method that the exception
                // or improperly resolved URL happens.
                //image.ImageUrl = base.ResolveClientUrl(imageUrl);
                image.ImageUrl = imageUrl;

                imageUrl = hl.ToolTip;
                if (imageUrl.Length != 0)
                {
                    image.ToolTip = imageUrl;
                }

                imageUrl = hl.Text;
                if (imageUrl.Length != 0)
                {
                    image.AlternateText = imageUrl;
                }

                image.RenderControl(writer);

                // Wrap up by letting the HyperLink render its end tag
                hl.RenderEndTag(writer);
            }
            else
            {
                // HyperLink.RenderContents handles a couple of other
                // cases if its ImageUrl property hasn't been set. We
                // delegate to that behavior here.
                base.Render(writer);
            }
        }
Beispiel #4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="writer"></param>
 /// <remarks>
 /// </remarks>
 /// <history>
 ///     [jbrinkman]	5/6/2004	Created
 ///		[Jon Henning] 11/28/2005 Added iscrawler logic
 /// </history>
 protected void RenderExpandNodeIcon(HtmlTextWriter writer)
 {
     if (_Node.HasNodes)
     {
         HyperLink _link  = new HyperLink();
         Image     _image = new Image();
         if (_Node.IsExpanded || _Node.DNNTree.IsCrawler)
         {
             _link.Text = _expcol[1];
             if (_Node.DNNTree.ExpandedNodeImage.Length > 0)
             {
                 _image.ImageUrl = _Node.DNNTree.ExpandedNodeImage;
             }
         }
         else
         {
             _link.Text = _expcol[0];
             if (_Node.DNNTree.CollapsedNodeImage.Length > 0)
             {
                 _image.ImageUrl = _Node.DNNTree.CollapsedNodeImage;
             }
         }
         //If _Node.PopulateOnDemand Then	'handled in postback handler
         //	_link.NavigateUrl = ClientAPI.GetPostBackClientHyperlink(_Node.DNNTree, _Node.ID & ",OnDemand")
         //Else
         _link.NavigateUrl = ClientAPI.GetPostBackClientHyperlink(_Node.DNNTree, _Node.ID);
         //End If
         if (_image.ImageUrl.Length > 0)
         {
             _link.RenderBeginTag(writer);
             _image.RenderControl(writer);
             _link.RenderEndTag(writer);
         }
         else
         {
             _link.RenderControl(writer);
         }
         _image = null;
         _link  = null;
     }
     else
     {
         RenderSpacer(writer, _Node.DNNTree.ExpandCollapseImageWidth);
     }
     writer.Write("&nbsp;", null);
 }
Beispiel #5
0
    protected override void Render(HtmlTextWriter writer)
    {
        HyperLink hl = this.Control as HyperLink;

        if (hl == null)
        {
            base.Render(writer);
            return;
        }

        string imageUrl = hl.ImageUrl;

        if (imageUrl.Length > 0)
        {
            hl.RenderBeginTag(writer);

            Image image = new Image();
            image.ImageUrl = imageUrl;

            imageUrl = hl.ToolTip;
            if (imageUrl.Length != 0)
            {
                image.ToolTip = imageUrl;
            }

            imageUrl = hl.Text;
            if (imageUrl.Length != 0)
            {
                image.AlternateText = imageUrl;
            }

            image.RenderControl(writer);

            hl.RenderEndTag(writer);
        }
        else
        {
            base.Render(writer);
        }
    }
Beispiel #6
0
        /// <summary>
        /// Display Navigation Trail.
        /// </summary>
        /// <param name="writer"></param>
        /// <remarks></remarks>
        protected override void RenderContents(HtmlTextWriter writer)
        {
            if (writer == null)
            {
                throw new ArgumentNullException("writer", "writer cannot be a null reference (Nothing in Visual Basic)!");
            }
            // Display the tabs
            int i = 0;

            for (i = 0; i <= mNavigationTrailTab.Count - 1; i++)
            {
                NavigationTrailTab objTab = (NavigationTrailTab)mNavigationTrailTab[i];
                using (HyperLink hyperLink = new HyperLink())
                {
                    hyperLink.RenderBeginTag(writer);
                    //hyperLink.CssClass = "NavigationTrail";
                    hyperLink.Text        = objTab.Text;
                    hyperLink.NavigateUrl = objTab.Action;
                    hyperLink.ToolTip     = objTab.ToolTip;
                    hyperLink.RenderEndTag(writer);
                    hyperLink.RenderControl(writer);
                }

                if (m_Orentation == Orientation.Horizontal)
                {
                    if (i < mNavigationTrailTab.Count - 1)
                    {
                        writer.Write("&nbsp;|&nbsp;");
                    }
                }
                else
                {
                    if (i < mNavigationTrailTab.Count - 1)
                    {
                        writer.Write("<br/>");
                    }
                }
            }
        }
        protected internal virtual void RenderItem(HtmlTextWriter writer, MenuItem item, int position)
        {
            bool               flag4;
            string             str6;
            Menu               control       = this.Control;
            MenuItemStyle      menuItemStyle = control.GetMenuItemStyle(item);
            string             imageUrl      = item.ImageUrl;
            int                depth         = item.Depth;
            int                num2          = depth + 1;
            string             toolTip       = item.ToolTip;
            string             navigateUrl   = item.NavigateUrl;
            string             text          = item.Text;
            bool               isEnabled     = item.IsEnabled;
            bool               selectable    = item.Selectable;
            MenuItemCollection childItems    = item.ChildItems;
            string             staticTopSeparatorImageUrl = null;

            if ((depth < control.StaticDisplayLevels) && (control.StaticTopSeparatorImageUrl.Length != 0))
            {
                staticTopSeparatorImageUrl = control.StaticTopSeparatorImageUrl;
            }
            else if ((depth >= control.StaticDisplayLevels) && (control.DynamicTopSeparatorImageUrl.Length != 0))
            {
                staticTopSeparatorImageUrl = control.DynamicTopSeparatorImageUrl;
            }
            if (staticTopSeparatorImageUrl != null)
            {
                new Image {
                    ImageUrl = staticTopSeparatorImageUrl, GenerateEmptyAlternateText = true, Page = base.Page
                }.RenderControl(writer);
                this.RenderBreak(writer);
            }
            if (((menuItemStyle != null) && !menuItemStyle.ItemSpacing.IsEmpty) && ((this._titleItem != null) || (position != 0)))
            {
                this.RenderSpace(writer, menuItemStyle.ItemSpacing, control.Orientation);
            }
            Panel panel = new SpanPanel {
                Enabled = isEnabled,
                Page    = base.Page
            };

            if ((base.Page != null) && base.Page.SupportsStyleSheets)
            {
                string cssClassName = control.GetCssClassName(item, false);
                if (cssClassName.Trim().Length > 0)
                {
                    panel.CssClass = cssClassName;
                }
            }
            else if (menuItemStyle != null)
            {
                panel.ApplyStyle(menuItemStyle);
            }
            if (item.ToolTip.Length != 0)
            {
                panel.ToolTip = item.ToolTip;
            }
            panel.RenderBeginTag(writer);
            bool flag3 = (((position != 0) && (childItems.Count != 0)) && (num2 >= control.StaticDisplayLevels)) && (num2 < control.MaximumDepth);

            if (((position != 0) && (depth > 0)) && ((control.StaticSubMenuIndent != Unit.Pixel(0)) && (depth < control.StaticDisplayLevels)))
            {
                Image image2 = new Image {
                    ImageUrl = control.SpacerImageUrl,
                    GenerateEmptyAlternateText = true
                };
                double num3 = control.StaticSubMenuIndent.Value * depth;
                if (num3 < 32767.0)
                {
                    image2.Width = new Unit(num3, control.StaticSubMenuIndent.Type);
                }
                else
                {
                    image2.Width = new Unit(32767.0, control.StaticSubMenuIndent.Type);
                }
                image2.Height = Unit.Pixel(1);
                image2.Page   = base.Page;
                image2.RenderControl(writer);
            }
            if ((imageUrl.Length > 0) && item.NotTemplated())
            {
                Image image3 = new Image {
                    ImageUrl = imageUrl
                };
                if (toolTip.Length != 0)
                {
                    image3.AlternateText = toolTip;
                }
                else
                {
                    image3.GenerateEmptyAlternateText = true;
                }
                image3.Page = base.Page;
                image3.RenderControl(writer);
                writer.Write(' ');
            }
            if ((base.Page != null) && base.Page.SupportsStyleSheets)
            {
                str6 = control.GetCssClassName(item, true, out flag4);
            }
            else
            {
                str6  = string.Empty;
                flag4 = false;
            }
            if (isEnabled && (flag3 || selectable))
            {
                string accessKey = control.AccessKey;
                string str8      = (((position == 0) || ((position == 1) && (depth == 0))) && (accessKey.Length != 0)) ? accessKey : null;
                if ((navigateUrl.Length > 0) && !flag3)
                {
                    if (base.PageAdapter != null)
                    {
                        base.PageAdapter.RenderBeginHyperlink(writer, control.ResolveClientUrl(navigateUrl), true, System.Web.SR.GetString("Adapter_GoLabel"), (str8 != null) ? str8 : ((this._currentAccessKey < 10) ? this._currentAccessKey++.ToString(CultureInfo.InvariantCulture) : null));
                        writer.Write(HttpUtility.HtmlEncode(item.FormattedText));
                        base.PageAdapter.RenderEndHyperlink(writer);
                    }
                    else
                    {
                        HyperLink link = new HyperLink {
                            NavigateUrl = control.ResolveClientUrl(navigateUrl)
                        };
                        string target = item.Target;
                        if (string.IsNullOrEmpty(target))
                        {
                            target = control.Target;
                        }
                        if (!string.IsNullOrEmpty(target))
                        {
                            link.Target = target;
                        }
                        link.AccessKey = str8;
                        link.Page      = base.Page;
                        if (writer is Html32TextWriter)
                        {
                            link.RenderBeginTag(writer);
                            SpanPanel panel2 = new SpanPanel {
                                Page = base.Page
                            };
                            this.RenderStyle(writer, panel2, str6, menuItemStyle, flag4);
                            panel2.RenderBeginTag(writer);
                            item.RenderText(writer);
                            panel2.RenderEndTag(writer);
                            link.RenderEndTag(writer);
                        }
                        else
                        {
                            this.RenderStyle(writer, link, str6, menuItemStyle, flag4);
                            link.RenderBeginTag(writer);
                            item.RenderText(writer);
                            link.RenderEndTag(writer);
                        }
                    }
                }
                else if (base.PageAdapter != null)
                {
                    base.PageAdapter.RenderPostBackEvent(writer, control.UniqueID, (flag3 ? 'o' : 'b') + this.Escape(item.InternalValuePath), System.Web.SR.GetString("Adapter_OKLabel"), item.FormattedText, null, (str8 != null) ? str8 : ((this._currentAccessKey < 10) ? this._currentAccessKey++.ToString(CultureInfo.InvariantCulture) : null));
                    if (flag3)
                    {
                        this.RenderExpand(writer, item, control);
                    }
                }
                else
                {
                    HyperLink link2 = new HyperLink {
                        NavigateUrl = base.Page.ClientScript.GetPostBackClientHyperlink(control, (flag3 ? 'o' : 'b') + this.Escape(item.InternalValuePath), true),
                        AccessKey   = str8,
                        Page        = base.Page
                    };
                    if (writer is Html32TextWriter)
                    {
                        link2.RenderBeginTag(writer);
                        SpanPanel panel3 = new SpanPanel {
                            Page = base.Page
                        };
                        this.RenderStyle(writer, panel3, str6, menuItemStyle, flag4);
                        panel3.RenderBeginTag(writer);
                        item.RenderText(writer);
                        if (flag3)
                        {
                            this.RenderExpand(writer, item, control);
                        }
                        panel3.RenderEndTag(writer);
                        link2.RenderEndTag(writer);
                    }
                    else
                    {
                        this.RenderStyle(writer, link2, str6, menuItemStyle, flag4);
                        link2.RenderBeginTag(writer);
                        item.RenderText(writer);
                        if (flag3)
                        {
                            this.RenderExpand(writer, item, control);
                        }
                        link2.RenderEndTag(writer);
                    }
                }
            }
            else
            {
                item.RenderText(writer);
            }
            panel.RenderEndTag(writer);
            this.RenderBreak(writer);
            if ((menuItemStyle != null) && !menuItemStyle.ItemSpacing.IsEmpty)
            {
                this.RenderSpace(writer, menuItemStyle.ItemSpacing, control.Orientation);
            }
            string separatorImageUrl = null;

            if (item.SeparatorImageUrl.Length != 0)
            {
                separatorImageUrl = item.SeparatorImageUrl;
            }
            else if ((depth < control.StaticDisplayLevels) && (control.StaticBottomSeparatorImageUrl.Length != 0))
            {
                separatorImageUrl = control.StaticBottomSeparatorImageUrl;
            }
            else if ((depth >= control.StaticDisplayLevels) && (control.DynamicBottomSeparatorImageUrl.Length != 0))
            {
                separatorImageUrl = control.DynamicBottomSeparatorImageUrl;
            }
            if (separatorImageUrl != null)
            {
                new Image {
                    ImageUrl = separatorImageUrl, GenerateEmptyAlternateText = true, Page = base.Page
                }.RenderControl(writer);
                this.RenderBreak(writer);
            }
        }
        protected virtual internal void RenderItem(HtmlTextWriter writer, MenuItem item, int position)
        {
            Menu          owner       = Control;
            MenuItemStyle mergedStyle = owner.GetMenuItemStyle(item);

            string             imageUrl     = item.ImageUrl;
            int                depth        = item.Depth;
            int                depthPlusOne = depth + 1;
            string             toolTip      = item.ToolTip;
            string             navigateUrl  = item.NavigateUrl;
            string             text         = item.Text;
            bool               enabled      = item.IsEnabled;
            bool               selectable   = item.Selectable;
            MenuItemCollection childItems   = item.ChildItems;

            // Top separator
            string topSeparatorUrl = null;

            if (depth < owner.StaticDisplayLevels && owner.StaticTopSeparatorImageUrl.Length != 0)
            {
                topSeparatorUrl = owner.StaticTopSeparatorImageUrl;
            }
            else if (depth >= owner.StaticDisplayLevels && owner.DynamicTopSeparatorImageUrl.Length != 0)
            {
                topSeparatorUrl = owner.DynamicTopSeparatorImageUrl;
            }
            if (topSeparatorUrl != null)
            {
                Image separatorImage = new Image();
                separatorImage.ImageUrl = topSeparatorUrl;
                separatorImage.GenerateEmptyAlternateText = true; // XHtml compliance
                separatorImage.Page = Page;
                separatorImage.RenderControl(writer);
                RenderBreak(writer);
            }

            // Don't render the top spacing if this is the first root item
            if ((mergedStyle != null) && !mergedStyle.ItemSpacing.IsEmpty &&
                ((_titleItem != null) || (position != 0)))
            {
                RenderSpace(writer, mergedStyle.ItemSpacing, owner.Orientation);
            }

            // Item span
            Panel itemPanel = new SpanPanel();

            itemPanel.Enabled = enabled;
            itemPanel.Page    = Page;

            // Apply styles
            if (Page != null && Page.SupportsStyleSheets)
            {
                string styleClass = owner.GetCssClassName(item, false);
                if (styleClass.Trim().Length > 0)
                {
                    itemPanel.CssClass = styleClass;
                }
            }
            else if (mergedStyle != null)
            {
                itemPanel.ApplyStyle(mergedStyle);
            }

            // Tooltip
            if (item.ToolTip.Length != 0)
            {
                itemPanel.ToolTip = item.ToolTip;
            }

            // Render item begin tag
            itemPanel.RenderBeginTag(writer);

            // If there is a navigation url on this item, set up the navigation stuff if:
            // - the item is the current title item for this level
            // - the item has no children
            // - the item is a static item of depth + 1 < StaticDisplayLevels
            bool clickOpensThisNode = !((position == 0) ||
                                        (childItems.Count == 0) ||
                                        (depthPlusOne < owner.StaticDisplayLevels) ||
                                        (depthPlusOne >= owner.MaximumDepth));

            // Indent
            if (position != 0 &&
                depth > 0 &&
                owner.StaticSubMenuIndent != Unit.Pixel(0) &&
                depth < owner.StaticDisplayLevels)
            {
                Image spacerImage = new Image();
                spacerImage.ImageUrl = owner.SpacerImageUrl;
                spacerImage.GenerateEmptyAlternateText = true; // XHtml compliance
                double indent = owner.StaticSubMenuIndent.Value * depth;
                if (indent < Unit.MaxValue)
                {
                    spacerImage.Width = new Unit(indent, owner.StaticSubMenuIndent.Type);
                }
                else
                {
                    spacerImage.Width = new Unit(Unit.MaxValue, owner.StaticSubMenuIndent.Type);;
                }
                spacerImage.Height = Unit.Pixel(1);
                spacerImage.Page   = Page;
                spacerImage.RenderControl(writer);
            }

            // Render out the item icon, if it is set and if the item is not templated (VSWhidbey 501618)
            if (imageUrl.Length > 0 && item.NotTemplated())
            {
                Image newImage = new Image();
                newImage.ImageUrl = imageUrl;
                if (toolTip.Length != 0)
                {
                    newImage.AlternateText = toolTip;
                }
                else
                {
                    newImage.GenerateEmptyAlternateText = true; // XHtml compliance
                }
                newImage.Page = Page;
                newImage.RenderControl(writer);
                writer.Write(' ');
            }

            bool   applyInlineBorder;
            string linkClass;

            if (Page != null && Page.SupportsStyleSheets)
            {
                linkClass = owner.GetCssClassName(item, true, out applyInlineBorder);
            }
            else
            {
                linkClass         = String.Empty;
                applyInlineBorder = false;
            }
            if (enabled && (clickOpensThisNode || selectable))
            {
                string accessKey     = owner.AccessKey;
                string itemAccessKey = ((position == 0 || (position == 1 && depth == 0)) && accessKey.Length != 0) ?
                                       accessKey :
                                       null;
                if (navigateUrl.Length > 0 && !clickOpensThisNode)
                {
                    if (PageAdapter != null)
                    {
                        PageAdapter.RenderBeginHyperlink(writer,
                                                         owner.ResolveClientUrl(navigateUrl),
                                                         true,
                                                         SR.GetString(SR.Adapter_GoLabel),
                                                         itemAccessKey != null ?
                                                         itemAccessKey :
                                                         (_currentAccessKey < 10 ?
                                                          (_currentAccessKey++).ToString(CultureInfo.InvariantCulture) :
                                                          null));
                        writer.Write(HttpUtility.HtmlEncode(item.FormattedText));
                        PageAdapter.RenderEndHyperlink(writer);
                    }
                    else
                    {
                        HyperLink link = new HyperLink();
                        link.NavigateUrl = owner.ResolveClientUrl(navigateUrl);
                        string target = item.Target;
                        if (String.IsNullOrEmpty(target))
                        {
                            target = owner.Target;
                        }
                        if (!String.IsNullOrEmpty(target))
                        {
                            link.Target = target;
                        }
                        link.AccessKey = itemAccessKey;
                        link.Page      = Page;
                        if (writer is Html32TextWriter)
                        {
                            link.RenderBeginTag(writer);
                            SpanPanel lbl = new SpanPanel();
                            lbl.Page = Page;
                            RenderStyle(writer, lbl, linkClass, mergedStyle, applyInlineBorder);
                            lbl.RenderBeginTag(writer);
                            item.RenderText(writer);
                            lbl.RenderEndTag(writer);
                            link.RenderEndTag(writer);
                        }
                        else
                        {
                            RenderStyle(writer, link, linkClass, mergedStyle, applyInlineBorder);
                            link.RenderBeginTag(writer);
                            item.RenderText(writer);
                            link.RenderEndTag(writer);
                        }
                    }
                }
                // Otherwise, write out a postback that will open or select the item
                else
                {
                    if (PageAdapter != null)
                    {
                        PageAdapter.RenderPostBackEvent(writer,
                                                        owner.UniqueID,
                                                        (clickOpensThisNode ? 'o' : 'b') +
                                                        Escape(item.InternalValuePath),
                                                        SR.GetString(SR.Adapter_OKLabel),
                                                        item.FormattedText,
                                                        null,
                                                        itemAccessKey != null ?
                                                        itemAccessKey :
                                                        (_currentAccessKey < 10 ?
                                                         (_currentAccessKey++).ToString(CultureInfo.InvariantCulture) :
                                                         null));

                        // Expand image
                        if (clickOpensThisNode)
                        {
                            RenderExpand(writer, item, owner);
                        }
                    }
                    else
                    {
                        HyperLink link = new HyperLink();
                        link.NavigateUrl = Page.ClientScript.GetPostBackClientHyperlink(owner,
                                                                                        (clickOpensThisNode ? 'o' : 'b') + Escape(item.InternalValuePath), true);
                        link.AccessKey = itemAccessKey;
                        link.Page      = Page;
                        if (writer is Html32TextWriter)
                        {
                            link.RenderBeginTag(writer);
                            SpanPanel lbl = new SpanPanel();
                            lbl.Page = Page;
                            RenderStyle(writer, lbl, linkClass, mergedStyle, applyInlineBorder);
                            lbl.RenderBeginTag(writer);
                            item.RenderText(writer);
                            if (clickOpensThisNode)
                            {
                                RenderExpand(writer, item, owner);
                            }
                            lbl.RenderEndTag(writer);
                            link.RenderEndTag(writer);
                        }
                        else
                        {
                            RenderStyle(writer, link, linkClass, mergedStyle, applyInlineBorder);
                            link.RenderBeginTag(writer);
                            item.RenderText(writer);
                            if (clickOpensThisNode)
                            {
                                RenderExpand(writer, item, owner);
                            }
                            link.RenderEndTag(writer);
                        }
                    }
                }
            }
            else
            {
                item.RenderText(writer);
            }
            itemPanel.RenderEndTag(writer);

            // Bottom (or right) item spacing
            RenderBreak(writer);
            if ((mergedStyle != null) && !mergedStyle.ItemSpacing.IsEmpty)
            {
                RenderSpace(writer, mergedStyle.ItemSpacing, owner.Orientation);
            }

            // Bottom separator
            string bottomSeparatorUrl = null;

            if (item.SeparatorImageUrl.Length != 0)
            {
                bottomSeparatorUrl = item.SeparatorImageUrl;
            }
            else if ((depth < owner.StaticDisplayLevels) && (owner.StaticBottomSeparatorImageUrl.Length != 0))
            {
                bottomSeparatorUrl = owner.StaticBottomSeparatorImageUrl;
            }
            else if ((depth >= owner.StaticDisplayLevels) && (owner.DynamicBottomSeparatorImageUrl.Length != 0))
            {
                bottomSeparatorUrl = owner.DynamicBottomSeparatorImageUrl;
            }
            if (bottomSeparatorUrl != null)
            {
                Image separatorImage = new Image();
                separatorImage.ImageUrl = bottomSeparatorUrl;
                separatorImage.GenerateEmptyAlternateText = true; // XHtml compliance
                separatorImage.Page = Page;
                separatorImage.RenderControl(writer);
                RenderBreak(writer);
            }
        }
Beispiel #9
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="writer"></param>
        /// <author>
        /// Created by Iulian Iuga; 30 December, 2002
        /// </author>
        protected void RenderContents(HtmlTextWriter writer)
        {
            TableRow  _tr = new TableRow();
            TableCell _td = new TableCell();

            _tr.RenderBeginTag(writer);

            // apply CssClass for current element
            if (_element.TreeWeb.DefaultElementCssClass.Length > 0)
            {
                _td.CssClass = _element.TreeWeb.DefaultElementCssClass;
            }
            if (_element.CssClass.Length > 0)
            {
                _td.CssClass = _element.CssClass;
            }

            //_td.Style.Add( "display", "none" );
            _td.Attributes.Add("nowrap", "yes");
            _td.RenderBeginTag(writer);

            // render a &nbsp; at the begining of each element
            writer.Write("&nbsp;");

            // render element indentation based on element level
            string _indentation        = "";
            int    nIndentationPerStep = _element.TreeWeb.Indentation;

            for (int index = 0; index < (_element.Level * nIndentationPerStep); index++)
            {
                _indentation += _indentationStep;
            }
            writer.Write(_indentation);

            // render the expand/collapse link if the element has child elements and is expandable.
            if (_element.HasElements)
            {
                HyperLink _link  = new HyperLink();
                Image     _image = new Image();

                if (_element.TreeWeb.Expandable && _element.Expandable)
                {
                    if (_element.IsExpanded)
                    {
                        _link.Text = _expcol[1];
                        if (_element.TreeWeb.ExpandedElementImage.Length > 0)
                        {
                            _image.ImageUrl = _element.TreeWeb.ExpandedElementImage;
                        }
                    }
                    else
                    {
                        _link.Text = _expcol[0];
                        if (_element.TreeWeb.CollapsedElementImage.Length > 0)
                        {
                            _image.ImageUrl = _element.TreeWeb.CollapsedElementImage;
                        }
                    }
                }

                string scriptCode = "javascript:";
                scriptCode       += _element.TreeWeb.Page.GetPostBackEventReference(_element.TreeWeb, _element.ID);
                _link.NavigateUrl = scriptCode;

                if (_image.ImageUrl.Length > 0)
                {
                    _link.RenderBeginTag(writer);
                    _image.RenderControl(writer);
                    _link.RenderEndTag(writer);
                }
                else
                {
                    _link.RenderControl(writer);
                }

                _image = null;
                _link  = null;
                writer.Write("&nbsp;");
            }

            // render checkbox
            if (_element.TreeWeb.CheckBoxes || _element.CheckBox)
            {
                CheckBox _checkbox = new CheckBox();

                _checkbox.ID = _element.ID + TreeElement._separator + TreeElement._checkboxIDSufix;
                _checkbox.RenderControl(writer);

                _checkbox = null;

                // write a non-breaking space before the element text
                writer.Write("&nbsp;");
            }

            // render element's image if it has one
            if (_element.ImageIndex > -1)
            {
                ElementImage _elementImage = _element.TreeWeb.ImageList[_element.ImageIndex];
                if (_elementImage != null)
                {
                    Image _image = new Image();

                    _image.ImageUrl = _elementImage.ImageUrl;
                    _image.RenderControl(writer);

                    _image = null;

                    // write a non-breaking space before the element text
                    writer.Write("&nbsp;");
                }
            }

            // render element text as a link if NavigateUrl is present or otherwise as normal text
            if (_element.NavigateUrl.Length > 0)
            {
                HyperLink _linkNavigateUrl = new HyperLink();

                _linkNavigateUrl.Text        = _element.Text;
                _linkNavigateUrl.NavigateUrl = _element.NavigateUrl;
                if (_element.TreeWeb.Target.Length > 0)
                {
                    _linkNavigateUrl.Target = _element.TreeWeb.Target;
                }
                if (_element.Target.Length > 0)
                {
                    _linkNavigateUrl.Target = _element.Target;
                }
                if (_element.ToolTip.Length > 0)
                {
                    _linkNavigateUrl.ToolTip = _element.ToolTip;
                }
                _linkNavigateUrl.RenderControl(writer);

                _linkNavigateUrl = null;
            }
            else
            {
                Label _label = new Label();

                _label.Text = _element.Text;
                if (_element.ToolTip.Length > 0)
                {
                    _label.ToolTip = _element.ToolTip;
                }
                _label.RenderControl(writer);

                _label = null;
            }

            _td.RenderEndTag(writer);
            _tr.RenderEndTag(writer);
        }