The following code example demonstrates how to implement the ApplyChanges method in a custom EditorPart control. For the full code required to run the example, see the Example section of the EditorPart class overview.
The first part of the code example demonstrates the implementation of the ApplyChanges method in the custom EditorPart class named TextDisplayEditorPart. This method gets a reference to the associated TextDisplayWebPart control using the WebPartToEdit property. It then updates the value of the TextDisplayWebPart.FontStyle property.
Public Overrides Function ApplyChanges() As Boolean
Dim part As TextDisplayWebPart = CType(WebPartToEdit, _
TextDisplayWebPart)
' Update the custom WebPart control with the font style.
part.FontStyle = PartContentFontStyle.SelectedValue
Return True
End Function
public override bool ApplyChanges()
{
TextDisplayWebPart part =
(TextDisplayWebPart)WebPartToEdit;
// Update the custom WebPart control with the font style.
part.FontStyle = PartContentFontStyle.SelectedValue;
return true;
}
The second part of the code example shows how the associated WebPart control, TextDisplayWebPart, creates a collection of associated EditorPart controls (in this case, there is only one EditorPart control named TextDisplayEditorPart in the collection) in its implementation of the CreateEditorParts method. This method is executed when the TextDisplayWebPart control enters edit mode.
Public Overrides Function CreateEditorParts() _
As EditorPartCollection
Dim editorArray As New ArrayList()
Dim edPart as New TextDisplayEditorPart()
edPart.ID = Me.ID & "_editorPart1"
editorArray.Add(edPart)
Dim editorParts As New EditorPartCollection(editorArray)
Return editorParts
End Function
Public Overrides ReadOnly Property WebBrowsableObject() _
As Object
Get
Return Me
End Get
End Property
public override EditorPartCollection CreateEditorParts()
{
ArrayList editorArray = new ArrayList();
TextDisplayEditorPart edPart = new TextDisplayEditorPart();
edPart.ID = this.ID + "_editorPart1";
editorArray.Add(edPart);
EditorPartCollection editorParts =
new EditorPartCollection(editorArray);
return editorParts;
}
public override object WebBrowsableObject
{
get { return this; }
}