X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/filters/CustomFiltersDialog.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/filters/CustomFiltersDialog.java index 3c20939..8060d76 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/filters/CustomFiltersDialog.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/filters/CustomFiltersDialog.java @@ -52,95 +52,105 @@ import org.eclipse.ui.dialogs.SelectionDialog; public class CustomFiltersDialog extends SelectionDialog { - private static final String SEPARATOR= ","; //$NON-NLS-1$ + private static final String SEPARATOR = ","; //$NON-NLS-1$ private String fViewId; + private boolean fEnablePatterns; + private String[] fPatterns; + private String[] fEnabledFilterIds; private FilterDescriptor[] fBuiltInFilters; private CheckboxTableViewer fCheckBoxList; + private Button fEnableUserDefinedPatterns; + private Text fUserDefinedPatterns; private Stack fFilterDescriptorChangeHistory; - /** * Creates a dialog to customize Java element filters. - * - * @param shell the parent shell - * @param viewId the id of the view - * @param enablePatterns true if pattern filters are enabled - * @param patterns the filter patterns - * @param enabledFilterIds the Ids of the enabled filters + * + * @param shell + * the parent shell + * @param viewId + * the id of the view + * @param enablePatterns + * true if pattern filters are enabled + * @param patterns + * the filter patterns + * @param enabledFilterIds + * the Ids of the enabled filters */ - public CustomFiltersDialog( - Shell shell, - String viewId, - boolean enablePatterns, - String[] patterns, - String[] enabledFilterIds) { + public CustomFiltersDialog(Shell shell, String viewId, + boolean enablePatterns, String[] patterns, String[] enabledFilterIds) { super(shell); Assert.isNotNull(viewId); Assert.isNotNull(patterns); Assert.isNotNull(enabledFilterIds); - fViewId= viewId; - fPatterns= patterns; - fEnablePatterns= enablePatterns; - fEnabledFilterIds= enabledFilterIds; + fViewId = viewId; + fPatterns = patterns; + fEnablePatterns = enablePatterns; + fEnabledFilterIds = enabledFilterIds; - fBuiltInFilters= FilterDescriptor.getFilterDescriptors(fViewId); - fFilterDescriptorChangeHistory= new Stack(); + fBuiltInFilters = FilterDescriptor.getFilterDescriptors(fViewId); + fFilterDescriptorChangeHistory = new Stack(); setShellStyle(getShellStyle() | SWT.RESIZE); } protected void configureShell(Shell shell) { - setTitle(FilterMessages.getString("CustomFiltersDialog.title")); //$NON-NLS-1$ - setMessage(FilterMessages.getString("CustomFiltersDialog.filterList.label")); //$NON-NLS-1$ + setTitle(FilterMessages.getString("CustomFiltersDialog.title")); //$NON-NLS-1$ + setMessage(FilterMessages + .getString("CustomFiltersDialog.filterList.label")); //$NON-NLS-1$ super.configureShell(shell); - PlatformUI.getWorkbench().getHelpSystem().setHelp(shell, IJavaHelpContextIds.CUSTOM_FILTERS_DIALOG); + PlatformUI.getWorkbench().getHelpSystem().setHelp(shell, + IJavaHelpContextIds.CUSTOM_FILTERS_DIALOG); } /** * Overrides method in Dialog - * + * * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(Composite) */ protected Control createDialogArea(Composite parent) { initializeDialogUnits(parent); // create a composite with standard margins and spacing - Composite composite= new Composite(parent, SWT.NONE); - GridLayout layout= new GridLayout(); - layout.marginHeight= convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN); - layout.marginWidth= convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN); - layout.verticalSpacing= convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING); - layout.horizontalSpacing= convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING); + Composite composite = new Composite(parent, SWT.NONE); + GridLayout layout = new GridLayout(); + layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN); + layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN); + layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING); + layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING); composite.setLayout(layout); composite.setLayoutData(new GridData(GridData.FILL_BOTH)); composite.setFont(parent.getFont()); - Composite group= composite; + Composite group = composite; // Checkbox - fEnableUserDefinedPatterns= new Button(group, SWT.CHECK); + fEnableUserDefinedPatterns = new Button(group, SWT.CHECK); fEnableUserDefinedPatterns.setFocus(); - fEnableUserDefinedPatterns.setText(FilterMessages.getString("CustomFiltersDialog.enableUserDefinedPattern")); //$NON-NLS-1$ - - // Pattern field - fUserDefinedPatterns= new Text(group, SWT.SINGLE | SWT.BORDER); - GridData data= new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL); - data.widthHint= convertWidthInCharsToPixels(59); + fEnableUserDefinedPatterns.setText(FilterMessages + .getString("CustomFiltersDialog.enableUserDefinedPattern")); //$NON-NLS-1$ + + // Pattern field + fUserDefinedPatterns = new Text(group, SWT.SINGLE | SWT.BORDER); + GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL + | GridData.GRAB_HORIZONTAL); + data.widthHint = convertWidthInCharsToPixels(59); fUserDefinedPatterns.setLayoutData(data); - String patterns= convertToString(fPatterns, SEPARATOR); + String patterns = convertToString(fPatterns, SEPARATOR); fUserDefinedPatterns.setText(patterns); // Info text - final Label info= new Label(group, SWT.LEFT); - info.setText(FilterMessages.getString("CustomFiltersDialog.patternInfo")); //$NON-NLS-1$ + final Label info = new Label(group, SWT.LEFT); + info.setText(FilterMessages + .getString("CustomFiltersDialog.patternInfo")); //$NON-NLS-1$ // Enabling / disabling of pattern group fEnableUserDefinedPatterns.setSelection(fEnablePatterns); @@ -148,7 +158,7 @@ public class CustomFiltersDialog extends SelectionDialog { info.setEnabled(fEnablePatterns); fEnableUserDefinedPatterns.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { - boolean state= fEnableUserDefinedPatterns.getSelection(); + boolean state = fEnableUserDefinedPatterns.getSelection(); fUserDefinedPatterns.setEnabled(state); info.setEnabled(fEnableUserDefinedPatterns.getSelection()); if (state) @@ -168,12 +178,13 @@ public class CustomFiltersDialog extends SelectionDialog { // Filler new Label(parent, SWT.NONE); - Label info= new Label(parent, SWT.LEFT); - info.setText(FilterMessages.getString("CustomFiltersDialog.filterList.label")); //$NON-NLS-1$ + Label info = new Label(parent, SWT.LEFT); + info.setText(FilterMessages + .getString("CustomFiltersDialog.filterList.label")); //$NON-NLS-1$ - fCheckBoxList= CheckboxTableViewer.newCheckList(parent, SWT.BORDER); - GridData data= new GridData(GridData.FILL_BOTH); - data.heightHint= fCheckBoxList.getTable().getItemHeight() * 10; + fCheckBoxList = CheckboxTableViewer.newCheckList(parent, SWT.BORDER); + GridData data = new GridData(GridData.FILL_BOTH); + data.heightHint = fCheckBoxList.getTable().getItemHeight() * 10; fCheckBoxList.getTable().setLayoutData(data); fCheckBoxList.setLabelProvider(createLabelPrivder()); @@ -182,76 +193,88 @@ public class CustomFiltersDialog extends SelectionDialog { fCheckBoxList.setInput(fBuiltInFilters); setInitialSelections(getEnabledFilterDescriptors()); - List initialSelection= getInitialElementSelections(); + List initialSelection = getInitialElementSelections(); if (initialSelection != null && !initialSelection.isEmpty()) checkInitialSelections(); // Description - info= new Label(parent, SWT.LEFT); - info.setText(FilterMessages.getString("CustomFiltersDialog.description.label")); //$NON-NLS-1$ - final Text description= new Text(parent, SWT.LEFT | SWT.WRAP | SWT.MULTI | SWT.READ_ONLY | SWT.BORDER | SWT.V_SCROLL); + info = new Label(parent, SWT.LEFT); + info.setText(FilterMessages + .getString("CustomFiltersDialog.description.label")); //$NON-NLS-1$ + final Text description = new Text(parent, SWT.LEFT | SWT.WRAP + | SWT.MULTI | SWT.READ_ONLY | SWT.BORDER | SWT.V_SCROLL); data = new GridData(GridData.FILL_HORIZONTAL); - data.heightHint= convertHeightInCharsToPixels(3); + data.heightHint = convertHeightInCharsToPixels(3); description.setLayoutData(data); - fCheckBoxList.addSelectionChangedListener(new ISelectionChangedListener() { - public void selectionChanged(SelectionChangedEvent event) { - ISelection selection= event.getSelection(); - if (selection instanceof IStructuredSelection) { - Object selectedElement= ((IStructuredSelection)selection).getFirstElement(); - if (selectedElement instanceof FilterDescriptor) - description.setText(((FilterDescriptor)selectedElement).getDescription()); - } - } - }); + fCheckBoxList + .addSelectionChangedListener(new ISelectionChangedListener() { + public void selectionChanged(SelectionChangedEvent event) { + ISelection selection = event.getSelection(); + if (selection instanceof IStructuredSelection) { + Object selectedElement = ((IStructuredSelection) selection) + .getFirstElement(); + if (selectedElement instanceof FilterDescriptor) + description + .setText(((FilterDescriptor) selectedElement) + .getDescription()); + } + } + }); fCheckBoxList.addCheckStateListener(new ICheckStateListener() { /* * @see org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged(org.eclipse.jface.viewers.CheckStateChangedEvent) */ public void checkStateChanged(CheckStateChangedEvent event) { - Object element= event.getElement(); + Object element = event.getElement(); if (element instanceof FilterDescriptor) { // renew if already touched if (fFilterDescriptorChangeHistory.contains(element)) fFilterDescriptorChangeHistory.remove(element); fFilterDescriptorChangeHistory.push(element); } - }}); + } + }); addSelectionButtons(parent); } private void addSelectionButtons(Composite composite) { - Composite buttonComposite= new Composite(composite, SWT.RIGHT); - GridLayout layout= new GridLayout(); - layout.numColumns= 2; + Composite buttonComposite = new Composite(composite, SWT.RIGHT); + GridLayout layout = new GridLayout(); + layout.numColumns = 2; buttonComposite.setLayout(layout); - GridData data= new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.GRAB_HORIZONTAL); - data.grabExcessHorizontalSpace= true; + GridData data = new GridData(GridData.HORIZONTAL_ALIGN_END + | GridData.GRAB_HORIZONTAL); + data.grabExcessHorizontalSpace = true; composite.setData(data); // Select All button - String label= FilterMessages.getString("CustomFiltersDialog.SelectAllButton.label"); //$NON-NLS-1$ - Button selectButton= createButton(buttonComposite, IDialogConstants.SELECT_ALL_ID, label, false); + String label = FilterMessages + .getString("CustomFiltersDialog.SelectAllButton.label"); //$NON-NLS-1$ + Button selectButton = createButton(buttonComposite, + IDialogConstants.SELECT_ALL_ID, label, false); SWTUtil.setButtonDimensionHint(selectButton); - SelectionListener listener= new SelectionAdapter() { + SelectionListener listener = new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { fCheckBoxList.setAllChecked(true); fFilterDescriptorChangeHistory.clear(); - for (int i= 0; i < fBuiltInFilters.length; i++) + for (int i = 0; i < fBuiltInFilters.length; i++) fFilterDescriptorChangeHistory.push(fBuiltInFilters[i]); } }; selectButton.addSelectionListener(listener); // De-select All button - label= FilterMessages.getString("CustomFiltersDialog.DeselectAllButton.label"); //$NON-NLS-1$ - Button deselectButton= createButton(buttonComposite, IDialogConstants.DESELECT_ALL_ID, label, false); + label = FilterMessages + .getString("CustomFiltersDialog.DeselectAllButton.label"); //$NON-NLS-1$ + Button deselectButton = createButton(buttonComposite, + IDialogConstants.DESELECT_ALL_ID, label, false); SWTUtil.setButtonDimensionHint(deselectButton); - listener= new SelectionAdapter() { + listener = new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { fCheckBoxList.setAllChecked(false); fFilterDescriptorChangeHistory.clear(); - for (int i= 0; i < fBuiltInFilters.length; i++) + for (int i = 0; i < fBuiltInFilters.length; i++) fFilterDescriptorChangeHistory.push(fBuiltInFilters[i]); } }; @@ -259,15 +282,15 @@ public class CustomFiltersDialog extends SelectionDialog { } private void checkInitialSelections() { - Iterator itemsToCheck= getInitialElementSelections().iterator(); + Iterator itemsToCheck = getInitialElementSelections().iterator(); while (itemsToCheck.hasNext()) - fCheckBoxList.setChecked(itemsToCheck.next(),true); + fCheckBoxList.setChecked(itemsToCheck.next(), true); } protected void okPressed() { if (fBuiltInFilters != null) { - ArrayList result= new ArrayList(); - for (int i= 0; i < fBuiltInFilters.length; ++i) { + ArrayList result = new ArrayList(); + for (int i = 0; i < fBuiltInFilters.length; ++i) { if (fCheckBoxList.getChecked(fBuiltInFilters[i])) result.add(fBuiltInFilters[i]); } @@ -277,18 +300,18 @@ public class CustomFiltersDialog extends SelectionDialog { } private ILabelProvider createLabelPrivder() { - return - new LabelProvider() { - public Image getImage(Object element) { + return new LabelProvider() { + public Image getImage(Object element) { + return null; + } + + public String getText(Object element) { + if (element instanceof FilterDescriptor) + return ((FilterDescriptor) element).getName(); + else return null; - } - public String getText(Object element) { - if (element instanceof FilterDescriptor) - return ((FilterDescriptor)element).getName(); - else - return null; - } - }; + } + }; } // ---------- result handling ---------- @@ -296,15 +319,15 @@ public class CustomFiltersDialog extends SelectionDialog { protected void setResult(List newResult) { super.setResult(newResult); if (fUserDefinedPatterns.getText().length() > 0) { - fEnablePatterns= fEnableUserDefinedPatterns.getSelection(); - fPatterns= convertFromString(fUserDefinedPatterns.getText(), SEPARATOR); + fEnablePatterns = fEnableUserDefinedPatterns.getSelection(); + fPatterns = convertFromString(fUserDefinedPatterns.getText(), + SEPARATOR); } else { - fEnablePatterns= false; - fPatterns= new String[0]; + fEnablePatterns = false; + fPatterns = new String[0]; } } - /** * @return the patterns which have been entered by the user */ @@ -316,10 +339,10 @@ public class CustomFiltersDialog extends SelectionDialog { * @return the Ids of the enabled built-in filters */ public String[] getEnabledFilterIds() { - Object[] result= getResult(); - Set enabledIds= new HashSet(result.length); - for (int i= 0; i < result.length; i++) - enabledIds.add(((FilterDescriptor)result[i]).getId()); + Object[] result = getResult(); + Set enabledIds = new HashSet(result.length); + for (int i = 0; i < result.length; i++) + enabledIds.add(((FilterDescriptor) result[i]).getId()); return (String[]) enabledIds.toArray(new String[enabledIds.size()]); } @@ -339,62 +362,63 @@ public class CustomFiltersDialog extends SelectionDialog { } private FilterDescriptor[] getEnabledFilterDescriptors() { - FilterDescriptor[] filterDescs= fBuiltInFilters; - List result= new ArrayList(filterDescs.length); - List enabledFilterIds= Arrays.asList(fEnabledFilterIds); - for (int i= 0; i < filterDescs.length; i++) { - String id= filterDescs[i].getId(); + FilterDescriptor[] filterDescs = fBuiltInFilters; + List result = new ArrayList(filterDescs.length); + List enabledFilterIds = Arrays.asList(fEnabledFilterIds); + for (int i = 0; i < filterDescs.length; i++) { + String id = filterDescs[i].getId(); if (enabledFilterIds.contains(id)) result.add(filterDescs[i]); } - return (FilterDescriptor[])result.toArray(new FilterDescriptor[result.size()]); + return (FilterDescriptor[]) result.toArray(new FilterDescriptor[result + .size()]); } - public static String[] convertFromString(String patterns, String separator) { - StringTokenizer tokenizer= new StringTokenizer(patterns, separator, true); - int tokenCount= tokenizer.countTokens(); - List result= new ArrayList(tokenCount); - boolean escape= false; - boolean append= false; + StringTokenizer tokenizer = new StringTokenizer(patterns, separator, + true); + int tokenCount = tokenizer.countTokens(); + List result = new ArrayList(tokenCount); + boolean escape = false; + boolean append = false; while (tokenizer.hasMoreTokens()) { - String token= tokenizer.nextToken().trim(); + String token = tokenizer.nextToken().trim(); if (separator.equals(token)) { if (!escape) - escape= true; + escape = true; else { addPattern(result, separator); - append= true; + append = true; } - } else { + } else { if (!append) - result.add(token); + result.add(token); else addPattern(result, token); - append= false; - escape= false; + append = false; + escape = false; } } - return (String[])result.toArray(new String[result.size()]); + return (String[]) result.toArray(new String[result.size()]); } private static void addPattern(List list, String pattern) { if (list.isEmpty()) list.add(pattern); else { - int index= list.size() - 1; - list.set(index, ((String)list.get(index)) + pattern); + int index = list.size() - 1; + list.set(index, ((String) list.get(index)) + pattern); } } public static String convertToString(String[] patterns, String separator) { - int length= patterns.length; - StringBuffer strBuf= new StringBuffer(); + int length = patterns.length; + StringBuffer strBuf = new StringBuffer(); if (length > 0) strBuf.append(escapeSeparator(patterns[0], separator)); else return ""; //$NON-NLS-1$ - int i= 1; + int i = 1; while (i < length) { strBuf.append(separator); strBuf.append(" "); //$NON-NLS-1$ @@ -404,10 +428,10 @@ public class CustomFiltersDialog extends SelectionDialog { } private static String escapeSeparator(String pattern, String separator) { - int length= pattern.length(); - StringBuffer buf= new StringBuffer(length); - for (int i= 0; i < length; i++) { - char ch= pattern.charAt(i); //$NON-NLS-1$ + int length = pattern.length(); + StringBuffer buf = new StringBuffer(length); + for (int i = 0; i < length; i++) { + char ch = pattern.charAt(i); //$NON-NLS-1$ if (separator.equals(String.valueOf(ch))) buf.append(ch); buf.append(ch);