X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpdt/internal/ui/preferences/FoldingConfigurationBlock.java b/net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpdt/internal/ui/preferences/FoldingConfigurationBlock.java deleted file mode 100644 index 1085be6..0000000 --- a/net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpdt/internal/ui/preferences/FoldingConfigurationBlock.java +++ /dev/null @@ -1,400 +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 java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; - -import net.sourceforge.phpdt.internal.ui.text.folding.JavaFoldingStructureProviderDescriptor; -import net.sourceforge.phpdt.internal.ui.text.folding.JavaFoldingStructureProviderRegistry; -import net.sourceforge.phpdt.internal.ui.util.PixelConverter; -import net.sourceforge.phpdt.ui.PreferenceConstants; -import net.sourceforge.phpdt.ui.text.folding.IJavaFoldingPreferenceBlock; -//import net.sourceforge.phpeclipse.PHPeclipsePlugin; -import net.sourceforge.phpeclipse.ui.WebUI; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -//incastrix -//import org.eclipse.jface.text.Assert; -import org.eclipse.core.runtime.Assert; -import org.eclipse.jface.viewers.ComboViewer; -import org.eclipse.jface.viewers.ISelectionChangedListener; -import org.eclipse.jface.viewers.IStructuredContentProvider; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.LabelProvider; -import org.eclipse.jface.viewers.SelectionChangedEvent; -import org.eclipse.jface.viewers.StructuredSelection; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.swt.SWT; -import org.eclipse.swt.custom.StackLayout; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.layout.FillLayout; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Label; - -/** - * Configures Java Editor folding preferences. - * - * @since 3.0 - */ -class FoldingConfigurationBlock { - - private static class ErrorPreferences implements - IJavaFoldingPreferenceBlock { - private String fMessage; - - protected ErrorPreferences(String message) { - fMessage = message; - } - - /* - * @see net.sourceforge.phpdt.internal.ui.text.folding.IJavaFoldingPreferences#createControl(org.eclipse.swt.widgets.Group) - */ - public Control createControl(Composite composite) { - Composite inner = new Composite(composite, SWT.NONE); - inner.setLayout(new FillLayout(SWT.VERTICAL)); - - Label label = new Label(inner, SWT.CENTER); - label.setText(fMessage); - - return inner; - } - - public void initialize() { - } - - public void performOk() { - } - - public void performDefaults() { - } - - public void dispose() { - } - - } - - /** The overlay preference store. */ - private final OverlayPreferenceStore fStore; - - /* The controls */ - private Combo fProviderCombo; - - private Button fFoldingCheckbox; - - private ComboViewer fProviderViewer; - - private Map fProviderDescriptors; - - private Composite fGroup; - - private Map fProviderPreferences; - - private Map fProviderControls; - - private StackLayout fStackLayout; - - public FoldingConfigurationBlock(OverlayPreferenceStore store) { - Assert.isNotNull(store); - fStore = store; - fStore.addKeys(createOverlayStoreKeys()); - fProviderDescriptors = createListModel(); - fProviderPreferences = new HashMap(); - fProviderControls = new HashMap(); - } - - private Map createListModel() { - JavaFoldingStructureProviderRegistry reg = WebUI - .getDefault().getFoldingStructureProviderRegistry(); - reg.reloadExtensions(); - JavaFoldingStructureProviderDescriptor[] descs = reg - .getFoldingProviderDescriptors(); - Map map = new HashMap(); - for (int i = 0; i < descs.length; i++) { - map.put(descs[i].getId(), descs[i]); - } - return map; - } - - private OverlayPreferenceStore.OverlayKey[] createOverlayStoreKeys() { - - ArrayList overlayKeys = new ArrayList(); - - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.BOOLEAN, - PreferenceConstants.EDITOR_FOLDING_ENABLED)); - overlayKeys.add(new OverlayPreferenceStore.OverlayKey( - OverlayPreferenceStore.STRING, - PreferenceConstants.EDITOR_FOLDING_PROVIDER)); - - OverlayPreferenceStore.OverlayKey[] keys = new OverlayPreferenceStore.OverlayKey[overlayKeys - .size()]; - overlayKeys.toArray(keys); - return keys; - } - - /** - * Creates page for folding preferences. - * - * @param parent - * the parent composite - * @return the control for the preference page - */ - Control createControl(Composite parent) { - - Composite composite = new Composite(parent, SWT.NULL); - // assume parent page uses griddata - GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_CENTER - | GridData.VERTICAL_ALIGN_FILL); - composite.setLayoutData(gd); - GridLayout layout = new GridLayout(); - layout.numColumns = 2; - PixelConverter pc = new PixelConverter(composite); - layout.verticalSpacing = pc.convertHeightInCharsToPixels(1) / 2; - composite.setLayout(layout); - - /* check box for new editors */ - fFoldingCheckbox = new Button(composite, SWT.CHECK); - fFoldingCheckbox.setText(PreferencesMessages - .getString("FoldingConfigurationBlock.enable")); //$NON-NLS-1$ - gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING - | GridData.VERTICAL_ALIGN_BEGINNING); - fFoldingCheckbox.setLayoutData(gd); - fFoldingCheckbox.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent e) { - boolean enabled = fFoldingCheckbox.getSelection(); - fStore.setValue(PreferenceConstants.EDITOR_FOLDING_ENABLED, - enabled); - updateCheckboxDependencies(); - } - - public void widgetDefaultSelected(SelectionEvent e) { - } - }); - - Label label = new Label(composite, SWT.CENTER); - gd = new GridData(GridData.FILL_HORIZONTAL - | GridData.VERTICAL_ALIGN_BEGINNING); - label.setLayoutData(gd); - - /* list */ - Composite comboComp = new Composite(composite, SWT.NONE); - gd = new GridData(GridData.FILL_HORIZONTAL - | GridData.VERTICAL_ALIGN_BEGINNING); - GridLayout gridLayout = new GridLayout(2, false); - gridLayout.marginWidth = 0; - comboComp.setLayout(gridLayout); - - Label comboLabel = new Label(comboComp, SWT.CENTER); - gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING - | GridData.VERTICAL_ALIGN_CENTER); - comboLabel.setLayoutData(gd); - comboLabel.setText(PreferencesMessages - .getString("FoldingConfigurationBlock.combo_caption")); //$NON-NLS-1$ - - label = new Label(composite, SWT.CENTER); - gd = new GridData(GridData.FILL_HORIZONTAL - | GridData.VERTICAL_ALIGN_BEGINNING); - label.setLayoutData(gd); - - fProviderCombo = new Combo(comboComp, SWT.READ_ONLY | SWT.DROP_DOWN); - gd = new GridData(GridData.HORIZONTAL_ALIGN_END - | GridData.VERTICAL_ALIGN_CENTER); - fProviderCombo.setLayoutData(gd); - - /* list viewer */ - fProviderViewer = new ComboViewer(fProviderCombo); - fProviderViewer.setContentProvider(new IStructuredContentProvider() { - - /* - * @see org.eclipse.jface.viewers.IContentProvider#dispose() - */ - public void dispose() { - } - - /* - * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, - * java.lang.Object, java.lang.Object) - */ - public void inputChanged(Viewer viewer, Object oldInput, - Object newInput) { - } - - /* - * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object) - */ - public Object[] getElements(Object inputElement) { - return fProviderDescriptors.values().toArray(); - } - }); - fProviderViewer.setLabelProvider(new LabelProvider() { - /* - * @see org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object) - */ - public Image getImage(Object element) { - return null; - } - - /* - * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object) - */ - public String getText(Object element) { - return ((JavaFoldingStructureProviderDescriptor) element) - .getName(); - } - }); - fProviderViewer - .addSelectionChangedListener(new ISelectionChangedListener() { - - public void selectionChanged(SelectionChangedEvent event) { - IStructuredSelection sel = (IStructuredSelection) event - .getSelection(); - if (!sel.isEmpty()) { - fStore - .setValue( - PreferenceConstants.EDITOR_FOLDING_PROVIDER, - ((JavaFoldingStructureProviderDescriptor) sel - .getFirstElement()).getId()); - updateListDependencies(); - } - } - }); - fProviderViewer.setInput(fProviderDescriptors); - fProviderViewer.refresh(); - - Composite groupComp = new Composite(composite, SWT.NONE); - gd = new GridData(GridData.FILL_BOTH); - gd.horizontalSpan = 2; - groupComp.setLayoutData(gd); - gridLayout = new GridLayout(1, false); - gridLayout.marginWidth = 0; - groupComp.setLayout(gridLayout); - - /* contributed provider preferences. */ - fGroup = new Composite(groupComp, SWT.NONE); - gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING - | GridData.VERTICAL_ALIGN_BEGINNING); - fGroup.setLayoutData(gd); - fStackLayout = new StackLayout(); - fGroup.setLayout(fStackLayout); - - return composite; - } - - private void updateCheckboxDependencies() { - } - - void updateListDependencies() { - String id = fStore - .getString(PreferenceConstants.EDITOR_FOLDING_PROVIDER); - JavaFoldingStructureProviderDescriptor desc = (JavaFoldingStructureProviderDescriptor) fProviderDescriptors - .get(id); - IJavaFoldingPreferenceBlock prefs; - - if (desc == null) { - // safety in case there is no such descriptor - String message = PreferencesMessages - .getString("FoldingConfigurationBlock.error.not_exist"); //$NON-NLS-1$ - WebUI.log(new Status(IStatus.WARNING, WebUI - .getPluginId(), IStatus.OK, message, null)); - prefs = new ErrorPreferences(message); - } else { - prefs = (IJavaFoldingPreferenceBlock) fProviderPreferences.get(id); - if (prefs == null) { - try { - prefs = desc.createPreferences(); - fProviderPreferences.put(id, prefs); - } catch (CoreException e) { - WebUI.log(e); - prefs = new ErrorPreferences(e.getLocalizedMessage()); - } - } - } - - Control control = (Control) fProviderControls.get(id); - if (control == null) { - control = prefs.createControl(fGroup); - if (control == null) { - String message = PreferencesMessages - .getString("FoldingConfigurationBlock.info.no_preferences"); //$NON-NLS-1$ - control = new ErrorPreferences(message).createControl(fGroup); - } else { - fProviderControls.put(id, control); - } - } - fStackLayout.topControl = control; - control.pack(); - fGroup.layout(); - fGroup.getParent().layout(); - - prefs.initialize(); - } - - void initialize() { - restoreFromPreferences(); - } - - void performOk() { - for (Iterator it = fProviderPreferences.values().iterator(); it - .hasNext();) { - IJavaFoldingPreferenceBlock prefs = (IJavaFoldingPreferenceBlock) it - .next(); - prefs.performOk(); - } - } - - void performDefaults() { - restoreFromPreferences(); - for (Iterator it = fProviderPreferences.values().iterator(); it - .hasNext();) { - IJavaFoldingPreferenceBlock prefs = (IJavaFoldingPreferenceBlock) it - .next(); - prefs.performDefaults(); - } - } - - void dispose() { - for (Iterator it = fProviderPreferences.values().iterator(); it - .hasNext();) { - IJavaFoldingPreferenceBlock prefs = (IJavaFoldingPreferenceBlock) it - .next(); - prefs.dispose(); - } - } - - private void restoreFromPreferences() { - boolean enabled = fStore - .getBoolean(PreferenceConstants.EDITOR_FOLDING_ENABLED); - fFoldingCheckbox.setSelection(enabled); - updateCheckboxDependencies(); - - String id = fStore - .getString(PreferenceConstants.EDITOR_FOLDING_PROVIDER); - Object provider = fProviderDescriptors.get(id); - if (provider != null) { - fProviderViewer.setSelection(new StructuredSelection(provider), - true); - updateListDependencies(); - } - } -}