package com.dubture.composer.ui.preferences; import java.io.File; import org.eclipse.core.resources.IProject; import org.eclipse.php.internal.ui.preferences.IStatusChangeListener; import org.eclipse.ui.preferences.IWorkbenchPreferenceContainer; import org.pdtextensions.core.ui.preferences.launcher.LauncherConfigurationBlock; import org.pdtextensions.core.ui.preferences.launcher.LauncherKeyBag; import com.dubture.composer.core.ComposerPlugin; @SuppressWarnings("restriction") public class ComposerConfigurationBlock extends LauncherConfigurationBlock { public ComposerConfigurationBlock(IStatusChangeListener context, IProject project, IWorkbenchPreferenceContainer container, LauncherKeyBag keyBag) { super(context, project, container, keyBag); } protected String getPluginId() { return ComposerPlugin.ID; } @Override protected void afterSave() { //ScriptLauncher.resetEnvironment(); } @Override protected void beforeSave() { } @Override protected String getHeaderLabel() { return "Select the PHP executable to be used for running composer binaries."; } @Override protected String getProjectChoiceLabel() { return "Download composer per project"; } @Override protected String getGlobalChoiceLabel() { return "Use global composer"; } @Override protected String getScriptLabel() { return "Composer binary"; } @Override protected String getButtonGroupLabel() { return "Composer selection"; } @Override protected String getScriptFieldLabel() { return "Custom composer binary"; } @Override protected boolean validateScript(String text) { File file = new File(text); return file.exists() /*&& file.canExecute()*/; } }