# Presentation Layout Providers

###### Identifier:

org.eclipse.gmf.runtime.diagram.ui.layoutProviders

###### Description:

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.

Extensions to the service can provide additional layout behaviour. For example, a new provider could implement a specialized inheritance layout.

###### Configuration Markup:

<!ELEMENT extension (layoutProvider)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED

>

- point - The identifier of the extension point, i.e. `org.eclipse.gmf.runtime.diagram.ui.layoutProviders`
- id - The identifier of the extension, e.g. layoutProvider.
- name - The name of the extension, e.g. %ext.layoutProvider.

<!ELEMENT layoutProvider (Priority)>

<!ATTLIST layoutProvider

class CDATA #REQUIRED

>

The layout provider description tag.

- class - 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.

<!ELEMENT Priority EMPTY>

<!ATTLIST Priority

name (Lowest|Low|Medium|High|Highest)

>

The description for the priority of the layout provider.

- name - The priority of the provider. It can be one of the following values: Lowest, Low, Medium, High, Highest.

  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.

###### Examples:

The following is an example of an xml entry for a provider extension:

     <extension
             id="presentationLayoutProvider"
             name="RadialProvider"
             point="org.eclipse.gmf.runtime.diagram.ui.layoutProviders">
          <layoutProvider
                class="org.eclipse.gmf.runtime.diagram.ui.providers.layout.RadialProvider">
             <Priority
                   name="Lowest">
             </Priority>
          </layoutProvider>
      </extension>

Copyright (c) 2003, 2004 IBM Corporation and others.
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 http://www.eclipse.org/legal/epl-v10.html