IAddtoGallery Interface
Defines a property that allows a Web Part to add menu items to the Add Web Parts gallery tool pane.
Namespace: Microsoft.SharePoint.WebPartPages
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Available in Sandboxed Solutions: No
Syntax
'Declaration
<AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
Public Interface IAddtoGallery
'Usage
Dim instance As IAddtoGallery
[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public interface IAddtoGallery
Examples
The following code example shows a Web Part class that implements the IAddtoGallery interface and sets the GalleryOptions property to define two menu commands that extend the menu of the Add Web Parts tool pane. For information on the format of the XML fragment use to define menu commands, see the GalleryOptions property.
using System;
using System.ComponentModel;
using System.Runtime.InteropServices;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml.Serialization;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebPartPages;
namespace ExampleWebPartLibrary
{
[DefaultProperty("Text"),
ToolboxData("<{0}:IAddToGalleryWebPart
runat=server></{0}:IAddToGalleryWebPart>"),
XmlRoot(Namespace="ExampleWebPartLibrary")]
// Derive from WebPart base class and implement the IAddToGallery interface.
public class IAddToGalleryWebPart :
Microsoft.SharePoint.WebPartPages.WebPart,
Microsoft.SharePoint.WebPartPages.IAddtoGallery
{
// Create and return the XML fragment to define two menu commands.
Public string GalleryOptions
{
get
{
string mytemplate;
mytemplate = "";
mytemplate += "<?xml version=\"1.0\"?>";
mytemplate += "<GalleryOptions>";
mytemplate += "<Option ID=\"{CAEAE2BB-56F8-426f-A279-
84E2465808B7}\">";
mytemplate += "<OptionName>Command 1</OptionName>";
mytemplate += "<LinkValue>javascript:alert('Command 1
was clicked.');</LinkValue>";
mytemplate += "</Option>";
mytemplate += "<Option ID=\"{3A570BED-D135-4220-8460-
7FE34B88CB8D}\">";
mytemplate += "<OptionName>Command 2</OptionName>";
mytemplate += "<LinkValue>javascript:alert('Command 2
was clicked.');</LinkValue>";
mytemplate += "</Option>";
mytemplate += "</GalleryOptions>";
return mytemplate;
}
}
/// <summary>
/// Render this Web Part to the output parameter specified.
/// </summary>
/// <param name="output"> The HTML writer to write out to </param>
protected override void RenderWebPart(HtmlTextWriter output)
{
// Code for rendering Web Part.
}
}
}
Imports System
Imports System.ComponentModel
Imports System.Runtime.InteropServices
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Xml.Serialization
Imports Microsoft.SharePoint
Imports Microsoft.SharePoint.WebPartPages
Namespace ExampleWebPartLibrary
' Derive from WebPart base class and implement the IAddToGallery interface.
<DefaultProperty("Text"), ToolboxData("<{0}:IAddToGalleryWebPart runat=server></{0}:IAddToGalleryWebPart>"), XmlRoot(Namespace:="ExampleWebPartLibrary")> _
Public Class IAddToGalleryWebPart
Inherits Microsoft.SharePoint.WebPartPages.WebPart
Implements Microsoft.SharePoint.WebPartPages.IAddtoGallery
' Create and return the XML fragment to define two menu commands.
Private Public ReadOnly Property GalleryOptions() As String
Get
Dim mytemplate As String
mytemplate = ""
mytemplate &= "<?xml version=""1.0""?>"
mytemplate &= "<GalleryOptions>"
mytemplate &= "<Option ID=""{CAEAE2BB-56F8-426f-A279- 84E2465808B7}\">"; mytemplate += ".Chars(Of OptionName)Command 1</OptionName>"; mytemplate += ".Chars(Of LinkValue)javascript:alert( 'Command 1 was clicked.');
</LinkValue>"; mytemplate += "</Option>"; mytemplate += "<Option ID=""
3A570BED-D135-4220-8460- 7FE34B88CB8D
\">"
mytemplate &= "<OptionName>Command 2</OptionName>"
mytemplate &= "<LinkValue>javascript:alert('Command 2 was clicked.');</LinkValue>"
mytemplate &= "</Option>"
mytemplate &= "</GalleryOptions>"
Return mytemplate
End Get
End Property
''' <summary>
''' Render this Web Part to the output parameter specified.
''' </summary>
''' <param name="output"> The HTML writer to write out to </param>
Protected Overrides Sub RenderWebPart(ByVal output As HtmlTextWriter)
' Code for rendering Web Part.
End Sub
End Class
End Namespace