X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/preferences/TodoTaskPropertyPage.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/preferences/TodoTaskPropertyPage.java index a6ecaab..b9395f4 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/preferences/TodoTaskPropertyPage.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/preferences/TodoTaskPropertyPage.java @@ -1,39 +1,17 @@ /******************************************************************************* * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials + * All rights reserved. This program and the accompanying materials * are made available under the terms of the Common Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/cpl-v10.html - * + * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ package net.sourceforge.phpdt.internal.ui.preferences; -import org.eclipse.core.runtime.IStatus; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.custom.BusyIndicator; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; - -import org.eclipse.jface.dialogs.ControlEnableState; -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.preference.IPreferenceNode; -import org.eclipse.jface.preference.IPreferencePage; -import org.eclipse.jface.preference.PreferenceDialog; -import org.eclipse.jface.preference.PreferenceManager; -import org.eclipse.jface.preference.PreferenceNode; -import org.eclipse.jface.window.Window; - -import org.eclipse.ui.dialogs.PropertyPage; -import org.eclipse.ui.help.WorkbenchHelp; - import net.sourceforge.phpdt.core.IJavaElement; import net.sourceforge.phpdt.core.IJavaProject; - import net.sourceforge.phpdt.internal.ui.IJavaHelpContextIds; import net.sourceforge.phpdt.internal.ui.dialogs.StatusInfo; import net.sourceforge.phpdt.internal.ui.dialogs.StatusUtil; @@ -43,43 +21,69 @@ import net.sourceforge.phpdt.internal.ui.wizards.dialogfields.IDialogFieldListen import net.sourceforge.phpdt.internal.ui.wizards.dialogfields.LayoutUtil; import net.sourceforge.phpdt.internal.ui.wizards.dialogfields.SelectionButtonDialogField; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.jface.dialogs.ControlEnableState; +import org.eclipse.jface.dialogs.Dialog; +import org.eclipse.jface.preference.IPreferenceNode; +import org.eclipse.jface.preference.IPreferencePage; +import org.eclipse.jface.preference.PreferenceDialog; +import org.eclipse.jface.preference.PreferenceManager; +import org.eclipse.jface.preference.PreferenceNode; +import org.eclipse.jface.window.Window; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.BusyIndicator; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.dialogs.PropertyPage; + /** * Property page used to configure project specific task tags settings */ public class TodoTaskPropertyPage extends PropertyPage { private TodoTaskConfigurationBlock fConfigurationBlock; + private Control fConfigurationBlockControl; + private ControlEnableState fBlockEnableState; + private SelectionButtonDialogField fUseWorkspaceSettings; + private SelectionButtonDialogField fChangeWorkspaceSettings; + private SelectionButtonDialogField fUseProjectSettings; + private IStatus fBlockStatus; - public TodoTaskPropertyPage() { - fBlockStatus= new StatusInfo(); - fBlockEnableState= null; - - IDialogFieldListener listener= new IDialogFieldListener() { + fBlockStatus = new StatusInfo(); + fBlockEnableState = null; + + IDialogFieldListener listener = new IDialogFieldListener() { public void dialogFieldChanged(DialogField field) { doDialogFieldChanged(field); } }; - - fUseWorkspaceSettings= new SelectionButtonDialogField(SWT.RADIO); + + fUseWorkspaceSettings = new SelectionButtonDialogField(SWT.RADIO); fUseWorkspaceSettings.setDialogFieldListener(listener); - fUseWorkspaceSettings.setLabelText(PreferencesMessages.getString("TodoTaskPropertyPage.useworkspacesettings.label")); //$NON-NLS-1$ + fUseWorkspaceSettings.setLabelText(PreferencesMessages + .getString("TodoTaskPropertyPage.useworkspacesettings.label")); //$NON-NLS-1$ - fChangeWorkspaceSettings= new SelectionButtonDialogField(SWT.PUSH); - fChangeWorkspaceSettings.setLabelText(PreferencesMessages.getString("TodoTaskPropertyPage.useworkspacesettings.change")); //$NON-NLS-1$ + fChangeWorkspaceSettings = new SelectionButtonDialogField(SWT.PUSH); + fChangeWorkspaceSettings.setLabelText(PreferencesMessages + .getString("TodoTaskPropertyPage.useworkspacesettings.change")); //$NON-NLS-1$ fChangeWorkspaceSettings.setDialogFieldListener(listener); - + fUseWorkspaceSettings.attachDialogField(fChangeWorkspaceSettings); - fUseProjectSettings= new SelectionButtonDialogField(SWT.RADIO); + fUseProjectSettings = new SelectionButtonDialogField(SWT.RADIO); fUseProjectSettings.setDialogFieldListener(listener); - fUseProjectSettings.setLabelText(PreferencesMessages.getString("TodoTaskPropertyPage.useprojectsettings.label")); //$NON-NLS-1$ + fUseProjectSettings.setLabelText(PreferencesMessages + .getString("TodoTaskPropertyPage.useprojectsettings.label")); //$NON-NLS-1$ } /* @@ -87,95 +91,104 @@ public class TodoTaskPropertyPage extends PropertyPage { */ public void createControl(Composite parent) { super.createControl(parent); - WorkbenchHelp.setHelp(getControl(), IJavaHelpContextIds.TODOTASK_PROPERTY_PAGE); + PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), + IJavaHelpContextIds.TODOTASK_PROPERTY_PAGE); } /* * @see org.eclipse.jface.preference.IPreferencePage#createContents(Composite) */ protected Control createContents(Composite parent) { - IStatusChangeListener listener= new IStatusChangeListener() { + IStatusChangeListener listener = new IStatusChangeListener() { public void statusChanged(IStatus status) { - fBlockStatus= status; + fBlockStatus = status; doStatusChanged(); } - }; - fConfigurationBlock= new TodoTaskConfigurationBlock(listener, getProject()); - - Composite composite= new Composite(parent, SWT.NONE); - GridLayout layout= new GridLayout(); - layout.marginHeight= 0; - layout.marginWidth= 0; - layout.numColumns= 1; + }; + fConfigurationBlock = new TodoTaskConfigurationBlock(listener, + getProject()); + + Composite composite = new Composite(parent, SWT.NONE); + GridLayout layout = new GridLayout(); + layout.marginHeight = 0; + layout.marginWidth = 0; + layout.numColumns = 1; composite.setLayout(layout); - + fUseWorkspaceSettings.doFillIntoGrid(composite, 1); - LayoutUtil.setHorizontalGrabbing(fUseWorkspaceSettings.getSelectionButton(null)); - + LayoutUtil.setHorizontalGrabbing(fUseWorkspaceSettings + .getSelectionButton(null)); + fChangeWorkspaceSettings.doFillIntoGrid(composite, 1); - GridData data= (GridData) fChangeWorkspaceSettings.getSelectionButton(null).getLayoutData(); - data.horizontalIndent= convertWidthInCharsToPixels(3); - data.horizontalAlignment= GridData.BEGINNING; - + GridData data = (GridData) fChangeWorkspaceSettings.getSelectionButton( + null).getLayoutData(); + data.horizontalIndent = convertWidthInCharsToPixels(3); + data.horizontalAlignment = GridData.BEGINNING; + fUseProjectSettings.doFillIntoGrid(composite, 1); - - data= new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL ); - data.horizontalSpan= 1; - data.horizontalIndent= convertWidthInCharsToPixels(2); - - fConfigurationBlockControl= fConfigurationBlock.createContents(composite); + + data = new GridData(GridData.HORIZONTAL_ALIGN_FILL + | GridData.VERTICAL_ALIGN_FILL); + data.horizontalSpan = 1; + data.horizontalIndent = convertWidthInCharsToPixels(2); + + fConfigurationBlockControl = fConfigurationBlock + .createContents(composite); fConfigurationBlockControl.setLayoutData(data); - - boolean useProjectSettings= fConfigurationBlock.hasProjectSpecificOptions(); - + + boolean useProjectSettings = fConfigurationBlock + .hasProjectSpecificOptions(); + fUseProjectSettings.setSelection(useProjectSettings); fUseWorkspaceSettings.setSelection(!useProjectSettings); - + updateEnableState(); Dialog.applyDialogFont(composite); return composite; } - + private boolean useProjectSettings() { return fUseProjectSettings.isSelected(); } - + private void doDialogFieldChanged(DialogField field) { if (field == fChangeWorkspaceSettings) { - TodoTaskPreferencePage page= new TodoTaskPreferencePage(); + TodoTaskPreferencePage page = new TodoTaskPreferencePage(); showPreferencePage(TodoTaskPreferencePage.ID, page); } else { updateEnableState(); doStatusChanged(); } - } + } + /** * Method statusChanged. */ private void doStatusChanged() { updateStatus(useProjectSettings() ? fBlockStatus : new StatusInfo()); } - + /** * Method getProject. */ private IJavaProject getProject() { - return (IJavaProject) getElement().getAdapter(IJavaElement.class); + return (IJavaProject) getElement().getAdapter(IJavaElement.class); } - + private void updateEnableState() { if (useProjectSettings()) { if (fBlockEnableState != null) { fBlockEnableState.restore(); - fBlockEnableState= null; + fBlockEnableState = null; } } else { if (fBlockEnableState == null) { - fBlockEnableState= ControlEnableState.disable(fConfigurationBlockControl); + fBlockEnableState = ControlEnableState + .disable(fConfigurationBlockControl); } - } + } } - + /* * @see org.eclipse.jface.preference.IPreferencePage#performDefaults() */ @@ -194,27 +207,28 @@ public class TodoTaskPropertyPage extends PropertyPage { public boolean performOk() { return fConfigurationBlock.performOk(useProjectSettings()); } - + private void updateStatus(IStatus status) { setValid(!status.matches(IStatus.ERROR)); StatusUtil.applyToStatusLine(this, status); } - + private boolean showPreferencePage(String id, IPreferencePage page) { final IPreferenceNode targetNode = new PreferenceNode(id, page); - + PreferenceManager manager = new PreferenceManager(); manager.addToRoot(targetNode); - final PreferenceDialog dialog = new PreferenceDialog(getShell(), manager); - final boolean [] result = new boolean[] { false }; + final PreferenceDialog dialog = new PreferenceDialog(getShell(), + manager); + final boolean[] result = new boolean[] { false }; BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() { public void run() { dialog.create(); dialog.setMessage(targetNode.getLabelText()); - result[0]= (dialog.open() == Window.OK); + result[0] = (dialog.open() == Window.OK); } }); return result[0]; - } + } }