package org.freeplane.core.ui.ribbon;
import java.util.Properties;
import org.pushingpixels.flamingo.api.ribbon.RibbonApplicationMenu;
import org.pushingpixels.flamingo.api.ribbon.RibbonApplicationMenuEntryFooter;
import org.pushingpixels.flamingo.api.ribbon.RibbonApplicationMenuEntryPrimary;
public class RibbonMenuContributorFactory implements IRibbonContributorFactory {
public ARibbonContributor getContributor(final Properties attributes) {
return new ARibbonContributor() {
private RibbonApplicationMenu menu;
public String getKey() {
return "app_menu";
}
public void contribute(RibbonBuildContext context, ARibbonContributor parent) {
menu = new RibbonApplicationMenu();
context.processChildren(context.getCurrentPath(), this);
parent.addChild(menu, null);
}
public void addChild(Object child, ChildProperties properties) {
if(child instanceof RibbonApplicationMenuEntryFooter) {
menu.addFooterEntry((RibbonApplicationMenuEntryFooter) child);
}
else if(child instanceof RibbonApplicationMenuEntryPrimary) {
menu.addMenuEntry((RibbonApplicationMenuEntryPrimary) child);
}
}
};
}
}