schema.rap.layouts.exsd Maven / Gradle / Ivy
The newest version!
This extension point is used to register a custom Layout. This means a grafical Layout not a Layout from the programmers point of view.<br>
Every Layout can hold attributes called LayoutSets. A LayoutSet is a simple container for images, fonts, colors and position data. These sets are usually coupled to a <code>ElementBuilder</code>.<br>
A Layout can override LayoutSets of other Layouts. These overriden LayoutSets are used if the user switch the Layout during runtime.<br>
The default Layout can be defined by contributing to the <code>org.eclipse.rap.ui.branding</code> extension point. If there is no default Layout defined a fallback mechanism will be used to show the standard Layout.
The unique identifier for a LayoutSet. This id can be used to override a LayoutSet in a different Layout.
This optional attribute is just to give the LayoutSet a readable name.
The definition of a LayoutSet. This is a class that has to implement the ILayoutSetInitializer interface.
To replace a layoutSet you can define a a new one and set the overrides attribute to make clear that the new layoutSet will replace the one defined in this attribute.
The unique identifier for a Layout.
This optional attribute is just to give the Layout a readable name.
RAP 1.2
The following is an example of a Layout with three LayoutSets:
<pre>
<extension
point="org.eclipse.rap.ui.layouts">
<layout
id="org.eclipse.presentation.example.layout"
name="Example Layout">
<layoutSet
class="org.eclipse.rap.ui.interactiondesign.example.layoutset.HeaderLayoutSet2"
id="header.layoutset"
name="Header2">
</layoutSet>
<layoutSet
class="org.eclipse.rap.ui.interactiondesign.example.layoutset.MacBarLayoutSet2"
id="macBar.layoutset"
name="MacBar 2">
</layoutSet>
<layoutSet
class="org.eclipse.rap.ui.interactiondesign.example.layoutset.FooterLayoutSet2"
id="footer.layoutset"
name="Footer">
</layoutSet>
<layoutSet
class="org.eclipse.rap.ui.interactiondesign.example.layoutset.NavigationPaneLayoutSet2"
id="navigationpane.layoutset"
name="NavigationPane">
</layoutSet>
</layout>
</extension>
</pre>
Each LayoutSet in a Layout has to implement the <code>ILayoutSetInitializer</code> interface. The method within is called during the plugin activation to initialize components like images or fonts for this LayoutSet. This implementation can look like this:
<pre>
public class HeaderLayoutSet implements ILayoutSetInitializer {
public void initializeLayoutSet( LayoutSet layoutSet ) {
layoutSet.addImagePath( HeaderBuilderData.LEFT, "icons/headerLeft.png" );
layoutSet.addImagePath( HeaderBuilderData.CENTER, "icons/headerCenter.png" );
layoutSet.addImagePath( HeaderBuilderData.RIGHT, "icons/headerRight.png" );
layoutSet.addImagePath( HeaderBuilderData.LOGO, "icons/headerLogo.png" );
addHeaderPositions( layoutSet );
}
}
</pre>
A detailed implementation example can be found in the <code>org.eclipse.rap.presentation.example</code> project. This project defines two Layouts and a bunch of LayoutSets. They look not pretty but they do their job.
Copyright (c) 2008, 2015 EclipseSource and others.<br>
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 <a
href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
© 2015 - 2025 Weber Informatics LLC | Privacy Policy