package net.jeeeyul.eclipse.themes.ui;
import java.util.ArrayList;
import net.jeeeyul.eclipse.themes.JThemesCore;
import net.jeeeyul.eclipse.themes.SharedImages;
import net.jeeeyul.eclipse.themes.ui.preference.preset.IJTPresetCategory;
import net.jeeeyul.eclipse.themes.ui.preference.preset.IJTPresetManager;
import org.eclipse.jface.action.IContributionItem;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.ui.actions.CompoundContributionItem;
/**
* populates all categories into menu.
*
* @author Jeeeyul
*/
public class CategoriesContribution extends CompoundContributionItem {
@Override
protected IContributionItem[] getContributionItems() {
IJTPresetManager presetManager = JThemesCore.getDefault().getPresetManager();
IJTPresetCategory[] categories = presetManager.getCategories();
ArrayList<IContributionItem> result = new ArrayList<IContributionItem>();
for (IJTPresetCategory each : categories) {
if (each.getPresets().size() == 0) {
continue;
}
MenuManager manager = new MenuManager(each.getName(), SharedImages.getImageDescriptor(SharedImages.PRESET), each.getID());
manager.add(new PresetsContribution(each));
result.add(manager);
}
return result.toArray(new IContributionItem[result.size()]);
}
}