<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="dispatch.xsl" ?>
<Object name="Macros" project="SuperEdi">

  <Title>Macros Object</Title>

  <Description>The Macros object represents a collection of all
    loaded add-ins. It provides methods to enumerate these add-ins,
    add new add-ins and remove add-ins.</Description>

  <Keywords>Add, Count, Item, Remove, RemoveAll, Add-In</Keywords>

  <!-- Properties -->

  <Property name="Count" type="short" write="no">
  	<Description>Returns the number of currently loaded add-ins.</Description>
  </Property>

  <!-- Methods -->

  <Method name="Add">
	<Description>Creates a new add-in and adds it to the collection. 
	  Returns the add-in that was created.</Description>
    <Syntax>macro = macros.Add( name )</Syntax>
	<Parameter name="name" type="string">
	  <Description>A unique name to identify the add-in.</Description>
	</Parameter>
    <Return type="Macro" xlink="yes"/>
  </Method>

  <Method name="Item">
	<Description>Returns a add-in object from the collection or 
	  returns null if the add-in does not exist.
      The Item method is the default member.</Description>
    <Syntax>macro = macros( index )</Syntax>
	<Parameter name="index" type="variant">
	  <Description>Indicates the add-in's unique name or the
	    ordered position within the collection.</Description>
	</Parameter>
	<Return type="Macro" xlink="yes"/>
  </Method>

  <Method name="Remove">
	<Description>Removes and unregisters an add-in.</Description>
    <Syntax>macros.Remove( name )</Syntax>
	<Parameter name="index" type="variant">
	  <Description>Indicates the add-in's unique name or the
	    ordered position within the collection.</Description>
	</Parameter>
  </Method>

  <Method name="RemoveAll">
	<Description>Removes and unregisters all add-ins in the collection.</Description>
    <Syntax>macros.RemoveAll()</Syntax>
  </Method>

</Object>
