<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.gmf.runtime.diagram.ui">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.gmf.runtime.diagram.ui" id="layoutProviders" name="Presentation Layout Providers"/>
      </appInfo>
      <documentation>
         This extension point is used to define layout providers for the layout service.  The layout service allows for the arrangement of diagram elements according to a specific layout style.
&lt;p&gt;
Extensions to the service can provide additional layout behaviour.  For example, a new provider could implement a specialized inheritance layout.
&lt;/p&gt;
      </documentation>
   </annotation>

   <element name="extension">
      <complexType>
         <sequence>
            <element ref="layoutProvider"/>
         </sequence>
         <attribute name="point" type="string" use="required">
            <annotation>
               <documentation>
                  The identifier of the extension point, i.e. &lt;tt&gt;org.eclipse.gmf.runtime.diagram.ui.layoutProviders&lt;/tt&gt;
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string">
            <annotation>
               <documentation>
                  The identifier of the extension, e.g. layoutProvider.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string">
            <annotation>
               <documentation>
                  The name of the extension, e.g. %ext.layoutProvider.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="layoutProvider">
      <annotation>
         <documentation>
            The layout provider description tag.
         </documentation>
      </annotation>
      <complexType>
         <all>
            <element ref="Priority"/>
         </all>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  The fully qualified name of the layout provider class.

The specified provider class should implement the org.eclipse.gmf.runtime.diagram.ui.services.layout.ILayoutNodeProvider 
interface.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="Priority">
      <annotation>
         <documentation>
            The description for the priority of the layout provider.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="name" use="required">
            <annotation>
               <documentation>
                  The priority of the provider. It can be one of the following values:
Lowest, Low, Medium, High, Highest. 

&lt;p&gt;Consideration of dependencies has to be done when choosing the priority.  The layout operation is executed on the first provider (in descending order of priority) that is found to provide the operation.
&lt;/p&gt;
               </documentation>
            </annotation>
            <simpleType>
               <restriction base="string">
                  <enumeration value="Lowest">
                  </enumeration>
                  <enumeration value="Low">
                  </enumeration>
                  <enumeration value="Medium">
                  </enumeration>
                  <enumeration value="High">
                  </enumeration>
                  <enumeration value="Highest">
                  </enumeration>
               </restriction>
            </simpleType>
         </attribute>
      </complexType>
   </element>

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         The following is an example of an xml entry for a provider extension:

&lt;pre&gt;
 &lt;extension
         id=&quot;presentationLayoutProvider&quot;
         name=&quot;RadialProvider&quot;
         point=&quot;org.eclipse.gmf.runtime.diagram.ui.layoutProviders&quot;&gt;
      &lt;layoutProvider
            class=&quot;org.eclipse.gmf.runtime.diagram.ui.providers.layout.RadialProvider&quot;&gt;
         &lt;Priority
               name=&quot;Lowest&quot;&gt;
         &lt;/Priority&gt;
      &lt;/layoutProvider&gt;
  &lt;/extension&gt;
&lt;/pre&gt;
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="apiInfo"/>
      </appInfo>
      <documentation>
         For API information, see the interfaces defined in the &lt;tt&gt;org.eclipse.gmf.runtime.diagram.ui.services.layout&lt;/tt&gt; package.

&lt;p&gt;
Clients providing an extension to the layout service need to create a provider class that implements the &lt;tt&gt;org.eclipse.gmf.runtime.diagram.ui.services.layout.ILayoutNodeProvider&lt;/tt&gt; interface.
&lt;/p&gt;
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="implementation"/>
      </appInfo>
      <documentation>
         
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="copyright"/>
      </appInfo>
      <documentation>
        Copyright (c) 2003, 2004  IBM Corporation and others.&lt;br&gt;
	All rights reserved. This program and the accompanying materials 
	are made available under the terms of the Eclipse Public License v1.0 
	which accompanies this distribution, and is available at 
	&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;

      </documentation>
   </annotation>

</schema>
