X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/preferences/CompilerPropertyPage.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/preferences/CompilerPropertyPage.java deleted file mode 100644 index c0cb607..0000000 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/preferences/CompilerPropertyPage.java +++ /dev/null @@ -1,213 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * 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 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; -import net.sourceforge.phpdt.internal.ui.wizards.IStatusChangeListener; -import net.sourceforge.phpdt.internal.ui.wizards.dialogfields.DialogField; -import net.sourceforge.phpdt.internal.ui.wizards.dialogfields.IDialogFieldListener; -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 compiler settings - */ -public class CompilerPropertyPage extends PropertyPage { - - private CompilerConfigurationBlock fConfigurationBlock; - private Control fConfigurationBlockControl; - private ControlEnableState fBlockEnableState; - private SelectionButtonDialogField fUseWorkspaceSettings; - private SelectionButtonDialogField fChangeWorkspaceSettings; - private SelectionButtonDialogField fUseProjectSettings; - private IStatus fBlockStatus; - - - public CompilerPropertyPage() { - fBlockStatus= new StatusInfo(); - fBlockEnableState= null; - - IDialogFieldListener listener= new IDialogFieldListener() { - public void dialogFieldChanged(DialogField field) { - doDialogFieldChanged(field); - } - }; - - fUseWorkspaceSettings= new SelectionButtonDialogField(SWT.RADIO); - fUseWorkspaceSettings.setDialogFieldListener(listener); - fUseWorkspaceSettings.setLabelText(PreferencesMessages.getString("CompilerPropertyPage.useworkspacesettings.label")); //$NON-NLS-1$ - - fChangeWorkspaceSettings= new SelectionButtonDialogField(SWT.PUSH); - fChangeWorkspaceSettings.setLabelText(PreferencesMessages.getString("CompilerPropertyPage.useworkspacesettings.change")); //$NON-NLS-1$ - fChangeWorkspaceSettings.setDialogFieldListener(listener); - - fUseWorkspaceSettings.attachDialogField(fChangeWorkspaceSettings); - - fUseProjectSettings= new SelectionButtonDialogField(SWT.RADIO); - fUseProjectSettings.setDialogFieldListener(listener); - fUseProjectSettings.setLabelText(PreferencesMessages.getString("CompilerPropertyPage.useprojectsettings.label")); //$NON-NLS-1$ - } - - /* - * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite) - */ - public void createControl(Composite parent) { - super.createControl(parent); - PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IJavaHelpContextIds.COMPILER_PROPERTY_PAGE); - } - - /* - * @see org.eclipse.jface.preference.IPreferencePage#createContents(Composite) - */ - protected Control createContents(Composite parent) { - IStatusChangeListener listener= new IStatusChangeListener() { - public void statusChanged(IStatus status) { - fBlockStatus= status; - doStatusChanged(); - } - }; - fConfigurationBlock= new CompilerConfigurationBlock(listener, getProject()); - - Composite composite= new Composite(parent, SWT.NONE); - GridLayout layout= new GridLayout(); - layout.marginHeight= 0; - layout.marginWidth= 0; - layout.numColumns= 2; - composite.setLayout(layout); - - fUseWorkspaceSettings.doFillIntoGrid(composite, 1); - LayoutUtil.setHorizontalGrabbing(fUseWorkspaceSettings.getSelectionButton(null)); - - fChangeWorkspaceSettings.doFillIntoGrid(composite, 1); - - fUseProjectSettings.doFillIntoGrid(composite, 2); - - GridData data= new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL ); - data.horizontalSpan= 2; - - fConfigurationBlockControl= fConfigurationBlock.createContents(composite); - fConfigurationBlockControl.setLayoutData(data); - - 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) { - String id= "net.sourceforge.phpdt.ui.preferences.CompilerPreferencePage"; //$NON-NLS-1$ - CompilerPreferencePage page= new CompilerPreferencePage(); - showPreferencePage(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); - } - - private void updateEnableState() { - if (useProjectSettings()) { - if (fBlockEnableState != null) { - fBlockEnableState.restore(); - fBlockEnableState= null; - } - } else { - if (fBlockEnableState == null) { - fBlockEnableState= ControlEnableState.disable(fConfigurationBlockControl); - } - } - } - - /* - * @see org.eclipse.jface.preference.IPreferencePage#performDefaults() - */ - protected void performDefaults() { - if (useProjectSettings()) { - fUseProjectSettings.setSelection(false); - fUseWorkspaceSettings.setSelection(true); - fConfigurationBlock.performDefaults(); - } - super.performDefaults(); - } - - /* - * @see org.eclipse.jface.preference.IPreferencePage#performOk() - */ - 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(getControl().getShell(), manager); - final boolean [] result = new boolean[] { false }; - BusyIndicator.showWhile(getControl().getDisplay(), new Runnable() { - public void run() { - dialog.create(); - dialog.setMessage(targetNode.getLabelText()); - result[0]= (dialog.open() == Window.OK); - } - }); - return result[0]; - } - -}