protected override void RenderHeader(HtmlTextWriter writer)
        {
            writer.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "0");
            writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "2");
            writer.AddAttribute(HtmlTextWriterAttribute.Border, "0");
            writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "100%");
            TitleStyle headerStyle = base.HeaderStyle;

            if (!headerStyle.IsEmpty)
            {
                Style style2 = new Style();
                if (!headerStyle.ForeColor.IsEmpty)
                {
                    style2.ForeColor = headerStyle.ForeColor;
                }
                style2.Font.CopyFrom(headerStyle.Font);
                if (!headerStyle.Font.Size.IsEmpty)
                {
                    style2.Font.Size = new FontUnit(new Unit(100.0, UnitType.Percentage));
                }
                if (!style2.IsEmpty)
                {
                    style2.AddAttributesToRender(writer, this);
                }
            }
            writer.RenderBeginTag(HtmlTextWriterTag.Table);
            writer.RenderBeginTag(HtmlTextWriterTag.Tr);
            HorizontalAlign horizontalAlign = headerStyle.HorizontalAlign;

            if (horizontalAlign != HorizontalAlign.NotSet)
            {
                TypeConverter converter = TypeDescriptor.GetConverter(typeof(HorizontalAlign));
                writer.AddAttribute(HtmlTextWriterAttribute.Align, converter.ConvertToString(horizontalAlign));
            }
            writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "100%");
            writer.AddStyleAttribute(HtmlTextWriterStyle.WhiteSpace, "nowrap");
            writer.RenderBeginTag(HtmlTextWriterTag.Td);
            writer.Write(this.HeaderText);
            writer.RenderEndTag();
            WebPartVerb headerCloseVerb = this.HeaderCloseVerb;

            if (headerCloseVerb.Visible)
            {
                writer.AddStyleAttribute(HtmlTextWriterStyle.WhiteSpace, "nowrap");
                writer.RenderBeginTag(HtmlTextWriterTag.Td);
                ZoneLinkButton button = new ZoneLinkButton(this, headerCloseVerb.EventArgument)
                {
                    Text     = headerCloseVerb.Text,
                    ImageUrl = headerCloseVerb.ImageUrl,
                    ToolTip  = headerCloseVerb.Description,
                    Enabled  = headerCloseVerb.Enabled,
                    Page     = this.Page
                };
                button.ApplyStyle(this.HeaderVerbStyle);
                button.RenderControl(writer);
                writer.RenderEndTag();
            }
            writer.RenderEndTag();
            writer.RenderEndTag();
        }
        protected virtual void RenderVerb(HtmlTextWriter writer, WebPartVerb verb)
        {
            WebControl control;
            string     eventArgument = verb.EventArgument;

            if (this.VerbButtonType == ButtonType.Button)
            {
                ZoneButton button = new ZoneButton(this, eventArgument)
                {
                    Text = verb.Text
                };
                control = button;
            }
            else
            {
                ZoneLinkButton button2 = new ZoneLinkButton(this, eventArgument)
                {
                    Text = verb.Text
                };
                if (this.VerbButtonType == ButtonType.Image)
                {
                    button2.ImageUrl = verb.ImageUrl;
                }
                control = button2;
            }
            control.ApplyStyle(base.VerbStyle);
            control.ToolTip = verb.Description;
            control.Enabled = verb.Enabled;
            control.Page    = this.Page;
            control.RenderControl(writer);
        }
Example #3
0
        protected virtual void RenderVerb(HtmlTextWriter writer, WebPartVerb verb)
        {
            string     eventArgument = verb.EventArgument;
            WebControl verbControl;

            if (VerbButtonType == ButtonType.Button)
            {
                ZoneButton button = new ZoneButton(this, eventArgument);
                button.Text = verb.Text;
                verbControl = button;
            }
            else
            {
                ZoneLinkButton linkButton = new ZoneLinkButton(this, eventArgument);
                linkButton.Text = verb.Text;
                if (VerbButtonType == ButtonType.Image)
                {
                    linkButton.ImageUrl = verb.ImageUrl;
                }
                verbControl = linkButton;
            }

            verbControl.ApplyStyle(VerbStyle);
            verbControl.ToolTip = verb.Description;
            verbControl.Enabled = verb.Enabled;
            verbControl.Page    = Page;
            verbControl.RenderControl(writer);
        }
Example #4
0
        private bool VerbRenderedAsLinkButton(WebPartVerb verb)
        {
            if (Zone.TitleBarVerbButtonType == ButtonType.Link)
            {
                return(true);
            }

            if (String.IsNullOrEmpty(verb.ImageUrl))
            {
                return(true);
            }

            return(false);
        }
Example #5
0
        protected override void OnCreateVerbs(System.Web.UI.WebControls.WebParts.WebPartVerbsEventArgs e)
        {
            System.Web.UI.WebControls.WebParts.WebPartVerb verbRefresh = new System.Web.UI.WebControls.WebParts.WebPartVerb("RefreshVerb", "refresh_snippet(this);return false;");

            verbRefresh.Text = "Refresh";


            verbRefresh.ImageUrl = "~/Images/dash-refresh-icon.png";

            WebPartVerb[] newVerbs = new WebPartVerb[] { verbRefresh };

            e.Verbs = new WebPartVerbCollection(e.Verbs, newVerbs);
            base.OnCreateVerbs(e);
        }
Example #6
0
 private bool ShouldRenderVerb(WebPartVerb verb, WebPart webPart)
 {
     if (verb == null)
     {
         return(false);
     }
     if (!verb.Visible)
     {
         return(false);
     }
     if ((verb == this.Zone.CloseVerb) && ((!this._personalizationEnabled || !webPart.AllowClose) || !this.Zone.AllowLayoutChange))
     {
         return(false);
     }
     if ((verb == this.Zone.ConnectVerb) && (this.WebPartManager != null))
     {
         if (((this.WebPartManager.DisplayMode != System.Web.UI.WebControls.WebParts.WebPartManager.ConnectDisplayMode) || (webPart == this.WebPartManager.SelectedWebPart)) || !webPart.AllowConnect)
         {
             return(false);
         }
         ConsumerConnectionPointCollection enabledConsumerConnectionPoints = this.WebPartManager.GetEnabledConsumerConnectionPoints(webPart);
         ProviderConnectionPointCollection enabledProviderConnectionPoints = this.WebPartManager.GetEnabledProviderConnectionPoints(webPart);
         if (((enabledConsumerConnectionPoints == null) || (enabledConsumerConnectionPoints.Count == 0)) && ((enabledProviderConnectionPoints == null) || (enabledProviderConnectionPoints.Count == 0)))
         {
             return(false);
         }
     }
     if ((verb == this.Zone.DeleteVerb) && ((((!this._personalizationEnabled || !this.Zone.AllowLayoutChange) || webPart.IsStatic) || (webPart.IsShared && (this._personalizationScope == PersonalizationScope.User))) || ((this.WebPartManager != null) && !this.WebPartManager.DisplayMode.AllowPageDesign)))
     {
         return(false);
     }
     if (((verb == this.Zone.EditVerb) && (this.WebPartManager != null)) && ((this.WebPartManager.DisplayMode != System.Web.UI.WebControls.WebParts.WebPartManager.EditDisplayMode) || (webPart == this.WebPartManager.SelectedWebPart)))
     {
         return(false);
     }
     if ((verb == this.Zone.HelpVerb) && string.IsNullOrEmpty(webPart.HelpUrl))
     {
         return(false);
     }
     if ((verb == this.Zone.MinimizeVerb) && ((!this._personalizationEnabled || (webPart.ChromeState == PartChromeState.Minimized)) || (!webPart.AllowMinimize || !this.Zone.AllowLayoutChange)))
     {
         return(false);
     }
     if ((verb == this.Zone.RestoreVerb) && ((!this._personalizationEnabled || (webPart.ChromeState == PartChromeState.Normal)) || !this.Zone.AllowLayoutChange))
     {
         return(false);
     }
     return((verb != this.Zone.ExportVerb) || (this._personalizationEnabled && (webPart.ExportMode != WebPartExportMode.None)));
 }
        private void Initialize(WebPartVerbCollection existingVerbs, ICollection verbs)
        {
            int count = ((existingVerbs != null) ? existingVerbs.Count : 0) + ((verbs != null) ? verbs.Count : 0);

            _ids = new HybridDictionary(count, /* caseInsensitive */ true);

            if (existingVerbs != null)
            {
                foreach (WebPartVerb existingVerb in existingVerbs)
                {
                    // Don't need to check arg, since we know it is valid since it came
                    // from a CatalogPartCollection.
                    if (_ids.Contains(existingVerb.ID))
                    {
                        throw new ArgumentException(SR.GetString(SR.WebPart_Collection_DuplicateID, "WebPartVerb", existingVerb.ID), "existingVerbs");
                    }
                    _ids.Add(existingVerb.ID, existingVerb);

                    InnerList.Add(existingVerb);
                }
            }

            if (verbs != null)
            {
                foreach (object obj in verbs)
                {
                    if (obj == null)
                    {
                        throw new ArgumentException(SR.GetString(SR.Collection_CantAddNull), "verbs");
                    }
                    WebPartVerb webPartVerb = obj as WebPartVerb;
                    if (webPartVerb == null)
                    {
                        throw new ArgumentException(SR.GetString(SR.Collection_InvalidType, "WebPartVerb"), "verbs");
                    }

                    if (_ids.Contains(webPartVerb.ID))
                    {
                        throw new ArgumentException(SR.GetString(SR.WebPart_Collection_DuplicateID, "WebPartVerb", webPartVerb.ID), "verbs");
                    }
                    _ids.Add(webPartVerb.ID, webPartVerb);

                    InnerList.Add(webPartVerb);
                }
            }
        }
Example #8
0
        private void RenderVerbs(HtmlTextWriter writer, WebPart webPart, WebPartVerbCollection verbs)
        {
            if (verbs == null)
            {
                throw new ArgumentNullException("verbs");
            }
            WebPartVerb verb = null;

            foreach (WebPartVerb verb2 in verbs)
            {
                if ((verb != null) && (this.VerbRenderedAsLinkButton(verb2) || this.VerbRenderedAsLinkButton(verb)))
                {
                    writer.Write(" ");
                }
                this.RenderVerb(writer, webPart, verb2);
                verb = verb2;
            }
        }
Example #9
0
        private void Initialize(WebPartVerbCollection existingVerbs, ICollection verbs)
        {
            int initialSize = ((existingVerbs != null) ? existingVerbs.Count : 0) + ((verbs != null) ? verbs.Count : 0);

            this._ids = new HybridDictionary(initialSize, true);
            if (existingVerbs != null)
            {
                foreach (WebPartVerb verb in existingVerbs)
                {
                    if (this._ids.Contains(verb.ID))
                    {
                        throw new ArgumentException(System.Web.SR.GetString("WebPart_Collection_DuplicateID", new object[] { "WebPartVerb", verb.ID }), "existingVerbs");
                    }
                    this._ids.Add(verb.ID, verb);
                    base.InnerList.Add(verb);
                }
            }
            if (verbs != null)
            {
                foreach (object obj2 in verbs)
                {
                    if (obj2 == null)
                    {
                        throw new ArgumentException(System.Web.SR.GetString("Collection_CantAddNull"), "verbs");
                    }
                    WebPartVerb verb2 = obj2 as WebPartVerb;
                    if (verb2 == null)
                    {
                        throw new ArgumentException(System.Web.SR.GetString("Collection_InvalidType", new object[] { "WebPartVerb" }), "verbs");
                    }
                    if (this._ids.Contains(verb2.ID))
                    {
                        throw new ArgumentException(System.Web.SR.GetString("WebPart_Collection_DuplicateID", new object[] { "WebPartVerb", verb2.ID }), "verbs");
                    }
                    this._ids.Add(verb2.ID, verb2);
                    base.InnerList.Add(verb2);
                }
            }
        }
Example #10
0
        private void RenderVerbs(HtmlTextWriter writer, WebPart webPart, WebPartVerbCollection verbs)
        {
            if (verbs == null)
            {
                throw new ArgumentNullException("verbs");
            }

            WebPartVerb priorVerb = null;

            foreach (WebPartVerb verb in verbs)
            {
                // If you are rendering as a linkbutton, OR the prior verb rendered as a linkbutton,
                // render an " " prior to yourself.  This ensures that all linkbuttons are preceeded
                // and followed by a space.
                if (priorVerb != null && (VerbRenderedAsLinkButton(verb) || VerbRenderedAsLinkButton(priorVerb)))
                {
                    writer.Write(" ");
                }
                RenderVerb(writer, webPart, verb);
                priorVerb = verb;
            }
        }
 private bool VerbRenderedAsLinkButton(WebPartVerb verb)
 {
     return ((this.Zone.TitleBarVerbButtonType == ButtonType.Link) || string.IsNullOrEmpty(verb.ImageUrl));
 }
Example #12
0
        private void RenderVerb(HtmlTextWriter writer, WebPart webPart, WebPartVerb verb)
        {
            WebControl control;
            bool       flag = this.Zone.IsEnabled && verb.Enabled;
            ButtonType titleBarVerbButtonType = this.Zone.TitleBarVerbButtonType;

            if (verb != this.Zone.HelpVerb)
            {
                if (verb == this.Zone.ExportVerb)
                {
                    string exportUrl = this._manager.GetExportUrl(webPart);
                    if (titleBarVerbButtonType == ButtonType.Button)
                    {
                        ZoneButton button2 = new ZoneButton(this.Zone, string.Empty)
                        {
                            Text = verb.Text
                        };
                        if (flag)
                        {
                            if ((webPart.ExportMode == WebPartExportMode.All) && (this._personalizationScope == PersonalizationScope.User))
                            {
                                if (this.Zone.RenderClientScript)
                                {
                                    button2.OnClientClick = "__wpm.ExportWebPart('" + Util.QuoteJScriptString(exportUrl) + "', true, false);return false;";
                                }
                                else
                                {
                                    button2.OnClientClick = "if(__wpmExportWarning.length == 0 || confirm(__wpmExportWarning)){window.location='" + Util.QuoteJScriptString(exportUrl) + "';}return false;";
                                }
                            }
                            else
                            {
                                button2.OnClientClick = "window.location='" + Util.QuoteJScriptString(exportUrl) + "';return false;";
                            }
                        }
                        control = button2;
                    }
                    else
                    {
                        HyperLink link2 = new HyperLink {
                            Text = verb.Text
                        };
                        if (titleBarVerbButtonType == ButtonType.Image)
                        {
                            link2.ImageUrl = verb.ImageUrl;
                        }
                        link2.NavigateUrl = exportUrl;
                        if (webPart.ExportMode == WebPartExportMode.All)
                        {
                            if (this.Zone.RenderClientScript)
                            {
                                link2.Attributes.Add("onclick", "return __wpm.ExportWebPart('', true, true)");
                            }
                            else
                            {
                                string str3 = "return (__wpmExportWarning.length == 0 || confirm(__wpmExportWarning))";
                                link2.Attributes.Add("onclick", str3);
                            }
                        }
                        control = link2;
                    }
                }
                else
                {
                    string eventArgument      = verb.GetEventArgument(webPart.ID);
                    string clientClickHandler = verb.ClientClickHandler;
                    if (titleBarVerbButtonType == ButtonType.Button)
                    {
                        ZoneButton button3 = new ZoneButton(this.Zone, eventArgument)
                        {
                            Text = verb.Text
                        };
                        if (!string.IsNullOrEmpty(clientClickHandler) && flag)
                        {
                            button3.OnClientClick = clientClickHandler;
                        }
                        control = button3;
                    }
                    else
                    {
                        ZoneLinkButton button4 = new ZoneLinkButton(this.Zone, eventArgument)
                        {
                            Text = verb.Text
                        };
                        if (titleBarVerbButtonType == ButtonType.Image)
                        {
                            button4.ImageUrl = verb.ImageUrl;
                        }
                        if (!string.IsNullOrEmpty(clientClickHandler) && flag)
                        {
                            button4.OnClientClick = clientClickHandler;
                        }
                        control = button4;
                    }
                    if ((this._manager != null) && flag)
                    {
                        if (verb == this.Zone.CloseVerb)
                        {
                            ProviderConnectionPointCollection providerConnectionPoints = this._manager.GetProviderConnectionPoints(webPart);
                            if (((providerConnectionPoints != null) && (providerConnectionPoints.Count > 0)) && this.Connections.ContainsProvider(webPart))
                            {
                                string str6 = "if (__wpmCloseProviderWarning.length >= 0 && !confirm(__wpmCloseProviderWarning)) { return false; }";
                                control.Attributes.Add("onclick", str6);
                            }
                        }
                        else if (verb == this.Zone.DeleteVerb)
                        {
                            string str7 = "if (__wpmDeleteWarning.length >= 0 && !confirm(__wpmDeleteWarning)) { return false; }";
                            control.Attributes.Add("onclick", str7);
                        }
                    }
                }
                goto Label_040C;
            }
            string str = this.Zone.ResolveClientUrl(webPart.HelpUrl);

            if (titleBarVerbButtonType == ButtonType.Button)
            {
                ZoneButton button = new ZoneButton(this.Zone, null);
                if (flag)
                {
                    if (this.Zone.RenderClientScript)
                    {
                        button.OnClientClick = "__wpm.ShowHelp('" + Util.QuoteJScriptString(str) + "', " + ((int)webPart.HelpMode).ToString(CultureInfo.InvariantCulture) + ");return;";
                    }
                    else if (webPart.HelpMode != WebPartHelpMode.Navigate)
                    {
                        button.OnClientClick = "window.open('" + Util.QuoteJScriptString(str) + "', '_blank', 'scrollbars=yes,resizable=yes,status=no,toolbar=no,menubar=no,location=no');return;";
                    }
                    else
                    {
                        button.OnClientClick = "window.location.href='" + Util.QuoteJScriptString(str) + "';return;";
                    }
                }
                button.Text = verb.Text;
                control     = button;
                goto Label_040C;
            }
            HyperLink link = new HyperLink();

            switch (webPart.HelpMode)
            {
            case WebPartHelpMode.Modal:
                if (!this.Zone.RenderClientScript)
                {
                    break;
                }
                link.NavigateUrl = "javascript:__wpm.ShowHelp('" + Util.QuoteJScriptString(str) + "', 0)";
                goto Label_0187;

            case WebPartHelpMode.Modeless:
                break;

            case WebPartHelpMode.Navigate:
                link.NavigateUrl = str;
                goto Label_0187;

            default:
                goto Label_0187;
            }
            link.NavigateUrl = str;
            link.Target      = "_blank";
Label_0187:
            link.Text = verb.Text;
            if (titleBarVerbButtonType == ButtonType.Image)
            {
                link.ImageUrl = verb.ImageUrl;
            }
            control = link;
Label_040C:
            control.ApplyStyle(this.Zone.TitleBarVerbStyle);
            control.ToolTip = string.Format(CultureInfo.CurrentCulture, verb.Description, new object[] { webPart.DisplayTitle });
            control.Enabled = verb.Enabled;
            control.Page    = this._page;
            control.RenderControl(writer);
        }
 public int IndexOf(WebPartVerb value)
 {
   return default(int);
 }
 public bool Contains(WebPartVerb value) {
     return InnerList.Contains(value);
 }
Example #15
0
        protected virtual void RenderVerb(HtmlTextWriter writer, WebPartVerb verb) {
            string eventArgument = verb.EventArgument;
            WebControl verbControl;
            if (VerbButtonType == ButtonType.Button) {
                ZoneButton button = new ZoneButton(this, eventArgument);
                button.Text = verb.Text;
                verbControl = button;
            } else {
                ZoneLinkButton linkButton = new ZoneLinkButton(this, eventArgument);
                linkButton.Text = verb.Text;
                if (VerbButtonType == ButtonType.Image) {
                    linkButton.ImageUrl = verb.ImageUrl;
                }
                verbControl = linkButton;
            }

            verbControl.ApplyStyle(VerbStyle);
            verbControl.ToolTip = verb.Description;
            verbControl.Enabled = verb.Enabled;
            verbControl.Page = Page;
            verbControl.RenderControl(writer);
        }
        public int IndexOf(WebPartVerb value)
        {
            Contract.Ensures(Contract.Result <int>() >= -1);

            return(default(int));
        }
    public int IndexOf (WebPartVerb value)
    {
      Contract.Ensures (Contract.Result<int>() >= -1);

      return default(int);
    }
 public int IndexOf(WebPartVerb value) {
     return InnerList.IndexOf(value);
 }
Example #19
0
        /// <summary>
        /// Handles default and custom verbs ids. If a custom verb is used, fw renders its id with 'partVerb:' prefix.
        /// </summary>
        /// <param name="verb">Verb object</param>
        /// <returns>the verb id: part of the clientscript</returns>
        private string GetVerbId(WebPartVerb verb)
        {
            var verbTypeName = verb.GetType().Name;
            switch (verbTypeName)
            {
                case "WebPartEditVerb":
                    return "Edit";
                case "WebPartDeleteVerb":
                    return "Delete";
                default:
                    return String.Concat("partVerb:", verb.ID);
            }

        }
Example #20
0
 /// <summary>
 /// Return true, if the verb is not allowed. It's an inner logic, Later, we can change this.
 /// Actually, we don't support the following webpart verbs: minimize, close, help, restore, connect, export
 /// </summary>
 /// <param name="verb1">Verb instance</param>
 /// <returns>true if verb is permited, otherwise false</returns>
 private bool IsRestricted(WebPartVerb verb1)
 {
     var typeName = verb1.GetType().Name;
     return (typeName == "WebPartMinimizeVerb") ||
            (typeName == "WebPartCloseVerb") ||
            (typeName == "WebPartHelpVerb") ||
            (typeName == "WebPartRestoreVerb") ||
            (typeName == "WebPartConnectVerb") ||
            (typeName == "WebPartExportVerb");
 }
Example #21
0
        protected virtual void RenderVerbTag(HtmlTextWriter writer, WebPart webPart, WebPartVerb verb1, string linkClass)
        {
            var onclickscript = Zone.Page.ClientScript.GetPostBackEventReference(Zone, string.Format("{0}:{1}", GetVerbId(verb1), webPart.ID));
            //var onclickscript = String.Format("__doPostBack('{0}','{2}:{1}');", Zone.UniqueID.Replace("_", "$"), webPart.ID, GetVerbId(verb1));
            writer.AddAttribute(HtmlTextWriterAttribute.Href, "javascript:;");
            writer.AddAttribute(HtmlTextWriterAttribute.Class, linkClass);
            writer.AddAttribute(HtmlTextWriterAttribute.Title, GetLocalizedVerbText(verb1.Text));

            writer.AddAttribute(HtmlTextWriterAttribute.Onclick, onclickscript);
            writer.RenderBeginTag(HtmlTextWriterTag.A);

            if (String.IsNullOrEmpty(verb1.ImageUrl))
            {
                //writer.AddAttribute(HtmlTextWriterAttribute.Class, "sn-hide");
                //writer.RenderBeginTag(HtmlTextWriterTag.Span);
                writer.Write(verb1.Text);
                //writer.RenderEndTag();
            }
            else
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Src, verb1.ImageUrl);
                writer.RenderBeginTag(HtmlTextWriterTag.Img);
                writer.RenderEndTag();
            }

            writer.RenderEndTag();
        }
Example #22
0
        protected virtual void RenderVerb(HtmlTextWriter writer, WebPart webPart, WebPartVerb verb1)
        {
            if (IsRestricted(verb1))
                return;

            var verbTypeName = verb1.GetType().Name;
            var isEditVerb = verbTypeName.Equals("WebPartEditVerb");
            var isDeleteVerb = verbTypeName.Equals("WebPartDeleteVerb");
            var currentDisplayMode = this.WebPartManager.DisplayMode;

            if (currentDisplayMode != WebPartManager.EditDisplayMode &&
                isEditVerb)
                return;

            if (currentDisplayMode != WebPartManager.EditDisplayMode &&
                currentDisplayMode == WebPartManager.BrowseDisplayMode &&
                isDeleteVerb)
                return;

            var linkClass = "sn-verb ui-corner-all";

            if (isEditVerb)
                linkClass = String.Concat(linkClass, " ", "sn-verb-editportlet");

            if (isDeleteVerb)
                linkClass = String.Concat(linkClass, " ", "sn-verb-delete");
            else
                linkClass = String.Concat(linkClass, " sn-verb-", verb1.ID.ToLower());

            if (isDeleteVerb && webPart.IsStatic)
                return;

            //a href="#" class="sn-verb sn-verb-editportlet">Edit portlet</a>
            //<a href="#" class="sn-verb sn-verb-delete sn-verb-disabled">Delete</a>

            RenderVerbTag(writer, webPart, verb1, linkClass);


        }
Example #23
0
        protected override void RenderHeader(HtmlTextWriter writer)
        {
            // Render title bar
            writer.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "0");
            writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "2");
            writer.AddAttribute(HtmlTextWriterAttribute.Border, "0");
            writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "100%");

            TitleStyle headerStyle = HeaderStyle;

            if (!headerStyle.IsEmpty)
            {
                // Apply font and forecolor from HeaderStyle to inner table
                Style style = new Style();
                if (!headerStyle.ForeColor.IsEmpty)
                {
                    style.ForeColor = headerStyle.ForeColor;
                }
                style.Font.CopyFrom(headerStyle.Font);
                if (!headerStyle.Font.Size.IsEmpty)
                {
                    // If the font size is specified on the HeaderStyle, force the font size to 100%,
                    // so it inherits the font size from its parent in IE compatibility mode. I would
                    // think that "1em" would work here as well, but "1em" doesn't work when you change
                    // the font size in the browser.
                    style.Font.Size = new FontUnit(new Unit(100, UnitType.Percentage));
                }
                if (!style.IsEmpty)
                {
                    style.AddAttributesToRender(writer, this);
                }
            }

            writer.RenderBeginTag(HtmlTextWriterTag.Table);

            writer.RenderBeginTag(HtmlTextWriterTag.Tr);

            // Copied from Panel.cs
            //
            HorizontalAlign hAlign = headerStyle.HorizontalAlign;

            if (hAlign != HorizontalAlign.NotSet)
            {
                TypeConverter hac = TypeDescriptor.GetConverter(typeof(HorizontalAlign));
                writer.AddAttribute(HtmlTextWriterAttribute.Align, hac.ConvertToString(hAlign));
            }

            writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "100%");
            writer.AddStyleAttribute(HtmlTextWriterStyle.WhiteSpace, "nowrap");
            writer.RenderBeginTag(HtmlTextWriterTag.Td);
            writer.Write(HeaderText);
            writer.RenderEndTag();  // Td

            WebPartVerb headerCloseVerb = HeaderCloseVerb;

            if (headerCloseVerb.Visible)
            {
                writer.AddStyleAttribute(HtmlTextWriterStyle.WhiteSpace, "nowrap");
                writer.RenderBeginTag(HtmlTextWriterTag.Td);
                ZoneLinkButton closeButton = new ZoneLinkButton(this, headerCloseVerb.EventArgument);
                closeButton.Text     = headerCloseVerb.Text;
                closeButton.ImageUrl = headerCloseVerb.ImageUrl;
                closeButton.ToolTip  = headerCloseVerb.Description;
                closeButton.Enabled  = headerCloseVerb.Enabled;
                closeButton.Page     = Page;
                closeButton.ApplyStyle(HeaderVerbStyle);
                closeButton.RenderControl(writer);
                writer.RenderEndTag();  // Td
            }

            writer.RenderEndTag();  // Tr
            writer.RenderEndTag();  // Table
        }
 // Do not throw for duplicate IDs, since we call this method to add items
 // to the collection internally, and we need to allow duplicate IDs.
 internal int Add(WebPartVerb value)
 {
     return(InnerList.Add(value));
 }
 public bool Contains (WebPartVerb value)
 {
   return default(bool);
 }
 public void CopyTo (WebPartVerb[] array, int index)
 {
   Contract.Ensures (array.Length >= 0);
 }
 public int IndexOf(WebPartVerb value)
 {
     return(default(int));
 }
 protected virtual new void RenderVerb(System.Web.UI.HtmlTextWriter writer, WebPartVerb verb)
 {
 }
Example #29
0
 public int IndexOf(WebPartVerb value)
 {
     return(InnerList.IndexOf(value));
 }
Example #30
0
		public void CopyTo (WebPartVerb [] array, int index)
		{
			InnerList.CopyTo (0, array, index, Count);		
		}
Example #31
0
 private bool VerbRenderedAsLinkButton(WebPartVerb verb)
 {
     return((this.Zone.TitleBarVerbButtonType == ButtonType.Link) || string.IsNullOrEmpty(verb.ImageUrl));
 }
 // Do not throw for duplicate IDs, since we call this method to add items
 // to the collection internally, and we need to allow duplicate IDs.
 internal int Add(WebPartVerb value) {
     return InnerList.Add(value);
 }
        private bool ShouldRenderVerb(WebPartVerb verb, WebPart webPart) {
            // PERF: Consider caching the Zone.*Verb properties

            // Can have null verbs in the CreateVerbs or WebPart.Verbs collections
            if (verb == null) {
                return false;
            }

            if (!verb.Visible) {
                return false;
            }

            if (verb == Zone.CloseVerb) {
                if (!_personalizationEnabled || !webPart.AllowClose || !Zone.AllowLayoutChange) {
                    return false;
                }
            }

            if (verb == Zone.ConnectVerb) {
                if (WebPartManager != null) {
                    if ((WebPartManager.DisplayMode != WebPartManager.ConnectDisplayMode) ||
                        (webPart == WebPartManager.SelectedWebPart) ||
                        !webPart.AllowConnect) {
                        return false;
                    }

                    // Don't render Connect verb if web part has no connection points
                    ConsumerConnectionPointCollection consumerConnectionPoints =
                        WebPartManager.GetEnabledConsumerConnectionPoints(webPart);
                    ProviderConnectionPointCollection providerConnectionPoints =
                        WebPartManager.GetEnabledProviderConnectionPoints(webPart);
                    if ((consumerConnectionPoints == null || consumerConnectionPoints.Count == 0) &&
                        (providerConnectionPoints == null || providerConnectionPoints.Count == 0)) {
                        return false;
                    }
                }

            }

            if (verb == Zone.DeleteVerb) {
                if (!_personalizationEnabled ||
                    !Zone.AllowLayoutChange ||
                    webPart.IsStatic ||
                    (webPart.IsShared && _personalizationScope == PersonalizationScope.User) ||
                    (WebPartManager != null && !WebPartManager.DisplayMode.AllowPageDesign)) {
                    return false;
                }
            }

            if (verb == Zone.EditVerb) {
                if (WebPartManager != null &&
                    ((WebPartManager.DisplayMode != WebPartManager.EditDisplayMode) ||
                     (webPart == WebPartManager.SelectedWebPart))) {
                    return false;
                }
            }

            if (verb == Zone.HelpVerb) {
                if (String.IsNullOrEmpty(webPart.HelpUrl)) {
                    return false;
                }
            }

            if (verb == Zone.MinimizeVerb) {
                if (!_personalizationEnabled ||
                    webPart.ChromeState == PartChromeState.Minimized ||
                    !webPart.AllowMinimize ||
                    !Zone.AllowLayoutChange) {
                    return false;
                }
            }

            if (verb == Zone.RestoreVerb) {
                if (!_personalizationEnabled ||
                    webPart.ChromeState == PartChromeState.Normal ||
                    !Zone.AllowLayoutChange) {
                    return false;
                }
            }

            if (verb == Zone.ExportVerb) {
                if (!_personalizationEnabled ||
                    webPart.ExportMode == WebPartExportMode.None) {
                    return false;
                }
            }

            return true;
        }
 public void CopyTo(WebPartVerb[] array, int index) {
     InnerList.CopyTo(array, index);
 }
 public void CopyTo(WebPartVerb[] array, int index)
 {
 }
 public bool Contains(WebPartVerb value)
 {
     return(default(bool));
 }
Example #37
0
        private WebPartVerb CreateSwitchToBrowseModeVerb()
        {
            WebPartVerb result = new WebPartVerb("SwitchToBrowseMode", new WebPartEventHandler(OnSwitchToBrowseAction));
            result.Text = HttpContext.GetGlobalResourceObject("SingleContentPortlet", "BrowseContent") as string;

            return result;
        }
Example #38
0
 public bool Contains(WebPartVerb value)
 {
     return(InnerList.Contains(value));
 }
Example #39
0
 private WebPartVerb CreateNewContentVerb()
 {
     WebPartVerb result = new WebPartVerb("NewContent", new WebPartEventHandler(OnNewContent));
     result.Text = HttpContext.GetGlobalResourceObject("SingleContentPortlet", "NewContent") as string;
     
     return result;
 }
Example #40
0
        private void RenderVerb(HtmlTextWriter writer, WebPart webPart, WebPartVerb verb)
        {
            WebControl verbControl;
            bool       isEnabled = Zone.IsEnabled && verb.Enabled;

            ButtonType verbButtonType = Zone.TitleBarVerbButtonType;

            if (verb == Zone.HelpVerb)
            {
                //
                string resolvedHelpUrl = Zone.ResolveClientUrl(webPart.HelpUrl);

                //
                if (verbButtonType == ButtonType.Button)
                {
                    ZoneButton button = new ZoneButton(Zone, null);

                    if (isEnabled)
                    {
                        if (Zone.RenderClientScript)
                        {
                            button.OnClientClick = "__wpm.ShowHelp('" +
                                                   Util.QuoteJScriptString(resolvedHelpUrl) +
                                                   "', " +
                                                   ((int)webPart.HelpMode).ToString(CultureInfo.InvariantCulture) +
                                                   ");return;";
                        }
                        else
                        {
                            if (webPart.HelpMode != WebPartHelpMode.Navigate)
                            {
                                button.OnClientClick = "window.open('" +
                                                       Util.QuoteJScriptString(resolvedHelpUrl) +
                                                       "', '_blank', 'scrollbars=yes,resizable=yes,status=no,toolbar=no,menubar=no,location=no');return;";
                            }
                            else
                            {
                                button.OnClientClick = "window.location.href='" +
                                                       Util.QuoteJScriptString(resolvedHelpUrl) +
                                                       "';return;";
                            }
                        }
                    }
                    button.Text = verb.Text;
                    verbControl = button;
                }
                else
                {
                    HyperLink hyperLink = new HyperLink();

                    switch (webPart.HelpMode)
                    {
                    case WebPartHelpMode.Modal:
                        if (!Zone.RenderClientScript)
                        {
                            goto case WebPartHelpMode.Modeless;
                        }
                        hyperLink.NavigateUrl = "javascript:__wpm.ShowHelp('" +
                                                Util.QuoteJScriptString(resolvedHelpUrl) +
                                                "', 0)";
                        break;

                    case WebPartHelpMode.Modeless:
                        hyperLink.NavigateUrl = resolvedHelpUrl;
                        hyperLink.Target      = "_blank";
                        break;

                    case WebPartHelpMode.Navigate:
                        hyperLink.NavigateUrl = resolvedHelpUrl;
                        break;
                    }

                    hyperLink.Text = verb.Text;
                    if (verbButtonType == ButtonType.Image)
                    {
                        hyperLink.ImageUrl = verb.ImageUrl;
                    }
                    verbControl = hyperLink;
                }
            }
            else if (verb == Zone.ExportVerb)
            {
                string exportUrl = _manager.GetExportUrl(webPart);
                if (verbButtonType == ButtonType.Button)
                {
                    ZoneButton button = new ZoneButton(Zone, String.Empty);
                    button.Text = verb.Text;

                    if (isEnabled)
                    {
                        if ((webPart.ExportMode == WebPartExportMode.All) &&
                            (_personalizationScope == PersonalizationScope.User))
                        {
                            if (Zone.RenderClientScript)
                            {
                                button.OnClientClick = "__wpm.ExportWebPart('" +
                                                       Util.QuoteJScriptString(exportUrl) +
                                                       "', true, false);return false;";
                            }
                            else
                            {
                                button.OnClientClick = "if(__wpmExportWarning.length == 0 || "
                                                       + "confirm(__wpmExportWarning)){window.location='" +
                                                       Util.QuoteJScriptString(exportUrl) +
                                                       "';}return false;";
                            }
                        }
                        else
                        {
                            button.OnClientClick = "window.location='" +
                                                   Util.QuoteJScriptString(exportUrl) +
                                                   "';return false;";
                        }
                    }

                    verbControl = button;
                }
                else
                {
                    // Special case for export which must be a plain HyperLink
                    // (href=javascript:void(0) would ruin any redirecting script)
                    HyperLink link = new HyperLink();
                    link.Text = verb.Text;
                    if (verbButtonType == ButtonType.Image)
                    {
                        link.ImageUrl = verb.ImageUrl;
                    }
                    link.NavigateUrl = exportUrl;
                    if (webPart.ExportMode == WebPartExportMode.All)
                    {
                        // Confirm before exporting
                        if (Zone.RenderClientScript)
                        {
                            link.Attributes.Add("onclick", "return __wpm.ExportWebPart('', true, true)");
                        }
                        else
                        {
                            string onclick = "return (__wpmExportWarning.length == 0 || confirm(__wpmExportWarning))";
                            link.Attributes.Add("onclick", onclick);
                        }
                    }
                    verbControl = link;
                }
            }
            else
            {
                string eventArgument      = verb.GetEventArgument(webPart.ID);
                string clientClickHandler = verb.ClientClickHandler;

                if (verbButtonType == ButtonType.Button)
                {
                    ZoneButton button = new ZoneButton(Zone, eventArgument);
                    button.Text = verb.Text;
                    if (!String.IsNullOrEmpty(clientClickHandler) && isEnabled)
                    {
                        button.OnClientClick = clientClickHandler;
                    }
                    verbControl = button;
                }
                else
                {
                    ZoneLinkButton linkButton = new ZoneLinkButton(Zone, eventArgument);
                    linkButton.Text = verb.Text;
                    if (verbButtonType == ButtonType.Image)
                    {
                        linkButton.ImageUrl = verb.ImageUrl;
                    }
                    if (!String.IsNullOrEmpty(clientClickHandler) && isEnabled)
                    {
                        linkButton.OnClientClick = clientClickHandler;
                    }
                    verbControl = linkButton;
                }

                if (_manager != null && isEnabled)
                {
                    if (verb == Zone.CloseVerb)
                    {
                        // PERF: First check if this WebPart even has provider connection points
                        ProviderConnectionPointCollection connectionPoints = _manager.GetProviderConnectionPoints(webPart);
                        if (connectionPoints != null && connectionPoints.Count > 0 &&
                            Connections.ContainsProvider(webPart))
                        {
                            string onclick = "if (__wpmCloseProviderWarning.length >= 0 && " +
                                             "!confirm(__wpmCloseProviderWarning)) { return false; }";
                            verbControl.Attributes.Add("onclick", onclick);
                        }
                    }
                    else if (verb == Zone.DeleteVerb)
                    {
                        string onclick = "if (__wpmDeleteWarning.length >= 0 && !confirm(__wpmDeleteWarning)) { return false; }";
                        verbControl.Attributes.Add("onclick", onclick);
                    }
                }
            }

            verbControl.ApplyStyle(Zone.TitleBarVerbStyle);
            verbControl.ToolTip = String.Format(CultureInfo.CurrentCulture, verb.Description, webPart.DisplayTitle);
            verbControl.Enabled = verb.Enabled;
            verbControl.Page    = _page;
            verbControl.RenderControl(writer);
        }
 protected virtual new void RenderVerb(System.Web.UI.HtmlTextWriter writer, WebPartVerb verb)
 {
 }
Example #42
0
        private bool ShouldRenderVerb(WebPartVerb verb, WebPart webPart)
        {
            // PERF: Consider caching the Zone.*Verb properties

            // Can have null verbs in the CreateVerbs or WebPart.Verbs collections
            if (verb == null)
            {
                return(false);
            }

            if (!verb.Visible)
            {
                return(false);
            }

            if (verb == Zone.CloseVerb)
            {
                if (!_personalizationEnabled || !webPart.AllowClose || !Zone.AllowLayoutChange)
                {
                    return(false);
                }
            }

            if (verb == Zone.ConnectVerb)
            {
                if (WebPartManager != null)
                {
                    if ((WebPartManager.DisplayMode != WebPartManager.ConnectDisplayMode) ||
                        (webPart == WebPartManager.SelectedWebPart) ||
                        !webPart.AllowConnect)
                    {
                        return(false);
                    }

                    // Don't render Connect verb if web part has no connection points
                    ConsumerConnectionPointCollection consumerConnectionPoints =
                        WebPartManager.GetEnabledConsumerConnectionPoints(webPart);
                    ProviderConnectionPointCollection providerConnectionPoints =
                        WebPartManager.GetEnabledProviderConnectionPoints(webPart);
                    if ((consumerConnectionPoints == null || consumerConnectionPoints.Count == 0) &&
                        (providerConnectionPoints == null || providerConnectionPoints.Count == 0))
                    {
                        return(false);
                    }
                }
            }

            if (verb == Zone.DeleteVerb)
            {
                if (!_personalizationEnabled ||
                    !Zone.AllowLayoutChange ||
                    webPart.IsStatic ||
                    (webPart.IsShared && _personalizationScope == PersonalizationScope.User) ||
                    (WebPartManager != null && !WebPartManager.DisplayMode.AllowPageDesign))
                {
                    return(false);
                }
            }

            if (verb == Zone.EditVerb)
            {
                if (WebPartManager != null &&
                    ((WebPartManager.DisplayMode != WebPartManager.EditDisplayMode) ||
                     (webPart == WebPartManager.SelectedWebPart)))
                {
                    return(false);
                }
            }

            if (verb == Zone.HelpVerb)
            {
                if (String.IsNullOrEmpty(webPart.HelpUrl))
                {
                    return(false);
                }
            }

            if (verb == Zone.MinimizeVerb)
            {
                if (!_personalizationEnabled ||
                    webPart.ChromeState == PartChromeState.Minimized ||
                    !webPart.AllowMinimize ||
                    !Zone.AllowLayoutChange)
                {
                    return(false);
                }
            }

            if (verb == Zone.RestoreVerb)
            {
                if (!_personalizationEnabled ||
                    webPart.ChromeState == PartChromeState.Normal ||
                    !Zone.AllowLayoutChange)
                {
                    return(false);
                }
            }

            if (verb == Zone.ExportVerb)
            {
                if (!_personalizationEnabled ||
                    webPart.ExportMode == WebPartExportMode.None)
                {
                    return(false);
                }
            }

            return(true);
        }
 protected virtual void RenderVerb(HtmlTextWriter writer, WebPartVerb verb)
 {
     WebControl control;
     string eventArgument = verb.EventArgument;
     if (this.VerbButtonType == ButtonType.Button)
     {
         ZoneButton button = new ZoneButton(this, eventArgument) {
             Text = verb.Text
         };
         control = button;
     }
     else
     {
         ZoneLinkButton button2 = new ZoneLinkButton(this, eventArgument) {
             Text = verb.Text
         };
         if (this.VerbButtonType == ButtonType.Image)
         {
             button2.ImageUrl = verb.ImageUrl;
         }
         control = button2;
     }
     control.ApplyStyle(base.VerbStyle);
     control.ToolTip = verb.Description;
     control.Enabled = verb.Enabled;
     control.Page = this.Page;
     control.RenderControl(writer);
 }
        private void RenderVerb(HtmlTextWriter writer, WebPart webPart, WebPartVerb verb) {
            WebControl verbControl;
            bool isEnabled = Zone.IsEnabled && verb.Enabled;

            ButtonType verbButtonType = Zone.TitleBarVerbButtonType;

            if (verb == Zone.HelpVerb) {
                // 
                string resolvedHelpUrl = Zone.ResolveClientUrl(webPart.HelpUrl);

                // 
                if (verbButtonType == ButtonType.Button) {
                    ZoneButton button = new ZoneButton(Zone, null);

                    if (isEnabled) {
                        if (Zone.RenderClientScript) {
                            button.OnClientClick = "__wpm.ShowHelp('" +
                                Util.QuoteJScriptString(resolvedHelpUrl) +
                                "', " +
                                ((int)webPart.HelpMode).ToString(CultureInfo.InvariantCulture) +
                                ");return;";
                        }
                        else {
                            if (webPart.HelpMode != WebPartHelpMode.Navigate) {
                                button.OnClientClick = "window.open('" +
                                    Util.QuoteJScriptString(resolvedHelpUrl) +
                                    "', '_blank', 'scrollbars=yes,resizable=yes,status=no,toolbar=no,menubar=no,location=no');return;";
                            }
                            else {
                                button.OnClientClick = "window.location.href='" +
                                    Util.QuoteJScriptString(resolvedHelpUrl) +
                                    "';return;";
                            }
                        }
                    }
                    button.Text = verb.Text;
                    verbControl = button;
                }
                else {
                    HyperLink hyperLink = new HyperLink();

                    switch (webPart.HelpMode) {
                        case WebPartHelpMode.Modal:
                            if (!Zone.RenderClientScript) {
                                goto case WebPartHelpMode.Modeless;
                            }
                            hyperLink.NavigateUrl = "javascript:__wpm.ShowHelp('" +
                                Util.QuoteJScriptString(resolvedHelpUrl) +
                                "', 0)";
                            break;
                        case WebPartHelpMode.Modeless:
                            hyperLink.NavigateUrl = resolvedHelpUrl;
                            hyperLink.Target = "_blank";
                            break;
                        case WebPartHelpMode.Navigate:
                            hyperLink.NavigateUrl = resolvedHelpUrl;
                            break;
                    }

                    hyperLink.Text = verb.Text;
                    if (verbButtonType == ButtonType.Image) {
                        hyperLink.ImageUrl = verb.ImageUrl;
                    }
                    verbControl = hyperLink;
                }
            }
            else if (verb == Zone.ExportVerb) {
                string exportUrl = _manager.GetExportUrl(webPart);
                if (verbButtonType == ButtonType.Button) {
                    ZoneButton button = new ZoneButton(Zone, String.Empty);
                    button.Text = verb.Text;

                    if (isEnabled) {
                        if ((webPart.ExportMode == WebPartExportMode.All) &&
                            (_personalizationScope == PersonalizationScope.User)) {
                            if (Zone.RenderClientScript) {
                                button.OnClientClick = "__wpm.ExportWebPart('" +
                                    Util.QuoteJScriptString(exportUrl) +
                                    "', true, false);return false;";
                            }
                            else {
                                button.OnClientClick = "if(__wpmExportWarning.length == 0 || "
                                    + "confirm(__wpmExportWarning)){window.location='" +
                                    Util.QuoteJScriptString(exportUrl) +
                                    "';}return false;";
                            }
                        }
                        else {
                            button.OnClientClick = "window.location='" +
                                Util.QuoteJScriptString(exportUrl) +
                                "';return false;";
                        }
                    }

                    verbControl = button;
                }
                else {
                    // Special case for export which must be a plain HyperLink
                    // (href=javascript:void(0) would ruin any redirecting script)
                    HyperLink link = new HyperLink();
                    link.Text = verb.Text;
                    if (verbButtonType == ButtonType.Image) {
                        link.ImageUrl = verb.ImageUrl;
                    }
                    link.NavigateUrl = exportUrl;
                    if (webPart.ExportMode == WebPartExportMode.All) {
                        // Confirm before exporting
                        if (Zone.RenderClientScript) {
                            link.Attributes.Add("onclick", "return __wpm.ExportWebPart('', true, true)");
                        }
                        else {
                            string onclick = "return (__wpmExportWarning.length == 0 || confirm(__wpmExportWarning))";
                            link.Attributes.Add("onclick", onclick);
                        }
                    }
                    verbControl = link;
                }
            }
            else {
                string eventArgument = verb.GetEventArgument(webPart.ID);
                string clientClickHandler = verb.ClientClickHandler;

                if (verbButtonType == ButtonType.Button) {
                    ZoneButton button = new ZoneButton(Zone, eventArgument);
                    button.Text = verb.Text;
                    if (!String.IsNullOrEmpty(clientClickHandler) && isEnabled) {
                        button.OnClientClick = clientClickHandler;
                    }
                    verbControl = button;
                }
                else {
                    ZoneLinkButton linkButton = new ZoneLinkButton(Zone, eventArgument);
                    linkButton.Text = verb.Text;
                    if (verbButtonType == ButtonType.Image) {
                        linkButton.ImageUrl = verb.ImageUrl;
                    }
                    if (!String.IsNullOrEmpty(clientClickHandler) && isEnabled) {
                        linkButton.OnClientClick = clientClickHandler;
                    }
                    verbControl = linkButton;
                }

                if (_manager != null && isEnabled) {
                    if (verb == Zone.CloseVerb) {
                        // PERF: First check if this WebPart even has provider connection points
                        ProviderConnectionPointCollection connectionPoints = _manager.GetProviderConnectionPoints(webPart);
                        if (connectionPoints != null && connectionPoints.Count > 0 &&
                            Connections.ContainsProvider(webPart)) {
                            string onclick = "if (__wpmCloseProviderWarning.length >= 0 && " +
                                "!confirm(__wpmCloseProviderWarning)) { return false; }";
                            verbControl.Attributes.Add("onclick", onclick);
                        }
                    }
                    else if (verb == Zone.DeleteVerb) {
                        string onclick = "if (__wpmDeleteWarning.length >= 0 && !confirm(__wpmDeleteWarning)) { return false; }";
                        verbControl.Attributes.Add("onclick", onclick);
                    }
                }
            }

            verbControl.ApplyStyle(Zone.TitleBarVerbStyle);
            verbControl.ToolTip = String.Format(CultureInfo.CurrentCulture, verb.Description, webPart.DisplayTitle);
            verbControl.Enabled = verb.Enabled;
            verbControl.Page = _page;
            verbControl.RenderControl(writer);
        }
        private void RenderVerb(HtmlTextWriter writer, WebPart webPart, WebPartVerb verb)
        {
            WebControl control;
            bool flag = this.Zone.IsEnabled && verb.Enabled;
            ButtonType titleBarVerbButtonType = this.Zone.TitleBarVerbButtonType;
            if (verb != this.Zone.HelpVerb)
            {
                if (verb == this.Zone.ExportVerb)
                {
                    string exportUrl = this._manager.GetExportUrl(webPart);
                    if (titleBarVerbButtonType == ButtonType.Button)
                    {
                        ZoneButton button2 = new ZoneButton(this.Zone, string.Empty) {
                            Text = verb.Text
                        };
                        if (flag)
                        {
                            if ((webPart.ExportMode == WebPartExportMode.All) && (this._personalizationScope == PersonalizationScope.User))
                            {
                                if (this.Zone.RenderClientScript)
                                {
                                    button2.OnClientClick = "__wpm.ExportWebPart('" + Util.QuoteJScriptString(exportUrl) + "', true, false);return false;";
                                }
                                else
                                {
                                    button2.OnClientClick = "if(__wpmExportWarning.length == 0 || confirm(__wpmExportWarning)){window.location='" + Util.QuoteJScriptString(exportUrl) + "';}return false;";
                                }
                            }
                            else
                            {
                                button2.OnClientClick = "window.location='" + Util.QuoteJScriptString(exportUrl) + "';return false;";
                            }
                        }
                        control = button2;
                    }
                    else
                    {
                        HyperLink link2 = new HyperLink {
                            Text = verb.Text
                        };
                        if (titleBarVerbButtonType == ButtonType.Image)
                        {
                            link2.ImageUrl = verb.ImageUrl;
                        }
                        link2.NavigateUrl = exportUrl;
                        if (webPart.ExportMode == WebPartExportMode.All)
                        {
                            if (this.Zone.RenderClientScript)
                            {
                                link2.Attributes.Add("onclick", "return __wpm.ExportWebPart('', true, true)");
                            }
                            else
                            {
                                string str3 = "return (__wpmExportWarning.length == 0 || confirm(__wpmExportWarning))";
                                link2.Attributes.Add("onclick", str3);
                            }
                        }
                        control = link2;
                    }
                }
                else
                {
                    string eventArgument = verb.GetEventArgument(webPart.ID);
                    string clientClickHandler = verb.ClientClickHandler;
                    if (titleBarVerbButtonType == ButtonType.Button)
                    {
                        ZoneButton button3 = new ZoneButton(this.Zone, eventArgument) {
                            Text = verb.Text
                        };
                        if (!string.IsNullOrEmpty(clientClickHandler) && flag)
                        {
                            button3.OnClientClick = clientClickHandler;
                        }
                        control = button3;
                    }
                    else
                    {
                        ZoneLinkButton button4 = new ZoneLinkButton(this.Zone, eventArgument) {
                            Text = verb.Text
                        };
                        if (titleBarVerbButtonType == ButtonType.Image)
                        {
                            button4.ImageUrl = verb.ImageUrl;
                        }
                        if (!string.IsNullOrEmpty(clientClickHandler) && flag)
                        {
                            button4.OnClientClick = clientClickHandler;
                        }
                        control = button4;
                    }
                    if ((this._manager != null) && flag)
                    {
                        if (verb == this.Zone.CloseVerb)
                        {
                            ProviderConnectionPointCollection providerConnectionPoints = this._manager.GetProviderConnectionPoints(webPart);
                            if (((providerConnectionPoints != null) && (providerConnectionPoints.Count > 0)) && this.Connections.ContainsProvider(webPart))
                            {
                                string str6 = "if (__wpmCloseProviderWarning.length >= 0 && !confirm(__wpmCloseProviderWarning)) { return false; }";
                                control.Attributes.Add("onclick", str6);
                            }
                        }
                        else if (verb == this.Zone.DeleteVerb)
                        {
                            string str7 = "if (__wpmDeleteWarning.length >= 0 && !confirm(__wpmDeleteWarning)) { return false; }";
                            control.Attributes.Add("onclick", str7);
                        }
                    }
                }
                goto Label_040C;
            }
            string str = this.Zone.ResolveClientUrl(webPart.HelpUrl);
            if (titleBarVerbButtonType == ButtonType.Button)
            {
                ZoneButton button = new ZoneButton(this.Zone, null);
                if (flag)
                {
                    if (this.Zone.RenderClientScript)
                    {
                        button.OnClientClick = "__wpm.ShowHelp('" + Util.QuoteJScriptString(str) + "', " + ((int) webPart.HelpMode).ToString(CultureInfo.InvariantCulture) + ");return;";
                    }
                    else if (webPart.HelpMode != WebPartHelpMode.Navigate)
                    {
                        button.OnClientClick = "window.open('" + Util.QuoteJScriptString(str) + "', '_blank', 'scrollbars=yes,resizable=yes,status=no,toolbar=no,menubar=no,location=no');return;";
                    }
                    else
                    {
                        button.OnClientClick = "window.location.href='" + Util.QuoteJScriptString(str) + "';return;";
                    }
                }
                button.Text = verb.Text;
                control = button;
                goto Label_040C;
            }
            HyperLink link = new HyperLink();
            switch (webPart.HelpMode)
            {
                case WebPartHelpMode.Modal:
                    if (!this.Zone.RenderClientScript)
                    {
                        break;
                    }
                    link.NavigateUrl = "javascript:__wpm.ShowHelp('" + Util.QuoteJScriptString(str) + "', 0)";
                    goto Label_0187;

                case WebPartHelpMode.Modeless:
                    break;

                case WebPartHelpMode.Navigate:
                    link.NavigateUrl = str;
                    goto Label_0187;

                default:
                    goto Label_0187;
            }
            link.NavigateUrl = str;
            link.Target = "_blank";
        Label_0187:
            link.Text = verb.Text;
            if (titleBarVerbButtonType == ButtonType.Image)
            {
                link.ImageUrl = verb.ImageUrl;
            }
            control = link;
        Label_040C:
            control.ApplyStyle(this.Zone.TitleBarVerbStyle);
            control.ToolTip = string.Format(CultureInfo.CurrentCulture, verb.Description, new object[] { webPart.DisplayTitle });
            control.Enabled = verb.Enabled;
            control.Page = this._page;
            control.RenderControl(writer);
        }
        private bool VerbRenderedAsLinkButton(WebPartVerb verb) {
            if (Zone.TitleBarVerbButtonType == ButtonType.Link) {
                return true;
            }

            if (String.IsNullOrEmpty(verb.ImageUrl)) {
                return true;
            }

            return false;
        }
 private bool ShouldRenderVerb(WebPartVerb verb, WebPart webPart)
 {
     if (verb == null)
     {
         return false;
     }
     if (!verb.Visible)
     {
         return false;
     }
     if ((verb == this.Zone.CloseVerb) && ((!this._personalizationEnabled || !webPart.AllowClose) || !this.Zone.AllowLayoutChange))
     {
         return false;
     }
     if ((verb == this.Zone.ConnectVerb) && (this.WebPartManager != null))
     {
         if (((this.WebPartManager.DisplayMode != System.Web.UI.WebControls.WebParts.WebPartManager.ConnectDisplayMode) || (webPart == this.WebPartManager.SelectedWebPart)) || !webPart.AllowConnect)
         {
             return false;
         }
         ConsumerConnectionPointCollection enabledConsumerConnectionPoints = this.WebPartManager.GetEnabledConsumerConnectionPoints(webPart);
         ProviderConnectionPointCollection enabledProviderConnectionPoints = this.WebPartManager.GetEnabledProviderConnectionPoints(webPart);
         if (((enabledConsumerConnectionPoints == null) || (enabledConsumerConnectionPoints.Count == 0)) && ((enabledProviderConnectionPoints == null) || (enabledProviderConnectionPoints.Count == 0)))
         {
             return false;
         }
     }
     if ((verb == this.Zone.DeleteVerb) && ((((!this._personalizationEnabled || !this.Zone.AllowLayoutChange) || webPart.IsStatic) || (webPart.IsShared && (this._personalizationScope == PersonalizationScope.User))) || ((this.WebPartManager != null) && !this.WebPartManager.DisplayMode.AllowPageDesign)))
     {
         return false;
     }
     if (((verb == this.Zone.EditVerb) && (this.WebPartManager != null)) && ((this.WebPartManager.DisplayMode != System.Web.UI.WebControls.WebParts.WebPartManager.EditDisplayMode) || (webPart == this.WebPartManager.SelectedWebPart)))
     {
         return false;
     }
     if ((verb == this.Zone.HelpVerb) && string.IsNullOrEmpty(webPart.HelpUrl))
     {
         return false;
     }
     if ((verb == this.Zone.MinimizeVerb) && ((!this._personalizationEnabled || (webPart.ChromeState == PartChromeState.Minimized)) || (!webPart.AllowMinimize || !this.Zone.AllowLayoutChange)))
     {
         return false;
     }
     if ((verb == this.Zone.RestoreVerb) && ((!this._personalizationEnabled || (webPart.ChromeState == PartChromeState.Normal)) || !this.Zone.AllowLayoutChange))
     {
         return false;
     }
     return ((verb != this.Zone.ExportVerb) || (this._personalizationEnabled && (webPart.ExportMode != WebPartExportMode.None)));
 }