List of usage examples for org.eclipse.jface.viewers ViewerComparator ViewerComparator
public ViewerComparator()
From source file:ext.org.eclipse.jdt.internal.ui.preferences.JavadocConfigurationBlock.java
License:Open Source License
private String internalChooseArchivePath() { ZipFile zipFile = null;/*w ww .jav a2 s.co m*/ try { if (fWorkspaceRadio.isSelected()) { IResource resource = ResourcesPlugin.getWorkspace().getRoot() .findMember(new Path(fArchiveField.getText())); if (resource != null) { IPath location = resource.getLocation(); if (location != null) { zipFile = new ZipFile(location.toOSString()); } } } else { zipFile = new ZipFile(fArchiveField.getText()); } if (zipFile == null) { return null; } ZipFileStructureProvider provider = new ZipFileStructureProvider(zipFile); ILabelProvider lp = new ZipDialogLabelProvider(provider); ZipDialogContentProvider cp = new ZipDialogContentProvider(provider); ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(fShell, lp, cp); dialog.setAllowMultiple(false); dialog.setValidator(new ZipDialogValidator()); dialog.setTitle(PreferencesMessages.JavadocConfigurationBlock_browse_jarorzip_path_title); dialog.setMessage(PreferencesMessages.JavadocConfigurationBlock_location_in_jarorzip_message); dialog.setComparator(new ViewerComparator()); String init = fArchivePathField.getText(); if (init.length() == 0) { init = "docs/api"; //$NON-NLS-1$ } dialog.setInitialSelection(cp.findElement(new Path(init))); dialog.setInput(this); if (dialog.open() == Window.OK) { String name = provider.getFullPath(dialog.getFirstResult()); return new Path(name).removeTrailingSeparator().toString(); } } catch (IOException e) { JavaPlugin.log(e); } finally { if (zipFile != null) { try { zipFile.close(); } catch (IOException e1) { // ignore } } } return null; }
From source file:ext.org.eclipse.jdt.internal.ui.preferences.JavaEditorColoringConfigurationBlock.java
License:Open Source License
private Control createSyntaxPage(final Composite parent) { Composite colorComposite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.marginHeight = 0;/*from ww w. ja v a2s .co m*/ layout.marginWidth = 0; colorComposite.setLayout(layout); Link link = new Link(colorComposite, SWT.NONE); link.setText(PreferencesMessages.JavaEditorColoringConfigurationBlock_link); link.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if ("org.eclipse.ui.preferencePages.GeneralTextEditor".equals(e.text)) //$NON-NLS-1$ PreferencesUtil.createPreferenceDialogOn(parent.getShell(), e.text, null, null); else if ("org.eclipse.ui.preferencePages.ColorsAndFonts".equals(e.text)) //$NON-NLS-1$ PreferencesUtil.createPreferenceDialogOn(parent.getShell(), e.text, null, "selectFont:org.eclipse.jdt.ui.editors.textfont"); //$NON-NLS-1$ } }); GridData gridData = new GridData(SWT.FILL, SWT.BEGINNING, true, false); gridData.widthHint = 150; // only expand further if anyone else requires it gridData.horizontalSpan = 2; link.setLayoutData(gridData); addFiller(colorComposite, 1); Label label; label = new Label(colorComposite, SWT.LEFT); label.setText(PreferencesMessages.JavaEditorPreferencePage_coloring_element); label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); Composite editorComposite = new Composite(colorComposite, SWT.NONE); layout = new GridLayout(); layout.numColumns = 2; layout.marginHeight = 0; layout.marginWidth = 0; editorComposite.setLayout(layout); GridData gd = new GridData(SWT.FILL, SWT.BEGINNING, true, false); editorComposite.setLayoutData(gd); fTreeViewer = new TreeViewer(editorComposite, SWT.SINGLE | SWT.BORDER); fTreeViewer.setLabelProvider(new ColorListLabelProvider()); fTreeViewer.setContentProvider(new ColorListContentProvider()); fTreeViewer.setComparator(new ViewerComparator() { @Override public int category(Object element) { // don't sort the top level categories if (fJavaCategory.equals(element)) return 0; if (fJavadocCategory.equals(element)) return 1; if (fCommentsCategory.equals(element)) return 2; // to sort semantic settings after partition based ones: // if (element instanceof SemanticHighlightingColorListItem) // return 1; return 0; } }); gd = new GridData(SWT.BEGINNING, SWT.BEGINNING, false, true); gd.heightHint = convertHeightInCharsToPixels(9); int maxWidth = 0; for (Iterator<HighlightingColorListItem> it = fListModel.iterator(); it.hasNext();) { HighlightingColorListItem item = it.next(); maxWidth = Math.max(maxWidth, convertWidthInCharsToPixels(item.getDisplayName().length())); } ScrollBar vBar = ((Scrollable) fTreeViewer.getControl()).getVerticalBar(); if (vBar != null) maxWidth += vBar.getSize().x * 3; // scrollbars and tree indentation guess gd.widthHint = maxWidth; fTreeViewer.getControl().setLayoutData(gd); installDoubleClickListener(); Composite stylesComposite = new Composite(editorComposite, SWT.NONE); layout = new GridLayout(); layout.marginHeight = 0; layout.marginWidth = 0; layout.numColumns = 2; stylesComposite.setLayout(layout); stylesComposite.setLayoutData(new GridData(GridData.FILL_BOTH)); fEnableCheckbox = new Button(stylesComposite, SWT.CHECK); fEnableCheckbox.setText(PreferencesMessages.JavaEditorPreferencePage_enable); gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalAlignment = GridData.BEGINNING; gd.horizontalSpan = 2; fEnableCheckbox.setLayoutData(gd); fColorEditorLabel = new Label(stylesComposite, SWT.LEFT); fColorEditorLabel.setText(PreferencesMessages.JavaEditorPreferencePage_color); gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); gd.horizontalIndent = 20; fColorEditorLabel.setLayoutData(gd); fSyntaxForegroundColorEditor = new ColorSelector(stylesComposite); Button foregroundColorButton = fSyntaxForegroundColorEditor.getButton(); gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); foregroundColorButton.setLayoutData(gd); fBoldCheckBox = new Button(stylesComposite, SWT.CHECK); fBoldCheckBox.setText(PreferencesMessages.JavaEditorPreferencePage_bold); gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); gd.horizontalIndent = 20; gd.horizontalSpan = 2; fBoldCheckBox.setLayoutData(gd); fItalicCheckBox = new Button(stylesComposite, SWT.CHECK); fItalicCheckBox.setText(PreferencesMessages.JavaEditorPreferencePage_italic); gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); gd.horizontalIndent = 20; gd.horizontalSpan = 2; fItalicCheckBox.setLayoutData(gd); fStrikethroughCheckBox = new Button(stylesComposite, SWT.CHECK); fStrikethroughCheckBox.setText(PreferencesMessages.JavaEditorPreferencePage_strikethrough); gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); gd.horizontalIndent = 20; gd.horizontalSpan = 2; fStrikethroughCheckBox.setLayoutData(gd); fUnderlineCheckBox = new Button(stylesComposite, SWT.CHECK); fUnderlineCheckBox.setText(PreferencesMessages.JavaEditorPreferencePage_underline); gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); gd.horizontalIndent = 20; gd.horizontalSpan = 2; fUnderlineCheckBox.setLayoutData(gd); label = new Label(colorComposite, SWT.LEFT); label.setText(PreferencesMessages.JavaEditorPreferencePage_preview); label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); Control previewer = createPreviewer(colorComposite); gd = new GridData(GridData.FILL_BOTH); gd.widthHint = convertWidthInCharsToPixels(20); gd.heightHint = convertHeightInCharsToPixels(5); previewer.setLayoutData(gd); fTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { handleSyntaxColorListSelection(); } }); foregroundColorButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { // do nothing } public void widgetSelected(SelectionEvent e) { HighlightingColorListItem item = getHighlightingColorListItem(); PreferenceConverter.setValue(getPreferenceStore(), item.getColorKey(), fSyntaxForegroundColorEditor.getColorValue()); } }); fBoldCheckBox.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { // do nothing } public void widgetSelected(SelectionEvent e) { HighlightingColorListItem item = getHighlightingColorListItem(); getPreferenceStore().setValue(item.getBoldKey(), fBoldCheckBox.getSelection()); } }); fItalicCheckBox.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { // do nothing } public void widgetSelected(SelectionEvent e) { HighlightingColorListItem item = getHighlightingColorListItem(); getPreferenceStore().setValue(item.getItalicKey(), fItalicCheckBox.getSelection()); } }); fStrikethroughCheckBox.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { // do nothing } public void widgetSelected(SelectionEvent e) { HighlightingColorListItem item = getHighlightingColorListItem(); getPreferenceStore().setValue(item.getStrikethroughKey(), fStrikethroughCheckBox.getSelection()); } }); fUnderlineCheckBox.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { // do nothing } public void widgetSelected(SelectionEvent e) { HighlightingColorListItem item = getHighlightingColorListItem(); getPreferenceStore().setValue(item.getUnderlineKey(), fUnderlineCheckBox.getSelection()); } }); fEnableCheckbox.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { // do nothing } public void widgetSelected(SelectionEvent e) { HighlightingColorListItem item = getHighlightingColorListItem(); if (item instanceof SemanticHighlightingColorListItem) { boolean enable = fEnableCheckbox.getSelection(); getPreferenceStore().setValue(((SemanticHighlightingColorListItem) item).getEnableKey(), enable); fEnableCheckbox.setSelection(enable); fSyntaxForegroundColorEditor.getButton().setEnabled(enable); fColorEditorLabel.setEnabled(enable); fBoldCheckBox.setEnabled(enable); fItalicCheckBox.setEnabled(enable); fStrikethroughCheckBox.setEnabled(enable); fUnderlineCheckBox.setEnabled(enable); uninstallSemanticHighlighting(); installSemanticHighlighting(); } } }); colorComposite.layout(false); return colorComposite; }
From source file:ext.org.eclipse.jdt.internal.ui.preferences.TypeFilterPreferencePage.java
License:Open Source License
@Override protected Control createContents(Composite parent) { initializeDialogUnits(parent);// w ww . j a v a2 s . c o m 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); fFilterListField.doFillIntoGrid(composite, 3); LayoutUtil.setHorizontalSpan(fFilterListField.getLabelControl(null), 2); LayoutUtil.setWidthHint(fFilterListField.getLabelControl(null), convertWidthInCharsToPixels(40)); LayoutUtil.setHorizontalGrabbing(fFilterListField.getListControl(null)); fFilterListField.getTableViewer().setComparator(new ViewerComparator()); Label spacer = new Label(composite, SWT.LEFT); GridData gd = new GridData(SWT.DEFAULT, convertHeightInCharsToPixels(1) / 2); gd.horizontalSpan = 2; spacer.setLayoutData(gd); String label = PreferencesMessages.TypeFilterPreferencePage_restricted_link; Map<String, String> targetInfo = new java.util.HashMap<String, String>(2); targetInfo.put(ProblemSeveritiesPreferencePage.DATA_SELECT_OPTION_KEY, JavaCore.COMPILER_PB_FORBIDDEN_REFERENCE); targetInfo.put(ProblemSeveritiesPreferencePage.DATA_SELECT_OPTION_QUALIFIER, JavaCore.PLUGIN_ID); createPreferencePageLink(composite, label, targetInfo); fHideForbiddenField.doFillIntoGrid(composite, 2); fHideDiscouragedField.doFillIntoGrid(composite, 2); Dialog.applyDialogFont(composite); return composite; }
From source file:ext.org.eclipse.jdt.internal.ui.refactoring.nls.search.NLSSearchResultPage.java
License:Open Source License
@Override protected void configureTableViewer(TableViewer viewer) { viewer.setComparator(new ViewerComparator() { @Override/* w ww.j a va 2s .com*/ public int category(Object element) { if (element instanceof FileEntry) { return 0; } else { return 1; } } }); viewer.setLabelProvider(new ColoringLabelProvider(new NLSSearchResultLabelProvider2(this))); fContentProvider = new TextSearchTableContentProvider(); viewer.setContentProvider(fContentProvider); }
From source file:ext.org.eclipse.jdt.internal.ui.refactoring.ReferencesInBinaryStatusContextViewer.java
License:Open Source License
/** * {@inheritDoc}/*w w w . j a va 2 s. co m*/ */ public void createControl(Composite parent) { fForm = new ViewForm(parent, SWT.BORDER | SWT.FLAT); fForm.marginWidth = 0; fForm.marginHeight = 0; fLabel = new CLabel(fForm, SWT.NONE); fLabel.setText(RefactoringMessages.ReferencesInBinaryStatusContextViewer_title); fForm.setTopLeft(fLabel); Composite composite = new Composite(fForm, SWT.NONE); composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); GridLayout layout = new GridLayout(1, false); layout.marginWidth = 0; layout.marginHeight = 0; composite.setLayout(layout); fTreeViewer = new TreeViewer(composite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); final AppearanceAwareLabelProvider labelProvider = new AppearanceAwareLabelProvider(); fTreeViewer.setLabelProvider(new DelegatingStyledCellLabelProvider(labelProvider)); fTreeViewer.setComparator(new ViewerComparator() { private Collator fCollator = Collator.getInstance(); @Override public int compare(Viewer viewer, Object e1, Object e2) { String l1 = labelProvider.getText(e1); String l2 = labelProvider.getText(e2); return fCollator.compare(l1, l2); } }); fTreeViewer.getTree().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); fButton = new Button(composite, SWT.PUSH); fButton.setText(RefactoringMessages.ReferencesInBinaryStatusContextViewer_show_as_search_button); GridData layoutData = new GridData(SWT.BEGINNING, SWT.CENTER, false, false); layoutData.widthHint = SWTUtil.getButtonWidthHint(fButton); fButton.setLayoutData(layoutData); fButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { fillInSearchView(); } }); fButton.setEnabled(false); fForm.setContent(composite); Dialog.applyDialogFont(parent); }
From source file:ext.org.eclipse.jdt.internal.ui.search.OccurrencesSearchResultPage.java
License:Open Source License
@Override protected void configureTableViewer(TableViewer viewer) { viewer.setComparator(new ViewerComparator() { @Override//from w ww.ja v a2s . co m public int compare(Viewer v, Object e1, Object e2) { JavaElementLine jel1 = (JavaElementLine) e1; JavaElementLine jel2 = (JavaElementLine) e2; return jel1.getLine() - jel2.getLine(); } }); viewer.setLabelProvider(new ColoringLabelProvider(new OccurrencesSearchLabelProvider(this))); fContentProvider = new TextSearchTableContentProvider(); viewer.setContentProvider(fContentProvider); }
From source file:ext.org.eclipse.jdt.internal.ui.wizards.buildpaths.ClasspathContainerSelectionPage.java
License:Open Source License
public void createControl(Composite parent) { fListViewer = new ListViewer(parent, SWT.SINGLE | SWT.BORDER); fListViewer.setLabelProvider(new ClasspathContainerLabelProvider()); fListViewer.setContentProvider(new ArrayContentProvider()); fListViewer.setComparator(new ViewerComparator()); fListViewer.setInput(Arrays.asList(fContainers)); fListViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { validatePage();//from w w w .j a va2 s . c om } }); fListViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { doDoubleClick(); } }); int selectionIndex = fDialogSettings.getInt(DIALOGSTORE_CONTAINER_IDX); if (selectionIndex >= fContainers.length) { selectionIndex = 0; } fListViewer.getList().select(selectionIndex); validatePage(); setControl(fListViewer.getList()); Dialog.applyDialogFont(fListViewer.getList()); PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IJavaHelpContextIds.BP_SELECT_CLASSPATH_CONTAINER); }
From source file:ext.org.eclipse.jdt.internal.ui.wizards.buildpaths.ClasspathFixSelectionDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Composite composite = (Composite) super.createDialogArea(parent); ListenerMix listener = new ListenerMix(); int count = fClasspathFixProposals.length; if (count == 0) { Link link = createLink(composite, listener); String[] args = { BasicElementLabels.getJavaElementName(fMissingType), BasicElementLabels.getJavaElementName(fProject.getElementName()) }; link.setText(Messages.format(NewWizardMessages.ClasspathFixSelectionDialog_no_proposals_message, args)); updateStatus(new StatusInfo(IStatus.ERROR, new String())); } else {// ww w . j a v a 2 s . c om Label label = new Label(composite, SWT.WRAP); GridData layoutData = new GridData(SWT.FILL, SWT.CENTER, false, false); layoutData.widthHint = convertWidthInCharsToPixels(80); label.setLayoutData(layoutData); String[] args = { BasicElementLabels.getJavaElementName(fMissingType) }; label.setText(Messages.format(NewWizardMessages.ClasspathFixSelectionDialog_proposals_message, args)); fFixSelectionTable = new TableViewer(composite, SWT.SINGLE | SWT.BORDER); fFixSelectionTable.setContentProvider(new ArrayContentProvider()); fFixSelectionTable.setLabelProvider(new ClasspathFixLabelProvider()); fFixSelectionTable.setComparator(new ViewerComparator() { @Override public int category(Object element) { return -((ClasspathFixProposal) element).getRelevance(); } }); fFixSelectionTable.addDoubleClickListener(listener); fFixSelectionTable.setInput(fClasspathFixProposals); Table table = fFixSelectionTable.getTable(); table.select(0); fFixSelectionTable.addSelectionChangedListener(listener); Dialog.applyDialogFont(table); GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true); gridData.heightHint = table.getItemHeight() * Math.max(4, Math.min(10, count)); gridData.widthHint = convertWidthInCharsToPixels(50); table.setLayoutData(gridData); Link link = createLink(composite, listener); link.setText( Messages.format(NewWizardMessages.ClasspathFixSelectionDialog_open_buld_path_dialog_message, BasicElementLabels.getJavaElementName(fProject.getElementName()))); performSelectionChanged(); } Dialog.applyDialogFont(composite); return composite; }
From source file:ext.org.eclipse.jdt.internal.ui.wizards.buildpaths.ExclusionInclusionDialog.java
License:Open Source License
private ListDialogField<String> createListContents(CPListElement entryToEdit, String key, String label, ImageDescriptor descriptor, String[] buttonLabels) { ExclusionPatternAdapter adapter = new ExclusionPatternAdapter(); ListDialogField<String> patternList = new ListDialogField<String>(adapter, buttonLabels, new ExclusionInclusionLabelProvider(descriptor)); patternList.setDialogFieldListener(adapter); patternList.setLabelText(label);/*from w w w . j a v a 2 s . c o m*/ patternList.setRemoveButtonIndex(IDX_REMOVE); patternList.enableButton(IDX_EDIT, false); IPath[] pattern = (IPath[]) entryToEdit.getAttribute(key); ArrayList<String> elements = new ArrayList<String>(pattern.length); for (int i = 0; i < pattern.length; i++) { elements.add(pattern[i].toString()); } patternList.setElements(elements); patternList.selectFirstElement(); patternList.enableButton(IDX_ADD_MULTIPLE, fCurrSourceFolder != null); patternList.setViewerComparator(new ViewerComparator()); return patternList; }
From source file:ext.org.eclipse.jdt.internal.ui.wizards.buildpaths.NewVariableEntryDialog.java
License:Open Source License
public NewVariableEntryDialog(Shell parent) { super(parent); setTitle(NewWizardMessages.NewVariableEntryDialog_title); updateStatus(new StatusInfo(IStatus.ERROR, "")); //$NON-NLS-1$ String[] buttonLabels = new String[] { NewWizardMessages.NewVariableEntryDialog_vars_extend, }; VariablesAdapter adapter = new VariablesAdapter(); CPVariableElementLabelProvider labelProvider = new CPVariableElementLabelProvider(false); fVariablesList = new ListDialogField<CPVariableElement>(adapter, buttonLabels, labelProvider); fVariablesList.setDialogFieldListener(adapter); fVariablesList.setLabelText(NewWizardMessages.NewVariableEntryDialog_vars_label); fVariablesList.enableButton(IDX_EXTEND, false); fVariablesList.setViewerComparator(new ViewerComparator() { @Override// w ww. j a v a2s. c o m public int compare(Viewer viewer, Object e1, Object e2) { if (e1 instanceof CPVariableElement && e2 instanceof CPVariableElement) { return getComparator().compare(((CPVariableElement) e1).getName(), ((CPVariableElement) e2).getName()); } return super.compare(viewer, e1, e2); } }); fConfigButton = new SelectionButtonDialogField(SWT.PUSH); fConfigButton.setLabelText(NewWizardMessages.NewVariableEntryDialog_configbutton_label); fConfigButton.setDialogFieldListener(adapter); initializeElements(); fCanExtend = false; fIsValidSelection = false; fResultPaths = null; fVariablesList.selectFirstElement(); }