package com.mobilesorcery.sdk.extensionsupport.ui; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Shell; import com.mobilesorcery.sdk.extensionsupport.ExtensionSupportBuildStep; import com.mobilesorcery.sdk.extensionsupport.ExtensionSupportBuildStep.Factory; import com.mobilesorcery.sdk.ui.BuildStepEditor; public class ExtensionSupportBuildStepEditor extends BuildStepEditor { private Button doAutoInstall; private Button doGenerateStubs; @Override public void configureShell(Shell shell) { super.configureShell(shell); shell.setText("Edit Extension Build Step"); } @Override public Control createDialogArea(Composite parent) { Composite main = (Composite) super.createDialogArea(parent); main.setLayoutData(new GridData(GridData.FILL)); main.setLayout(new GridLayout(2, false)); if (getFactory().getPhase().equals(ExtensionSupportBuildStep.PACK_PHASE)) { doAutoInstall = new Button(main, SWT.CHECK); doAutoInstall.setText("&Automatically install extension"); doAutoInstall.setLayoutData(new GridData(SWT.DEFAULT, SWT.DEFAULT, true, false, 2, 1)); doAutoInstall.setSelection(getFactory().shouldUpdateInstallation()); } else { doGenerateStubs = new Button(main, SWT.CHECK); doGenerateStubs.setText("&Always Generate Stubs"); doGenerateStubs.setLayoutData(new GridData(SWT.DEFAULT, SWT.DEFAULT, true, false, 2, 1)); doGenerateStubs.setSelection(getFactory().shouldGenerateStubs()); } return main; } @Override public void okPressed() { if (doAutoInstall != null) { getFactory().shouldUpdateInstallation(doAutoInstall.getSelection()); } if (doGenerateStubs != null) { getFactory().shouldGenerateStubs(doGenerateStubs.getSelection()); } super.okPressed(); } private ExtensionSupportBuildStep.Factory getFactory() { return (Factory) factory; } }