1 11 package org.eclipse.ui.externaltools.internal.ui; 12 13 14 import org.eclipse.jface.preference.PreferencePage; 15 import org.eclipse.swt.SWT; 16 import org.eclipse.swt.layout.GridData; 17 import org.eclipse.swt.layout.GridLayout; 18 import org.eclipse.swt.widgets.Button; 19 import org.eclipse.swt.widgets.Composite; 20 import org.eclipse.swt.widgets.Control; 21 import org.eclipse.ui.IWorkbench; 22 import org.eclipse.ui.IWorkbenchPreferencePage; 23 import org.eclipse.ui.PlatformUI; 24 import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin; 25 import org.eclipse.ui.externaltools.internal.model.IExternalToolsHelpContextIds; 26 import org.eclipse.ui.externaltools.internal.model.IPreferenceConstants; 27 28 31 public class ExternalToolsPreferencePage extends PreferencePage implements IWorkbenchPreferencePage { 32 33 private Button promptForToolMigrationButton; 34 private Button promptForProjectMigrationButton; 35 36 public ExternalToolsPreferencePage() { 37 setPreferenceStore(ExternalToolsPlugin.getDefault().getPreferenceStore()); 38 setDescription(ExternalToolsUIMessages.ExternalToolsPreferencePage_External_tool_project_builders_migration_2); 39 } 40 41 44 protected Control createContents(Composite parent) { 45 PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IExternalToolsHelpContextIds.EXTERNAL_TOOLS_PREFERENCE_PAGE); 46 Composite composite = new Composite(parent, SWT.NULL); 48 GridLayout layout = new GridLayout(); 49 layout.marginHeight=0; 50 layout.marginWidth=0; 51 composite.setLayout(layout); 52 composite.setFont(parent.getFont()); 53 54 promptForToolMigrationButton= createCheckButton(composite, ExternalToolsUIMessages.ExternalToolsPreferencePage_Prompt_before_migrating_3, IPreferenceConstants.PROMPT_FOR_TOOL_MIGRATION); 55 promptForProjectMigrationButton= createCheckButton(composite, ExternalToolsUIMessages.ExternalToolsPreferencePage_1, IPreferenceConstants.PROMPT_FOR_PROJECT_MIGRATION); 56 57 applyDialogFont(composite); 58 59 return composite; 60 } 61 62 65 private Button createCheckButton(Composite parent, String label, String preferenceKey) { 66 Button button= new Button(parent, SWT.CHECK | SWT.LEFT); 67 button.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING)); 68 button.setFont(parent.getFont()); 69 button.setText(label); 70 button.setSelection(getPreferenceStore().getBoolean(preferenceKey)); 71 return button; 72 } 73 74 77 public void init(IWorkbench workbench) { 78 } 79 80 83 public boolean performOk() { 84 getPreferenceStore().setValue(IPreferenceConstants.PROMPT_FOR_TOOL_MIGRATION, promptForToolMigrationButton.getSelection()); 85 getPreferenceStore().setValue(IPreferenceConstants.PROMPT_FOR_PROJECT_MIGRATION, promptForProjectMigrationButton.getSelection()); 86 return super.performOk(); 87 } 88 89 92 protected void performDefaults() { 93 promptForToolMigrationButton.setSelection(getPreferenceStore().getDefaultBoolean(IPreferenceConstants.PROMPT_FOR_TOOL_MIGRATION)); 94 promptForToolMigrationButton.setSelection(getPreferenceStore().getDefaultBoolean(IPreferenceConstants.PROMPT_FOR_PROJECT_MIGRATION)); 95 super.performDefaults(); 96 } 97 } 98 | Popular Tags |