## PluginCollection

### Introduced

v4.0

### Description

A collection of Plugin objects. Both the name and the full path of the Plugin can be used as the key to PluginCollection.Item.

### Methods

Filter | Find | GetAsText |

### Properties

Count | Item |  |

### Examples

#### 1. VBScript Example

    set plgs = Application.Plugins

    for each p in plgs

    	Application.LogMessage "Name: " & p.Name

    	Application.LogMessage "Author: " & p.Author

    	Application.LogMessage "Major: " & p.Major

    	Application.LogMessage "Minor: " & p.Minor

    	Application.LogMessage "Language: " & p.Language

    	Application.LogMessage "Filename: " & p.Filename

    	Application.LogMessage "URL: " & p.URL

    	Application.LogMessage "Email: " & p.Email

    	Application.LogMessage "Loaded: " & p.Loaded

    next

#### 2. JScript Example

    /*

    	This example provides UI for loading plug-ins that is similar to the "Load" button

    	on the Plug-in Manager.

    	A File Open dialog is shown to the user. The PluginCollection.Item method is used to

    	test if the plug-in has already been loaded. If it hasn't been loaded Softimage

    	attempts to load it.

    */

    var initialDir = Application.InstallationPath( siUserPath ) ;

    if ( Application.Platform == "Win32" )

    {

    	initialDir += "\\Application\\plugins" ;

    }

    else

    {

    	initialDir += "/Application/plugins" ;

    }

    var oUIToolkit = new ActiveXObject("XSI.UIToolKit") ;

    var oFileBrowser = oUIToolkit.FileBrowser ;

    oFileBrowser.DialogTitle = "Select a plug-in to load" ;

    oFileBrowser.InitialDirectory = initialDir ;

    oFileBrowser.Filter = "All Files (*.*)|*.*||" ;

    oFileBrowser.ShowOpen() ;

    if ( oFileBrowser.FilePathName != "" )

    {

    	var oExistingPlugin = Application.Plugins( oFileBrowser.FilePathName ) ;

    	if ( oExistingPlugin != null )

    	{

    		XSIUIToolkit.MsgBox( oExistingPlugin.Name + " is already loaded" ) ;

    	}

    	else

    	{

    		Application.LoadPlugin( oFileBrowser.FilePathName ) ;

    	}

    }

### See Also

Plugin XSIApplication.Plugins