Ad esempio, il codice di seguito aggiunge un controllo a discesa relativo ai caratteri personalizzati alla barra degli strumenti principale:
public void addFontFaceDropdownControl() {
StringBuffer sb = new StringBuffer();
sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
sb.append("<plugin>");
sb.append("<extension point=\"com.ibm.rcp.platform.controlSets\"");
sb.append(" id=\"com.ibm.app.toolbar.controlsets\">");
sb.append("<controlSet ");
sb.append(" visible=\"true\"");
sb.append(" id=\"com.ibm.app.toolbar.controlset\">");
sb.append("<control");
sb.append(" id=\"sample.FontFaceDropdownControlContribution\"");
sb.append(" toolbarPath=\"ToolSetId/SampleToolGroup\"");
sb.append(" class=\"sample.FontFaceDropdownControlContribution\"/>");
sb.append("</controlSet>");
sb.append("</extension>");
sb.append("</plugin>");
try {
addExtension(sb.toString());
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
void addExtension(String xmlsrc) throws UnsupportedEncodingException {
// use Eclipse Dynamic Extension API
IExtensionRegistry reg = RegistryFactory.getRegistry();
Object key = ((ExtensionRegistry)reg).getTemporaryUserToken();
Bundle bundle = Activator.getDefault().getBundle();
IContributor contributor =
ContributorFactoryOSGi.createContributor(bundle);
ByteArrayInputStream is =
new ByteArrayInputStream(xmlsrc.getBytes("UTF-8"));
reg.addContribution(is, contributor, false, null, null, key);
}
Nota: vedere il javadoc dell'API Eclipse per org.eclipse.core.runtime.IExtensionRegistry#addContribution per ulteriori informazioni sul metodo addContribution.