package net.jeeeyul.eclipse.themes.ui;
import java.util.List;
import net.jeeeyul.eclipse.themes.ui.preference.preset.IJTPreset;
import net.jeeeyul.eclipse.themes.ui.preference.preset.IJTPresetCategory;
import org.eclipse.jface.action.ActionContributionItem;
import org.eclipse.jface.action.IContributionItem;
import org.eclipse.ui.actions.CompoundContributionItem;
/**
* Populate preset items on drop down menu in toolbar from contributed preset
* through extension point.
*
* @author Jeeeyul
* @since 2.1
*/
public class PresetsContribution extends CompoundContributionItem {
private IJTPresetCategory category;
/**
* @param category
*/
public PresetsContribution(IJTPresetCategory category) {
this.category = category;
}
@Override
protected IContributionItem[] getContributionItems() {
List<IJTPreset> contributedPresets = category.getPresets();
if (contributedPresets.size() == 0) {
return new IContributionItem[0];
}
IContributionItem[] result = new IContributionItem[contributedPresets.size()];
for (int i = 0; i < contributedPresets.size(); i++) {
ApplyPresetAction action = new ApplyPresetAction(contributedPresets.get(i));
result[i] = new ActionContributionItem(action);
}
return result;
}
}