package net.jeeeyul.eclipse.themes.ui.preference.actions;
import java.util.List;
import net.jeeeyul.eclipse.themes.ui.preference.internal.JTPreferencePage;
import net.jeeeyul.eclipse.themes.ui.preference.preset.IJTPreset;
import org.eclipse.jface.action.ActionContributionItem;
import org.eclipse.jface.action.IContributionItem;
import org.eclipse.jface.action.Separator;
import org.eclipse.ui.actions.CompoundContributionItem;
/**
* Populate load user preset items in preference page menu.
*
* @author Jeeeyul
*/
public class UserPresetItems extends CompoundContributionItem {
private JTPreferencePage page;
/**
* Creates {@link UserPresetItems}
*
* @param page
* preference page.
*/
public UserPresetItems(JTPreferencePage page) {
this.page = page;
}
@Override
protected IContributionItem[] getContributionItems() {
List<IJTPreset> userPresets = page.getPresetManager().getUserCategory().getPresets();
if (userPresets.size() == 0) {
return new IContributionItem[0];
}
IContributionItem[] result = new IContributionItem[userPresets.size() + 1];
result[0] = new Separator();
for (int i = 0; i < userPresets.size(); i++) {
LoadPresetAction action = new LoadPresetAction(page, userPresets.get(i));
result[i + 1] = new ActionContributionItem(action);
}
return result;
}
}