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 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); }