Share via


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

See Also

Reference

IAddtoGallery Members

Microsoft.SharePoint.WebPartPages Namespace