public virtual void BeginWebPartEditing(WebPart webPart) { this.Personalization.EnsureEnabled(true); if (webPart == null) { throw new ArgumentNullException("webPart"); } if (webPart.IsClosed) { throw new ArgumentException(System.Web.SR.GetString("WebPartManager_CantBeginEditingClosed"), "webPart"); } if (!this.Controls.Contains(webPart)) { throw new ArgumentException(System.Web.SR.GetString("UnknownWebPart"), "webPart"); } if (this.DisplayMode != EditDisplayMode) { throw new InvalidOperationException(System.Web.SR.GetString("WebPartManager_MustBeInEdit")); } if (webPart == this.SelectedWebPart) { throw new ArgumentException(System.Web.SR.GetString("WebPartManager_AlreadyInEdit"), "webPart"); } WebPartCancelEventArgs e = new WebPartCancelEventArgs(webPart); this.OnSelectedWebPartChanging(e); if (!this._allowEventCancellation || !e.Cancel) { if (this.SelectedWebPart != null) { this.EndWebPartEditing(); if (this.SelectedWebPart != null) { return; } } this.SetSelectedWebPart(webPart); this.Internals.CallOnEditModeChanged(webPart); this.OnSelectedWebPartChanged(new WebPartEventArgs(webPart)); } }
private void CloseOrDeleteWebPart(WebPart webPart, bool delete) { this.Personalization.EnsureEnabled(true); if (webPart == null) { throw new ArgumentNullException("webPart"); } if (!this.Controls.Contains(webPart)) { throw new ArgumentException(System.Web.SR.GetString("UnknownWebPart"), "webPart"); } if (!delete && webPart.IsClosed) { throw new ArgumentException(System.Web.SR.GetString("WebPartManager_AlreadyClosed"), "webPart"); } if (delete) { if (webPart.IsStatic) { throw new ArgumentException(System.Web.SR.GetString("WebPartManager_CantDeleteStatic"), "webPart"); } if (webPart.IsShared && (this.Personalization.Scope == PersonalizationScope.User)) { throw new ArgumentException(System.Web.SR.GetString("WebPartManager_CantDeleteSharedInUserScope"), "webPart"); } } WebPartCancelEventArgs e = new WebPartCancelEventArgs(webPart); if (delete) { this.OnWebPartDeleting(e); } else { this.OnWebPartClosing(e); } if (!this._allowEventCancellation || !e.Cancel) { if ((this.DisplayMode == ConnectDisplayMode) && (webPart == this.SelectedWebPart)) { this.EndWebPartConnecting(); if (this.SelectedWebPart != null) { return; } } if ((this.DisplayMode == EditDisplayMode) && (webPart == this.SelectedWebPart)) { this.EndWebPartEditing(); if (this.SelectedWebPart != null) { return; } } if (delete) { this.Internals.CallOnDeleting(webPart); } else { this.Internals.CallOnClosing(webPart); } if (!webPart.IsClosed) { this.RemoveWebPartFromZone(webPart); } this.DisconnectWebPart(webPart); if (delete) { this.Internals.RemoveWebPart(webPart); this.OnWebPartDeleted(new WebPartEventArgs(webPart)); } else { this.OnWebPartClosed(new WebPartEventArgs(webPart)); } } }
public virtual void EndWebPartEditing() { this.Personalization.EnsureEnabled(true); WebPart selectedWebPart = this.SelectedWebPart; if (selectedWebPart == null) { throw new InvalidOperationException(System.Web.SR.GetString("WebPartManager_NoSelectedWebPartEdit")); } WebPartCancelEventArgs e = new WebPartCancelEventArgs(selectedWebPart); this.OnSelectedWebPartChanging(e); if (!this._allowEventCancellation || !e.Cancel) { this.SetSelectedWebPart(null); this.Internals.CallOnEditModeChanged(selectedWebPart); this.OnSelectedWebPartChanged(new WebPartEventArgs(null)); } }
protected virtual void OnWebPartDeleting(WebPartCancelEventArgs e) { WebPartCancelEventHandler handler = (WebPartCancelEventHandler) base.Events[WebPartDeletingEvent]; if (handler != null) { handler(this, e); } }
protected virtual new void OnSelectedWebPartChanging(WebPartCancelEventArgs e) { }
protected virtual new void OnWebPartDeleting(WebPartCancelEventArgs e) { }
public virtual void EndWebPartEditing() { Personalization.EnsureEnabled(/* ensureModifiable */ true); WebPart selectedWebPart = SelectedWebPart; if (selectedWebPart == null) { throw new InvalidOperationException(SR.GetString(SR.WebPartManager_NoSelectedWebPartEdit)); } WebPartCancelEventArgs ce = new WebPartCancelEventArgs(selectedWebPart); OnSelectedWebPartChanging(ce); if (_allowEventCancellation && ce.Cancel) { return; } SetSelectedWebPart(null); Internals.CallOnEditModeChanged(selectedWebPart); // The EventArg should always contain the new SelectedWebPart, so it should contain null // when we are ending editing. OnSelectedWebPartChanged(new WebPartEventArgs(null)); }
protected virtual void OnSelectedWebPartChanging(WebPartCancelEventArgs e) { WebPartCancelEventHandler handler = (WebPartCancelEventHandler)Events[SelectedWebPartChangingEvent]; if (handler != null) { handler(this, e); } }
private void CloseOrDeleteWebPart(WebPart webPart, bool delete) { Personalization.EnsureEnabled(/* ensureModifiable */ true); if (webPart == null) { throw new ArgumentNullException("webPart"); } if (!Controls.Contains(webPart)) { throw new ArgumentException(SR.GetString(SR.UnknownWebPart), "webPart"); } if (!delete && webPart.IsClosed) { // Throw an exception instead of just returning. If the shared user and per user close // a WebPart at the same time, then the WebPartZoneBase should not call CloseWebPart // if the WebPart is now closed. throw new ArgumentException(SR.GetString(SR.WebPartManager_AlreadyClosed), "webPart"); } if (delete) { if (webPart.IsStatic) { // Can't delete static parts throw new ArgumentException(SR.GetString(SR.WebPartManager_CantDeleteStatic), "webPart"); } else if (webPart.IsShared && (Personalization.Scope == PersonalizationScope.User)) { // Can't delete shared part in user scope throw new ArgumentException(SR.GetString(SR.WebPartManager_CantDeleteSharedInUserScope), "webPart"); } } WebPartCancelEventArgs ce = new WebPartCancelEventArgs(webPart); if (delete) { OnWebPartDeleting(ce); } else { OnWebPartClosing(ce); } if (_allowEventCancellation && ce.Cancel) { return; } if ((DisplayMode == ConnectDisplayMode) && (webPart == SelectedWebPart)) { EndWebPartConnecting(); if (SelectedWebPart != null) { // The ConnectModeChange was cancelled return; } } // VSWhidbey 77768 if ((DisplayMode == EditDisplayMode) && (webPart == SelectedWebPart)) { EndWebPartEditing(); if (SelectedWebPart != null) { // The EditModeChange was cancelled return; } } if (delete) { Internals.CallOnDeleting(webPart); } else { Internals.CallOnClosing(webPart); } #if DEBUG WebPartZoneBase zone = webPart.Zone; #endif // If we are deleting a closed WebPart, it has already been removed from // its Zone, so there is no need to do it again. if (!webPart.IsClosed) { RemoveWebPartFromZone(webPart); } DisconnectWebPart(webPart); if (delete) { Internals.RemoveWebPart(webPart); // Raise the WebPartDeleted event after changing the WebPart properties // The WebPartDeleting event is raised before changing the WebPart properties OnWebPartDeleted(new WebPartEventArgs(webPart)); } else { // Raise the WebPartClosed event after changing the WebPart properties // The WebPartClosing event is raised before changing the WebPart properties OnWebPartClosed(new WebPartEventArgs(webPart)); } #if DEBUG if (zone != null) { CheckPartZoneIndexes(zone); } #endif }
public virtual void BeginWebPartEditing(WebPart webPart) { Personalization.EnsureEnabled(/* ensureModifiable */ true); if (webPart == null) { throw new ArgumentNullException("webPart"); } if (webPart.IsClosed) { throw new ArgumentException(SR.GetString(SR.WebPartManager_CantBeginEditingClosed), "webPart"); } if (!Controls.Contains(webPart)) { throw new ArgumentException(SR.GetString(SR.UnknownWebPart), "webPart"); } if (DisplayMode != EditDisplayMode) { throw new InvalidOperationException(SR.GetString(SR.WebPartManager_MustBeInEdit)); } if (webPart == SelectedWebPart) { throw new ArgumentException(SR.GetString(SR.WebPartManager_AlreadyInEdit), "webPart"); } WebPartCancelEventArgs ce = new WebPartCancelEventArgs(webPart); OnSelectedWebPartChanging(ce); if (_allowEventCancellation && ce.Cancel) { return; } if (SelectedWebPart != null) { EndWebPartEditing(); if (SelectedWebPart != null) { // The EditModeChange was cancelled return; } } SetSelectedWebPart(webPart); Internals.CallOnEditModeChanged(webPart); OnSelectedWebPartChanged(new WebPartEventArgs(webPart)); }
private void WebPartManager_WebPartDeleting(object sender, WebPartCancelEventArgs e) { WebPart part = e.WebPart; if (part != null && !(part is ISymbolWebPart) && part.Zone == this) { base.WebPartManager.AddWebPart(this.CreateEmptyWebPart(), part.Zone, part.ZoneIndex); } }