List of usage examples for org.eclipse.jface.viewers ViewerComparator ViewerComparator
public ViewerComparator()
From source file:com.salesforce.ide.ui.views.log.LogView.java
License:Open Source License
private ViewerComparator getViewerComparator(byte sortType) { if (sortType == SEVERITY) { return new ViewerComparator() { @Override//from w ww . j a v a 2 s .c o m public int compare(Viewer viewer, Object e1, Object e2) { if ((e1 instanceof LogEntry) && (e2 instanceof LogEntry)) { LogEntry entry1 = (LogEntry) e1; LogEntry entry2 = (LogEntry) e2; if (entry1.getSeverity() == entry2.getSeverity()) { return 0; } else if (entry1.getSeverity() > entry2.getSeverity()) { return 1 * severityOrder; } else { return -1 * severityOrder; } } return 0; } }; } else if (sortType == MESSAGE) { return new ViewerComparator() { @Override public int compare(Viewer viewer, Object e1, Object e2) { if ((e1 instanceof LogEntry) && (e2 instanceof LogEntry)) { LogEntry entry1 = (LogEntry) e1; LogEntry entry2 = (LogEntry) e2; return String.CASE_INSENSITIVE_ORDER.compare(entry1.getMessage(true), entry2.getMessage(true)) * messageOrder; } return 0; } }; } else { return new ViewerComparator() { @Override public int compare(Viewer viewer, Object e1, Object e2) { long date1 = 0; long date2 = 0; if ((e1 instanceof LogEntry) && (e2 instanceof LogEntry)) { date1 = ((LogEntry) e1).getDate().getTime(); date2 = ((LogEntry) e2).getDate().getTime(); } if (date1 == date2) { int result = logEntries.indexOf(e2) - logEntries.indexOf(e1); if (dateOrder == DESCENDING) result *= DESCENDING; return result; } if (dateOrder == DESCENDING) return date1 > date2 ? DESCENDING : ASCENDING; return date1 < date2 ? DESCENDING : ASCENDING; } }; } }
From source file:com.siteview.mde.internal.runtime.registry.RegistryBrowser.java
License:Open Source License
private void createTreeViewer(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.marginHeight = layout.marginWidth = 0; composite.setLayout(layout);//from w w w . ja va2 s.co m composite.setLayoutData(new GridData(GridData.FILL_BOTH)); fFilteredTree = new RegistryFilteredTree(this, composite, SWT.MULTI, new PatternFilter()); fFilteredTree.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND)); Tree tree = fFilteredTree.getViewer().getTree(); GridData gd = new GridData(GridData.FILL_BOTH); fFilteredTree.setLayoutData(gd); fTreeViewer = fFilteredTree.getViewer(); fContentProvider = new RegistryBrowserContentProvider(this); fTreeViewer.setContentProvider(fContentProvider); fLabelProvider = new RegistryBrowserLabelProvider(this); fTreeViewer.setLabelProvider(fLabelProvider); fTreeViewer.setUseHashlookup(true); fTreeViewer.setComparator(new ViewerComparator() { public int compare(Viewer viewer, Object e1, Object e2) { // let Comparables compare themselves if (e1 instanceof Comparable && e2 instanceof Comparable && e1.getClass().equals(e2.getClass())) { Comparable c1 = (Comparable) e1; Comparable c2 = (Comparable) e2; return c1.compareTo(c2); } if (e1 instanceof Folder && e2 instanceof Folder) return ((Folder) e1).getId() - ((Folder) e2).getId(); if (e1 instanceof Bundle && e2 instanceof Bundle) { e1 = ((Bundle) e1).getSymbolicName(); e2 = ((Bundle) e2).getSymbolicName(); } return super.compare(viewer, e1, e2); } }); if (fShowPluginsAction.isChecked()) fTreeViewer.addFilter(fActiveFilter); if (fShowDisabledAction.isChecked()) fTreeViewer.addFilter(fDisabledFilter); initializeModel(); PlatformUI.getWorkbench().getHelpSystem().setHelp(fTreeViewer.getControl(), IHelpContextIds.REGISTRY_VIEW); getViewSite().setSelectionProvider(fTreeViewer); MenuManager popupMenuManager = new MenuManager(); IMenuListener listener = new IMenuListener() { public void menuAboutToShow(IMenuManager mng) { fillContextMenu(mng); } }; popupMenuManager.setRemoveAllWhenShown(true); popupMenuManager.addMenuListener(listener); Menu menu = popupMenuManager.createContextMenu(tree); tree.setMenu(menu); }
From source file:com.siteview.mde.internal.ui.compare.MonitorStructureViewerCreator.java
License:Open Source License
public Viewer createViewer(Composite parent, CompareConfiguration config) { StructureDiffViewer viewer = new StructureDiffViewer(parent, config); viewer.setStructureCreator(new MonitorStructureCreator()); viewer.setComparator(new ViewerComparator() { public int compare(Viewer viewer, Object e1, Object e2) { if (e1 instanceof DiffNode) { if (e2 instanceof DiffNode) { ITypedElement e1Element = ((DiffNode) e1).getAncestor(); ITypedElement e2Element = ((DiffNode) e2).getAncestor(); if (!(e1Element instanceof DocumentRangeNode)) e1Element = ((DiffNode) e1).getLeft(); if (!(e2Element instanceof DocumentRangeNode)) e2Element = ((DiffNode) e2).getLeft(); if (e1Element instanceof DocumentRangeNode && e2Element instanceof DocumentRangeNode) { float e1off = getRelativeOffset(((DocumentRangeNode) e1Element)); float e2off = getRelativeOffset(((DocumentRangeNode) e2Element)); return e1off - e2off < 0 ? -1 : 1; }/*from ww w . ja va 2 s.c om*/ return 0; } return -1; } return 1; } // we may be comparing the ancestor to the left (local) document // since the lengths may be different, base the comparison on the relative position in the doc private float getRelativeOffset(DocumentRangeNode node) { float absoluteOffset = node.getRange().getOffset(); float documentLength = node.getDocument().getLength(); return absoluteOffset / documentLength; } }); return viewer; }
From source file:com.siteview.mde.internal.ui.editor.actions.SortAction.java
License:Open Source License
/** * @param viewer//from w w w. j a va2 s.c o m * @param tooltipText * @param sorter * @param defaultSorter * @param listener * @param useMiniImage */ public SortAction(StructuredViewer viewer, String tooltipText, ViewerComparator sorter, ViewerComparator defaultSorter, IPropertyChangeListener listener) { super(tooltipText, IAction.AS_CHECK_BOX); // Set the tooltip setToolTipText(tooltipText); // Set the image setImageDescriptor(MDEPluginImages.DESC_ALPHAB_SORT_CO); // Set the default comparator fDefaultComparator = defaultSorter; // Set the viewer fViewer = viewer; // Set the comparator // If one was not specified, use the default if (sorter == null) { fComparator = new ViewerComparator(); } else { fComparator = sorter; } // Determine if the viewer is already sorted // Note: Most likely the default comparator is null if (viewer.getComparator() == fDefaultComparator) { fSorted = false; } else { fSorted = true; } // Set the status of this action depending on whether it is sorted or // not setChecked(fSorted); // If a listener was specified, use it if (listener != null) { addListenerObject(listener); } }
From source file:com.siteview.mde.internal.ui.editor.KeyValueSourcePage.java
License:Open Source License
public ViewerComparator createDefaultOutlineComparator() { return new ViewerComparator() { public int compare(Viewer viewer, Object e1, Object e2) { if ((e1 instanceof IDocumentKey) && (e2 instanceof IDocumentKey)) { IDocumentKey key1 = (IDocumentKey) e1; IDocumentKey key2 = (IDocumentKey) e2; return key1.getOffset() < key2.getOffset() ? -1 : 1; }//from w ww .java 2 s . co m // Bundle manifest header elements // Do not sort by default return 0; } }; }
From source file:com.siteview.mde.internal.ui.editor.KeyValueSourcePage.java
License:Open Source License
public ViewerComparator createOutlineComparator() { return new ViewerComparator(); }
From source file:com.siteview.mde.internal.ui.editor.monitor.ExportPackageSection.java
License:Open Source License
protected void createClient(Section section, FormToolkit toolkit) { section.setText(MDEUIMessages.ExportPackageSection_title); if (isFragment()) section.setDescription(MDEUIMessages.ExportPackageSection_descFragment); else// w w w . j a v a2s . c om section.setDescription(MDEUIMessages.ExportPackageSection_desc); Composite container = createClientContainer(section, 2, toolkit); createViewerPartControl(container, SWT.MULTI, 2, toolkit); TablePart tablePart = getTablePart(); fPackageViewer = tablePart.getTableViewer(); fPackageViewer.setContentProvider(new ExportPackageContentProvider()); fPackageViewer.setLabelProvider(MDEPlugin.getDefault().getLabelProvider()); fPackageViewer.setComparator(new ViewerComparator() { public int compare(Viewer viewer, Object e1, Object e2) { String s1 = e1.toString(); String s2 = e2.toString(); if (s1.indexOf(" ") != -1) //$NON-NLS-1$ s1 = s1.substring(0, s1.indexOf(" ")); //$NON-NLS-1$ if (s2.indexOf(" ") != -1) //$NON-NLS-1$ s2 = s2.substring(0, s2.indexOf(" ")); //$NON-NLS-1$ return super.compare(viewer, s1, s2); } }); toolkit.paintBordersFor(container); section.setClient(container); GridData gd = new GridData(GridData.FILL_BOTH); if (((ManifestEditor) getPage().getEditor()).isEquinox()) { gd.verticalSpan = 2; gd.minimumWidth = 300; } section.setLayout(FormLayoutFactory.createClearGridLayout(false, 1)); section.setLayoutData(gd); makeActions(); IBundleModel model = getBundleModel(); fPackageViewer.setInput(model); model.addModelChangedListener(this); updateButtons(); }
From source file:com.siteview.mde.internal.ui.editor.monitor.ImportPackageSection.java
License:Open Source License
protected void createClient(Section section, FormToolkit toolkit) { section.setText(MDEUIMessages.ImportPackageSection_required); if (isFragment()) section.setDescription(MDEUIMessages.ImportPackageSection_descFragment); else/*from w w w .ja v a2 s . c o m*/ section.setDescription(MDEUIMessages.ImportPackageSection_desc); Composite container = createClientContainer(section, 2, toolkit); createViewerPartControl(container, SWT.MULTI, 2, toolkit); TablePart tablePart = getTablePart(); fPackageViewer = tablePart.getTableViewer(); fPackageViewer.setContentProvider(new ImportPackageContentProvider()); fPackageViewer.setLabelProvider(new MDELabelProvider() { public Image getObjectImage(PackageObject obj) { if (!(obj instanceof ImportPackageObject)) return super.getObjectImage(obj); int flags = 0; if (((ImportPackageObject) obj).isOptional()) flags = SharedLabelProvider.F_OPTIONAL; ImageDescriptor desc = JavaUI.getSharedImages().getImageDescriptor(ISharedImages.IMG_OBJS_PACKAGE); return get(desc, flags); } }); fPackageViewer.setComparator(new ViewerComparator() { public int compare(Viewer viewer, Object e1, Object e2) { String s1 = e1.toString(); String s2 = e2.toString(); if (s1.indexOf(" ") != -1) //$NON-NLS-1$ s1 = s1.substring(0, s1.indexOf(" ")); //$NON-NLS-1$ if (s2.indexOf(" ") != -1) //$NON-NLS-1$ s2 = s2.substring(0, s2.indexOf(" ")); //$NON-NLS-1$ return super.compare(viewer, s1, s2); } }); toolkit.paintBordersFor(container); section.setClient(container); section.setLayout(FormLayoutFactory.createClearGridLayout(false, 1)); section.setLayoutData(new GridData(GridData.FILL_BOTH)); makeActions(); IBundleModel model = getBundleModel(); fPackageViewer.setInput(model); model.addModelChangedListener(this); updateButtons(); }
From source file:com.siteview.mde.internal.ui.editor.monitor.LibraryVisibilitySection.java
License:Open Source License
private void createPackageViewer(Composite parent, FormToolkit toolkit) { fPackageExportContainer = toolkit.createComposite(parent); fPackageExportContainer.setLayoutData(new GridData(GridData.FILL_BOTH)); GridLayout layout = new GridLayout(); layout.marginWidth = 0;// www .j a va 2s .co m layout.marginHeight = 0; layout.numColumns = 2; fPackageExportContainer.setLayout(layout); fPackageExportContainer.setLayoutData(new GridData(GridData.FILL_BOTH)); EditableTablePart tablePart = getTablePart(); tablePart.setEditable(getPage().getModel().isEditable()); createViewerPartControl(fPackageExportContainer, SWT.FULL_SELECTION, 2, toolkit); fPackageExportViewer = tablePart.getTableViewer(); fPackageExportViewer.setContentProvider(new TableContentProvider()); fPackageExportViewer.setLabelProvider(new TableLabelProvider()); fPackageExportViewer.setComparator(new ViewerComparator()); toolkit.paintBordersFor(parent); }
From source file:com.siteview.mde.internal.ui.editor.product.JRESection.java
License:Open Source License
protected void createClient(Section section, FormToolkit toolkit) { section.setLayout(FormLayoutFactory.createClearGridLayout(false, 1)); GridData data = new GridData(GridData.FILL_HORIZONTAL); data.horizontalSpan = 2;/*from w ww. ja va2 s.c om*/ section.setLayoutData(data); section.setText(MDEUIMessages.ProductJRESection_title); section.setDescription(MDEUIMessages.ProductJRESection_desc); Composite client = toolkit.createComposite(section); client.setLayout(FormLayoutFactory.createSectionClientGridLayout(false, 3)); client.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); fTabFolder = new CTabFolder(client, SWT.FLAT | SWT.TOP); toolkit.adapt(fTabFolder, true, true); GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL); fTabFolder.setLayoutData(gd); gd.heightHint = 2; gd.horizontalSpan = 3; gd.grabExcessHorizontalSpace = true; toolkit.getColors().initializeSectionToolBarColors(); Color selectedColor = toolkit.getColors().getColor(IFormColors.TB_BG); fTabFolder.setSelectionBackground(new Color[] { selectedColor, toolkit.getColors().getBackground() }, new int[] { 100 }, true); fTabFolder.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { refresh(); } }); fTabFolder.setUnselectedImageVisible(false); FormText text = toolkit.createFormText(client, false); text.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING)); text.setText(MDEUIMessages.ProductJRESection_eeName, false, false); fEEsCombo = new ComboViewerPart(); fEEsCombo.createControl(client, toolkit, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY); fEEsCombo.getControl().setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); fEEsCombo.setLabelProvider(new EELabelProvider()); fEEsCombo.setComparator(new ViewerComparator()); fEEsCombo.setItems(VMUtil.getExecutionEnvironments()); fEEsCombo.addItem("", 0); //$NON-NLS-1$ fEEsCombo.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { if (!fBlockChanges) { Object selection = ((IStructuredSelection) event.getSelection()).getFirstElement(); setEE(selection instanceof IExecutionEnvironment ? (IExecutionEnvironment) selection : null); fEEButton.setEnabled(selection instanceof IExecutionEnvironment); } } }); fEEsCombo.setEnabled(isEditable()); fExecutionEnvironmentsButton = toolkit.createButton(client, MDEUIMessages.ProductJRESection_browseEEs, SWT.PUSH); GridDataFactory.fillDefaults().applyTo(fExecutionEnvironmentsButton); fExecutionEnvironmentsButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event event) { PreferencesUtil .createPreferenceDialogOn(getSection().getShell(), "org.eclipse.jdt.debug.ui.jreProfiles", //$NON-NLS-1$ new String[] { "org.eclipse.jdt.debug.ui.jreProfiles" }, null) //$NON-NLS-1$ .open(); } }); fExecutionEnvironmentsButton.setEnabled(isEditable()); fEEButton = toolkit.createButton(client, MDEUIMessages.ProdctJRESection_bundleJRE, SWT.CHECK); GridData buttonLayout = new GridData(GridData.FILL_HORIZONTAL); buttonLayout.horizontalSpan = 2; fEEButton.setLayoutData(buttonLayout); fEEButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { getJVMLocations().setIncludeJREWithProduct(getOS(fLastTab), fEEButton.getSelection()); } }); fEEButton.setEnabled(isEditable()); createTabs(); toolkit.paintBordersFor(client); section.setClient(client); // Register to be notified when the model changes getProductModel().addModelChangedListener(this); }