package org.goko.preferences.units; import java.util.List; import javax.inject.Inject; import org.eclipse.e4.core.contexts.IEclipseContext; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; import org.goko.common.preferences.GkFieldEditorPreferencesPage; import org.goko.common.preferences.fieldeditor.preference.ComboFieldEditor; import org.goko.core.config.GokoPreference; import org.goko.core.feature.IFeatureSetManager; import org.goko.core.feature.TargetBoard; /** * Configuration of the units used in Goko * * @author PsyKo * */ public class GokoGeneralPreferences extends GkFieldEditorPreferencesPage { @Inject private IFeatureSetManager featureManager; @Inject private IEclipseContext context; public GokoGeneralPreferences() { setTitle("General"); setPreferenceStore(GokoPreference.getInstance()); } /** (inheritDoc) * @see org.goko.common.preferences.GkFieldEditorPreferencesPage#createPreferencePage(org.eclipse.swt.widgets.Composite) */ @Override protected void createPreferencePage(Composite parent) { ComboFieldEditor comboTargetBoardFieldEditor = new ComboFieldEditor(parent, SWT.READ_ONLY); comboTargetBoardFieldEditor.setLabel("Target board"); comboTargetBoardFieldEditor.setPreferenceName(GokoPreference.KEY_TARGET_BOARD); List<TargetBoard> lstBoards = featureManager.getSupportedBoards(); String[][] entry = new String[lstBoards.size()+1][]; int i = 1; entry[0] = new String[]{"Default",""}; for (TargetBoard targetBoard : lstBoards) { entry[i] = new String[]{targetBoard.getLabel(), targetBoard.getId()}; i++; } comboTargetBoardFieldEditor.setEntry(entry); addField(comboTargetBoardFieldEditor); } }