Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/preferences/ImportOrganizeConfigurationBlock.java')
-rw-r--r--bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/preferences/ImportOrganizeConfigurationBlock.java508
1 files changed, 0 insertions, 508 deletions
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/preferences/ImportOrganizeConfigurationBlock.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/preferences/ImportOrganizeConfigurationBlock.java
deleted file mode 100644
index 72b540d8..00000000
--- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/preferences/ImportOrganizeConfigurationBlock.java
+++ /dev/null
@@ -1,508 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.internal.ui.preferences;
-
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-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.swt.widgets.FileDialog;
-import org.eclipse.ui.preferences.IWorkbenchPreferenceContainer;
-import org.eclipse.wst.jsdt.core.JavaScriptConventions;
-import org.eclipse.wst.jsdt.core.JavaScriptCore;
-import org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin;
-import org.eclipse.wst.jsdt.internal.ui.JavaPluginImages;
-import org.eclipse.wst.jsdt.internal.ui.dialogs.StatusInfo;
-import org.eclipse.wst.jsdt.internal.ui.util.PixelConverter;
-import org.eclipse.wst.jsdt.internal.ui.viewsupport.JavaElementImageProvider;
-import org.eclipse.wst.jsdt.internal.ui.wizards.IStatusChangeListener;
-import org.eclipse.wst.jsdt.internal.ui.wizards.dialogfields.DialogField;
-import org.eclipse.wst.jsdt.internal.ui.wizards.dialogfields.IDialogFieldListener;
-import org.eclipse.wst.jsdt.internal.ui.wizards.dialogfields.IListAdapter;
-import org.eclipse.wst.jsdt.internal.ui.wizards.dialogfields.LayoutUtil;
-import org.eclipse.wst.jsdt.internal.ui.wizards.dialogfields.ListDialogField;
-import org.eclipse.wst.jsdt.internal.ui.wizards.dialogfields.SelectionButtonDialogField;
-import org.eclipse.wst.jsdt.internal.ui.wizards.dialogfields.StringDialogField;
-import org.eclipse.wst.jsdt.ui.JavaScriptElementImageDescriptor;
-import org.eclipse.wst.jsdt.ui.JavaScriptUI;
-import org.eclipse.wst.jsdt.ui.PreferenceConstants;
-
-/*
- * The page for setting the organize import settings
- */
-public class ImportOrganizeConfigurationBlock extends OptionsConfigurationBlock {
-
- private static final Key PREF_IMPORTORDER= getJDTUIKey(PreferenceConstants.ORGIMPORTS_IMPORTORDER);
- private static final Key PREF_ONDEMANDTHRESHOLD= getJDTUIKey(PreferenceConstants.ORGIMPORTS_ONDEMANDTHRESHOLD);
- private static final Key PREF_IGNORELOWERCASE= getJDTUIKey(PreferenceConstants.ORGIMPORTS_IGNORELOWERCASE);
- private static final Key PREF_STATICONDEMANDTHRESHOLD= getJDTUIKey(PreferenceConstants.ORGIMPORTS_STATIC_ONDEMANDTHRESHOLD);
-
- private static final String DIALOGSETTING_LASTLOADPATH= JavaScriptUI.ID_PLUGIN + ".importorder.loadpath"; //$NON-NLS-1$
- private static final String DIALOGSETTING_LASTSAVEPATH= JavaScriptUI.ID_PLUGIN + ".importorder.savepath"; //$NON-NLS-1$
-
- private static Key[] getAllKeys() {
- return new Key[] {
- PREF_IMPORTORDER, PREF_ONDEMANDTHRESHOLD, PREF_STATICONDEMANDTHRESHOLD, PREF_IGNORELOWERCASE
- };
- }
-
- public static class ImportOrderEntry {
-
- public final String name;
- public final boolean isStatic;
-
- public ImportOrderEntry(String name, boolean isStatic) {
- this.name= name;
- this.isStatic= isStatic;
- }
-
- public String serialize() {
- return isStatic ? '#' + name : name;
- }
-
- public static ImportOrderEntry fromSerialized(String str) {
- if (str.length() > 0 && str.charAt(0) == '#') {
- return new ImportOrderEntry(str.substring(1), true);
- }
- return new ImportOrderEntry(str, false);
- }
-
- }
-
-
- private static class ImportOrganizeLabelProvider extends LabelProvider {
-
- private final Image PCK_ICON;
- private final Image STATIC_CLASS_ICON;
-
- public ImportOrganizeLabelProvider() {
- PCK_ICON= JavaPluginImages.get(JavaPluginImages.IMG_OBJS_PACKAGE);
- STATIC_CLASS_ICON= JavaElementImageProvider.getDecoratedImage(JavaPluginImages.DESC_MISC_PUBLIC, JavaScriptElementImageDescriptor.STATIC, JavaElementImageProvider.SMALL_SIZE);
- }
-
- public Image getImage(Object element) {
- return ((ImportOrderEntry) element).isStatic ? STATIC_CLASS_ICON : PCK_ICON;
- }
-
- public String getText(Object element) {
- ImportOrderEntry entry= (ImportOrderEntry) element;
- String name= entry.name;
- if (name.length() > 0) {
- return name;
- }
- if (entry.isStatic) {
- return PreferencesMessages.ImportOrganizeConfigurationBlock_other_static;
- }
- return PreferencesMessages.ImportOrganizeConfigurationBlock_other_normal;
- }
- }
-
- private class ImportOrganizeAdapter implements IListAdapter, IDialogFieldListener {
-
- private boolean canEdit(ListDialogField field) {
- List selected= field.getSelectedElements();
- return selected.size() == 1;
- }
-
- public void customButtonPressed(ListDialogField field, int index) {
- doButtonPressed(index);
- }
-
- public void selectionChanged(ListDialogField field) {
- fOrderListField.enableButton(IDX_EDIT, canEdit(field));
- }
-
- public void dialogFieldChanged(DialogField field) {
- doDialogFieldChanged(field);
- }
-
- public void doubleClicked(ListDialogField field) {
- if (canEdit(field)) {
- doButtonPressed(IDX_EDIT);
- }
- }
- }
-
- private static final int IDX_ADD= 0;
- private static final int IDX_ADD_STATIC= 1;
- private static final int IDX_EDIT= 2;
- private static final int IDX_REMOVE= 3;
- private static final int IDX_UP= 5;
- private static final int IDX_DOWN= 6;
-
- private ListDialogField fOrderListField;
- private StringDialogField fThresholdField;
- private StringDialogField fStaticThresholdField;
- private SelectionButtonDialogField fIgnoreLowerCaseTypesField;
- private SelectionButtonDialogField fExportButton;
- private SelectionButtonDialogField fImportButton;
-
- private PixelConverter fPixelConverter;
-
- public ImportOrganizeConfigurationBlock(IStatusChangeListener context, IProject project, IWorkbenchPreferenceContainer container) {
- super(context, project, getAllKeys(), container);
-
- String[] buttonLabels= new String[] {
- PreferencesMessages.ImportOrganizeConfigurationBlock_order_add_button,
- PreferencesMessages.ImportOrganizeConfigurationBlock_order_add_static_button,
- PreferencesMessages.ImportOrganizeConfigurationBlock_order_edit_button,
- PreferencesMessages.ImportOrganizeConfigurationBlock_order_remove_button,
- /* 4 */ null,
- PreferencesMessages.ImportOrganizeConfigurationBlock_order_up_button,
- PreferencesMessages.ImportOrganizeConfigurationBlock_order_down_button,
- };
-
- ImportOrganizeAdapter adapter= new ImportOrganizeAdapter();
-
- fOrderListField= new ListDialogField(adapter, buttonLabels, new ImportOrganizeLabelProvider());
- fOrderListField.setDialogFieldListener(adapter);
- fOrderListField.setLabelText(PreferencesMessages.ImportOrganizeConfigurationBlock_order_label);
- fOrderListField.setUpButtonIndex(IDX_UP);
- fOrderListField.setDownButtonIndex(IDX_DOWN);
- fOrderListField.setRemoveButtonIndex(IDX_REMOVE);
-
- fOrderListField.enableButton(IDX_EDIT, false);
-
- fImportButton= new SelectionButtonDialogField(SWT.PUSH);
- fImportButton.setDialogFieldListener(adapter);
- fImportButton.setLabelText(PreferencesMessages.ImportOrganizeConfigurationBlock_order_load_button);
-
- fExportButton= new SelectionButtonDialogField(SWT.PUSH);
- fExportButton.setDialogFieldListener(adapter);
- fExportButton.setLabelText(PreferencesMessages.ImportOrganizeConfigurationBlock_order_save_button);
-
- fThresholdField= new StringDialogField();
- fThresholdField.setDialogFieldListener(adapter);
- fThresholdField.setLabelText(PreferencesMessages.ImportOrganizeConfigurationBlock_threshold_label);
-
- fStaticThresholdField= new StringDialogField();
- fStaticThresholdField.setDialogFieldListener(adapter);
- fStaticThresholdField.setLabelText(PreferencesMessages.ImportOrganizeConfigurationBlock_staticthreshold_label);
-
- fIgnoreLowerCaseTypesField= new SelectionButtonDialogField(SWT.CHECK);
- fIgnoreLowerCaseTypesField.setDialogFieldListener(adapter);
- fIgnoreLowerCaseTypesField.setLabelText(PreferencesMessages.ImportOrganizeConfigurationBlock_ignoreLowerCase_label);
-
- updateControls();
- }
-
- protected Control createContents(Composite parent) {
- setShell(parent.getShell());
-
- fPixelConverter= new PixelConverter(parent);
-
- Composite composite= new Composite(parent, SWT.NONE);
- composite.setFont(parent.getFont());
-
- GridLayout layout= new GridLayout();
- layout.numColumns= 2;
- layout.marginWidth= 0;
- layout.marginHeight= 0;
-
- composite.setLayout(layout);
-
- fOrderListField.doFillIntoGrid(composite, 3);
- LayoutUtil.setHorizontalSpan(fOrderListField.getLabelControl(null), 2);
- LayoutUtil.setWidthHint(fOrderListField.getLabelControl(null), fPixelConverter.convertWidthInCharsToPixels(60));
- LayoutUtil.setHorizontalGrabbing(fOrderListField.getListControl(null));
-
- Composite importExportComp= new Composite(composite, SWT.NONE);
- importExportComp.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false, 2, 1));
- layout= new GridLayout();
- layout.numColumns= 2;
- layout.marginWidth= 0;
- layout.marginHeight= 0;
-
- importExportComp.setLayout(layout);
-
- fImportButton.doFillIntoGrid(importExportComp, 1);
- fExportButton.doFillIntoGrid(importExportComp, 1);
-
- fThresholdField.doFillIntoGrid(composite, 2);
- ((GridData) fThresholdField.getTextControl(null).getLayoutData()).grabExcessHorizontalSpace= false;
- fStaticThresholdField.doFillIntoGrid(composite, 2);
- fIgnoreLowerCaseTypesField.doFillIntoGrid(composite, 2);
-
- Dialog.applyDialogFont(composite);
-
- return composite;
- }
-
- private boolean doThresholdChanged(String thresholdString) {
- StatusInfo status= new StatusInfo();
- try {
- int threshold= Integer.parseInt(thresholdString);
- if (threshold < 0) {
- status.setError(PreferencesMessages.ImportOrganizeConfigurationBlock_error_invalidthreshold);
- }
- } catch (NumberFormatException e) {
- status.setError(PreferencesMessages.ImportOrganizeConfigurationBlock_error_invalidthreshold);
- }
- updateStatus(status);
- return status.isOK();
- }
-
- private void doButtonPressed(int index) {
- if (index == IDX_ADD || index == IDX_ADD_STATIC) { // add new
- List existing= fOrderListField.getElements();
- ImportOrganizeInputDialog dialog= new ImportOrganizeInputDialog(getShell(), existing, index == IDX_ADD_STATIC);
- if (dialog.open() == Window.OK) {
- List selectedElements= fOrderListField.getSelectedElements();
- if (selectedElements.size() == 1) {
- int insertionIndex= fOrderListField.getIndexOfElement(selectedElements.get(0)) + 1;
- fOrderListField.addElement(dialog.getResult(), insertionIndex);
- } else {
- fOrderListField.addElement(dialog.getResult());
- }
- }
- } else if (index == IDX_EDIT) { // edit
- List selected= fOrderListField.getSelectedElements();
- if (selected.isEmpty()) {
- return;
- }
- ImportOrderEntry editedEntry= (ImportOrderEntry) selected.get(0);
-
- List existing= fOrderListField.getElements();
- existing.remove(editedEntry);
-
- ImportOrganizeInputDialog dialog= new ImportOrganizeInputDialog(getShell(), existing, editedEntry.isStatic);
- dialog.setInitialSelection(editedEntry);
- if (dialog.open() == Window.OK) {
- fOrderListField.replaceElement(editedEntry, dialog.getResult());
- }
- }
- }
-
-
- /*
- * The import order file is a property file. The keys are
- * "0", "1" ... last entry. The values must be valid package names.
- */
- private List loadFromProperties(Properties properties) {
- ArrayList res= new ArrayList();
- int nEntries= properties.size();
- for (int i= 0 ; i < nEntries; i++) {
- String curr= properties.getProperty(String.valueOf(i));
- if (curr != null) {
- ImportOrderEntry entry= ImportOrderEntry.fromSerialized(curr);
- if (!JavaScriptConventions.validatePackageName(entry.name, JavaScriptCore.VERSION_1_3, JavaScriptCore.VERSION_1_5).matches(IStatus.ERROR)) {
- res.add(entry);
- } else {
- return null;
- }
- } else {
- return res;
- }
- }
- return res;
- }
-
- private List loadImportOrder() {
- IDialogSettings dialogSettings= JavaScriptPlugin.getDefault().getDialogSettings();
-
- FileDialog dialog= new FileDialog(getShell(), SWT.OPEN);
- dialog.setText(PreferencesMessages.ImportOrganizeConfigurationBlock_loadDialog_title);
- dialog.setFilterExtensions(new String[] {"*.importorder", "*.*"}); //$NON-NLS-1$ //$NON-NLS-2$
- String lastPath= dialogSettings.get(DIALOGSETTING_LASTLOADPATH);
- if (lastPath != null) {
- dialog.setFilterPath(lastPath);
- }
- String fileName= dialog.open();
- if (fileName != null) {
- dialogSettings.put(DIALOGSETTING_LASTLOADPATH, dialog.getFilterPath());
-
- Properties properties= new Properties();
- FileInputStream fis= null;
- try {
- fis= new FileInputStream(fileName);
- properties.load(fis);
- List res= loadFromProperties(properties);
- if (res != null) {
- return res;
- }
- } catch (IOException e) {
- JavaScriptPlugin.log(e);
- } finally {
- if (fis != null) {
- try { fis.close(); } catch (IOException e) {}
- }
- }
- String title= PreferencesMessages.ImportOrganizeConfigurationBlock_loadDialog_error_title;
- String message= PreferencesMessages.ImportOrganizeConfigurationBlock_loadDialog_error_message;
- MessageDialog.openError(getShell(), title, message);
- }
- return null;
- }
-
- private void saveImportOrder(List elements) {
- IDialogSettings dialogSettings= JavaScriptPlugin.getDefault().getDialogSettings();
-
- FileDialog dialog= new FileDialog(getShell(), SWT.SAVE);
- dialog.setText(PreferencesMessages.ImportOrganizeConfigurationBlock_saveDialog_title);
- dialog.setFilterExtensions(new String[] {"*.importorder", "*.*"}); //$NON-NLS-1$ //$NON-NLS-2$
- dialog.setFileName("example.importorder"); //$NON-NLS-1$
- String lastPath= dialogSettings.get(DIALOGSETTING_LASTSAVEPATH);
- if (lastPath != null) {
- dialog.setFilterPath(lastPath);
- }
- String fileName= dialog.open();
- if (fileName != null) {
- dialogSettings.put(DIALOGSETTING_LASTSAVEPATH, dialog.getFilterPath());
-
- Properties properties= new Properties();
- for (int i= 0; i < elements.size(); i++) {
- ImportOrderEntry entry= (ImportOrderEntry) elements.get(i);
- properties.setProperty(String.valueOf(i), entry.serialize());
- }
- FileOutputStream fos= null;
- try {
- fos= new FileOutputStream(fileName);
- properties.store(fos, "Organize Import Order"); //$NON-NLS-1$
- } catch (IOException e) {
- JavaScriptPlugin.log(e);
- String title= PreferencesMessages.ImportOrganizeConfigurationBlock_saveDialog_error_title;
- String message= PreferencesMessages.ImportOrganizeConfigurationBlock_saveDialog_error_message;
- MessageDialog.openError(getShell(), title, message);
- } finally {
- if (fos != null) {
- try { fos.close(); } catch (IOException e) {}
- }
- }
- }
- }
-
- private void updateStatus(IStatus status) {
- fContext.statusChanged(status);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.jsdt.internal.ui.preferences.OptionsConfigurationBlock#validateSettings(java.lang.String, java.lang.String)
- */
- protected void validateSettings(Key changedKey, String oldValue, String newValue) {
- // no validation
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.jsdt.internal.ui.preferences.OptionsConfigurationBlock#updateControls()
- */
- protected void updateControls() {
- ImportOrderEntry[] importOrder= getImportOrderPreference();
- int threshold= getImportNumberThreshold(PREF_ONDEMANDTHRESHOLD);
- int staticThreshold= getImportNumberThreshold(PREF_STATICONDEMANDTHRESHOLD);
- boolean ignoreLowerCase= Boolean.valueOf(getValue(PREF_IGNORELOWERCASE)).booleanValue();
-
- fOrderListField.removeAllElements();
- for (int i= 0; i < importOrder.length; i++) {
- fOrderListField.addElement(importOrder[i]);
- }
- fThresholdField.setText(String.valueOf(threshold));
- fStaticThresholdField.setText(String.valueOf(staticThreshold));
- fIgnoreLowerCaseTypesField.setSelection(ignoreLowerCase);
- }
-
-
- protected final void doDialogFieldChanged(DialogField field) {
- // set values in working copy
- if (field == fOrderListField) {
- setValue(PREF_IMPORTORDER, packOrderList(fOrderListField.getElements()));
- } else if (field == fThresholdField) {
- if (doThresholdChanged(fThresholdField.getText())) {
- setValue(PREF_ONDEMANDTHRESHOLD, fThresholdField.getText());
- }
- } else if (field == fStaticThresholdField) {
- if (doThresholdChanged(fStaticThresholdField.getText())) {
- setValue(PREF_STATICONDEMANDTHRESHOLD, fStaticThresholdField.getText());
- }
- } else if (field == fIgnoreLowerCaseTypesField) {
- setValue(PREF_IGNORELOWERCASE, fIgnoreLowerCaseTypesField.isSelected());
- } else if (field == fImportButton) {
- List order= loadImportOrder();
- if (order != null) {
- fOrderListField.setElements(order);
- }
- } else if (field == fExportButton) {
- saveImportOrder(fOrderListField.getElements());
- }
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.jsdt.internal.ui.preferences.OptionsConfigurationBlock#getFullBuildDialogStrings(boolean)
- */
- protected String[] getFullBuildDialogStrings(boolean workspaceSettings) {
- return null; // no build required
- }
-
- private static ImportOrderEntry[] unpackOrderList(String str) {
- ArrayList res= new ArrayList();
- int start= 0;
- do {
- int end= str.indexOf(';', start);
- if (end == -1) {
- end= str.length();
- }
- res.add(ImportOrderEntry.fromSerialized(str.substring(start, end)));
- start= end + 1;
- } while (start < str.length());
-
- return (ImportOrderEntry[]) res.toArray(new ImportOrderEntry[res.size()]);
- }
-
- private static String packOrderList(List orderList) {
- StringBuffer buf= new StringBuffer();
- for (int i= 0; i < orderList.size(); i++) {
- ImportOrderEntry entry= (ImportOrderEntry) orderList.get(i);
- buf.append(entry.serialize());
- buf.append(';');
- }
- return buf.toString();
- }
-
- private ImportOrderEntry[] getImportOrderPreference() {
- String str= getValue(PREF_IMPORTORDER);
- if (str != null) {
- return unpackOrderList(str);
- }
- return new ImportOrderEntry[0];
- }
-
- private int getImportNumberThreshold(Key key) {
- String thresholdStr= getValue(key);
- try {
- int threshold= Integer.parseInt(thresholdStr);
- if (threshold < 0) {
- threshold= Integer.MAX_VALUE;
- }
- return threshold;
- } catch (NumberFormatException e) {
- return Integer.MAX_VALUE;
- }
- }
-
-}
-
-

Back to the top