Removed UI.
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / ui / preferences / FoldingConfigurationBlock.java
diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/preferences/FoldingConfigurationBlock.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/preferences/FoldingConfigurationBlock.java
deleted file mode 100644 (file)
index b0a223c..0000000
+++ /dev/null
@@ -1,349 +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 org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.text.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 org.eclipse.jdt.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= PHPeclipsePlugin.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$
-                       PHPeclipsePlugin.log(new Status(IStatus.WARNING, PHPeclipsePlugin.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) {
-                                       PHPeclipsePlugin.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();
-               }
-       }
-}