Extensions to the service can provide additional layout behaviour. For example, a new provider could implement a specialized inheritance layout.
<!ELEMENT extension (layoutProvider)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
<!ELEMENT layoutProvider (Priority)>
<!ATTLIST layoutProvider
class CDATA #REQUIRED>
The layout provider description tag.
<!ELEMENT Priority EMPTY>
<!ATTLIST Priority
name (Lowest|Low|Medium|High|Highest) >
The description for the priority of the layout provider.
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.
<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>
Clients providing an extension to the layout service need to create a provider class that implements the org.eclipse.gmf.runtime.diagram.ui.services.layout.ILayoutNodeProvider interface.
Copyright (c) 2004, 2018 Model RealTime, HCL and others. All Rights Reserved.