package net.sourceforge.c4jplugin.internal.ui.preferences; import net.sourceforge.c4jplugin.internal.ui.text.UIMessages; import org.eclipse.jface.preference.PreferencePage; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; 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.Label; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; public class C4JAutomationPreferencePage extends PreferencePage implements IWorkbenchPreferencePage, SelectionListener { private Button buttonAutoImport; private Button buttonConfirmAutoImport; private Button buttonAutoRemoveImport; private Button buttonConfirmAutoRemove; private Button buttonEnableApt; private Button buttonConfirmApt; private Button buttonDisableApt; private Button buttonConfirmDisableApt; public void init(IWorkbench workbench) { } @Override protected Control createContents(Composite parent) { Composite compDialogs = new Composite(parent, SWT.NONE); compDialogs.setLayout(new GridLayout(1, false)); Label labelDescr = new Label(compDialogs, SWT.WRAP); GridData gridData = new GridData(SWT.FILL, SWT.CENTER, true, false); labelDescr.setLayoutData(gridData); labelDescr.setText(UIMessages.PreferencesAutomation_descr); Label labelEnable = new Label(compDialogs, SWT.NONE); gridData = new GridData(); gridData.verticalIndent = 20; labelEnable.setLayoutData(gridData); labelEnable.setText(UIMessages.PreferencesAutomation_enableHeader); buttonAutoImport = new Button(compDialogs, SWT.CHECK); buttonConfirmAutoImport = new Button(compDialogs, SWT.CHECK); gridData = new GridData(); gridData.horizontalIndent = 20; buttonConfirmAutoImport.setLayoutData(gridData); buttonEnableApt = new Button(compDialogs, SWT.CHECK); buttonConfirmApt = new Button(compDialogs, SWT.CHECK); gridData = new GridData(); gridData.horizontalIndent = 20; buttonConfirmApt.setLayoutData(gridData); Label labelDisable = new Label(compDialogs, SWT.NONE); labelDisable.setText(UIMessages.PreferencesAutomation_disableHeader); gridData = new GridData(); gridData.verticalIndent = 20; labelDisable.setLayoutData(gridData); buttonAutoRemoveImport = new Button(compDialogs, SWT.CHECK); buttonConfirmAutoRemove = new Button(compDialogs, SWT.CHECK); gridData = new GridData(); gridData.horizontalIndent = 20; buttonConfirmAutoRemove.setLayoutData(gridData); buttonDisableApt = new Button(compDialogs, SWT.CHECK); buttonConfirmDisableApt = new Button(compDialogs, SWT.CHECK); gridData = new GridData(); gridData.horizontalIndent = 20; buttonConfirmDisableApt.setLayoutData(gridData); buttonAutoImport.addSelectionListener(this); buttonAutoRemoveImport.addSelectionListener(this); buttonEnableApt.addSelectionListener(this); buttonDisableApt.addSelectionListener(this); buttonAutoImport.setText(UIMessages.PreferencesAutomation_importDependency); buttonConfirmAutoImport.setText(UIMessages.PreferencesAutomation_confirmDialog); buttonAutoRemoveImport.setText(UIMessages.PreferencesAutomation_removeDependency); buttonConfirmAutoRemove.setText(UIMessages.PreferencesAutomation_confirmDialog); buttonEnableApt.setText(UIMessages.PreferencesAutomation_enableApt); buttonConfirmApt.setText(UIMessages.PreferencesAutomation_confirmDialog); buttonDisableApt.setText(UIMessages.PreferencesAutomation_disableApt); buttonConfirmDisableApt.setText(UIMessages.PreferencesAutomation_confirmDialog); buttonAutoImport.setSelection(C4JPreferences.doPDEAutoImport()); buttonConfirmAutoImport.setSelection(C4JPreferences.askPDEAutoImport()); buttonAutoRemoveImport.setSelection(C4JPreferences.doPDEAutoRemoveImport()); buttonConfirmAutoRemove.setSelection(C4JPreferences.askPDEAutoRemoveImport()); buttonEnableApt.setSelection(C4JPreferences.doAptAutoEnable()); buttonConfirmApt.setSelection(C4JPreferences.askAptAutoEnable()); buttonDisableApt.setSelection(C4JPreferences.doAptAutoDisable()); buttonConfirmDisableApt.setSelection(C4JPreferences.askAptAutoDisable()); widgetSelected(null); return compDialogs; } @Override protected void performDefaults() { buttonAutoImport.setSelection(C4JPreferences.defaultDoPDEAutoImport()); buttonConfirmAutoImport.setSelection(C4JPreferences.defaultAskPDEAutoImport()); buttonAutoRemoveImport.setSelection(C4JPreferences.defaultDoPDEAutoRemoveImport()); buttonConfirmAutoRemove.setSelection(C4JPreferences.defaultAskPDEAutoRemoveImport()); buttonEnableApt.setSelection(C4JPreferences.defaultDoAptAutoEnable()); buttonConfirmApt.setSelection(C4JPreferences.defaultAskAptAutoEnable()); buttonDisableApt.setSelection(C4JPreferences.defaultDoAptAutoDisable()); buttonConfirmDisableApt.setSelection(C4JPreferences.defaultAskAptAutoDisable()); super.performDefaults(); } @Override public boolean performOk() { C4JPreferences.setDoPDEAutoImport(buttonAutoImport.getSelection()); C4JPreferences.setAskPDEAutoImport(buttonConfirmAutoImport.getSelection()); C4JPreferences.setDoPDEAutoRemoveImport(buttonAutoRemoveImport.getSelection()); C4JPreferences.setAskPDEAutoRemoveImport(buttonConfirmAutoRemove.getSelection()); C4JPreferences.setDoAptAutoEnable(buttonEnableApt.getSelection()); C4JPreferences.setAskAptAutoEnable(buttonConfirmApt.getSelection()); C4JPreferences.setDoAptAutoDisable(buttonDisableApt.getSelection()); C4JPreferences.setAskAptAutoDisable(buttonConfirmDisableApt.getSelection()); return super.performOk(); } public void widgetDefaultSelected(SelectionEvent e) {} public void widgetSelected(SelectionEvent e) { buttonConfirmAutoImport.setEnabled(buttonAutoImport.getSelection()); buttonConfirmAutoRemove.setEnabled(buttonAutoRemoveImport.getSelection()); buttonConfirmApt.setEnabled(buttonEnableApt.getSelection()); buttonConfirmDisableApt.setEnabled(buttonDisableApt.getSelection()); } }