List of usage examples for org.eclipse.jface.viewers ViewerComparator ViewerComparator
public ViewerComparator()
From source file:org.eclipse.epp.internal.mpc.ui.wizards.FeatureSelectionWizardPage.java
License:Open Source License
public void createControl(Composite parent) { Composite container = new Composite(parent, SWT.NULL); GridLayoutFactory.fillDefaults().numColumns(1).applyTo(container); Composite treeContainer = new Composite(container, SWT.NULL); GridDataFactory.fillDefaults().grab(true, true).align(SWT.FILL, SWT.FILL).applyTo(treeContainer); TreeColumnLayout columnLayout = new TreeColumnLayout(); treeContainer.setLayout(columnLayout); viewer = new CheckboxTreeViewer(treeContainer, SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); viewer.setUseHashlookup(true);//ww w . ja v a 2 s.co m viewer.setComparator(new ViewerComparator() { @Override public int compare(Viewer viewer, Object e1, Object e2) { if (e1 == e2) { return 0; } String s1; String s2; if (e1 instanceof CatalogItemEntry) { s1 = ((CatalogItemEntry) e1).getItem().getName(); s2 = ((CatalogItemEntry) e2).getItem().getName(); } else { s1 = ((FeatureEntry) e1).getFeatureDescriptor().getName(); s2 = ((FeatureEntry) e2).getFeatureDescriptor().getName(); } int i = s1.compareToIgnoreCase(s2); if (i == 0) { i = s1.compareTo(s2); if (i == 0) { i = new Integer(System.identityHashCode(e1)).compareTo(System.identityHashCode(e2)); } } return i; } }); viewer.setContentProvider(new ContentProvider()); viewer.setInput(getWizard().getSelectionModel()); viewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { if (event.getElement() instanceof CatalogItemEntry) { CatalogItemEntry entry = (CatalogItemEntry) event.getElement(); for (FeatureEntry child : entry.getChildren()) { child.setChecked(event.getChecked()); } } else if (event.getElement() instanceof FeatureEntry) { ((FeatureEntry) event.getElement()).setChecked(event.getChecked()); } computeCheckedViewerState(); updateMessage(); setPageComplete(computePageComplete()); } }); column = new TreeViewerColumn(viewer, SWT.NONE); column.setLabelProvider(new DelegatingStyledCellLabelProvider(new LabelProvider())); columnLayout.setColumnData(column.getColumn(), new ColumnWeightData(100, 100, true)); detailsControl = new Group(container, SWT.SHADOW_IN); detailsControl.setText(Messages.FeatureSelectionWizardPage_details); GridDataFactory.fillDefaults().grab(true, false).hint(SWT.DEFAULT, 300).exclude(true) .applyTo(detailsControl); GridLayoutFactory.fillDefaults().applyTo(detailsControl); detailStatusText = new Text(detailsControl, SWT.MULTI | SWT.READ_ONLY | SWT.WRAP | SWT.V_SCROLL); GridDataFactory.fillDefaults().grab(true, true).applyTo(detailStatusText); setControl(container); Dialog.applyDialogFont(container); MarketplaceClientUi.setDefaultHelp(getControl()); }
From source file:org.eclipse.equinox.p2.ui.AcceptLicensesWizardPage.java
License:Open Source License
private void createLicenseListSection(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.marginWidth = 0;/*from w ww. j av a2s .c o m*/ layout.marginHeight = 0; composite.setLayout(layout); GridData gd = new GridData(GridData.FILL_BOTH); composite.setLayoutData(gd); Label label = new Label(composite, SWT.NONE); label.setText(ProvUIMessages.AcceptLicensesWizardPage_ItemsLabel); iuViewer = new TreeViewer(composite, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); iuViewer.setContentProvider(new LicenseContentProvider()); iuViewer.setLabelProvider(new LicenseLabelProvider()); iuViewer.setComparator(new ViewerComparator()); iuViewer.setInput(licensesToIUs); iuViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { handleSelectionChanged((IStructuredSelection) event.getSelection()); } }); gd = new GridData(GridData.FILL_BOTH); gd.widthHint = convertWidthInCharsToPixels(ILayoutConstants.DEFAULT_PRIMARY_COLUMN_WIDTH); gd.heightHint = convertHeightInCharsToPixels(ILayoutConstants.DEFAULT_TABLE_HEIGHT); iuViewer.getControl().setLayoutData(gd); }
From source file:org.eclipse.equinox.p2.ui.RevertProfilePage.java
License:Open Source License
private void createConfigurationsSection(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.marginWidth = 0;// w ww. jav a 2s . c om layout.marginHeight = 0; composite.setLayout(layout); GridData gd = new GridData(GridData.FILL_BOTH); composite.setLayoutData(gd); Label label = new Label(composite, SWT.NONE); label.setText(ProvUIMessages.RevertDialog_ConfigsLabel); configsViewer = new TableViewer(composite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION); ProvElementContentProvider provider = new ProvElementContentProvider() { protected void finishedFetchingElements(Object o) { Object element = configsViewer.getElementAt(0); if (element != null) configsViewer.setSelection(new StructuredSelection(element)); } }; setConfigsColumns(configsViewer); // Use deferred fetch because getting snapshots is expensive. provider.setFetchInBackground(true); configsViewer.setContentProvider(provider); configsViewer.setLabelProvider(new ProvElementLabelProvider()); configsViewer.setComparator(new ViewerComparator() { // We override the ViewerComparator so that we don't get the labels of the elements // for comparison, but rather get the timestamps and compare them. // Reverse sorting is used so that newest is first. public int compare(Viewer viewer, Object o1, Object o2) { if (o1 instanceof RollbackProfileElement && o2 instanceof RollbackProfileElement) { long timestamp1 = ((RollbackProfileElement) o1).getTimestamp(); long timestamp2 = ((RollbackProfileElement) o2).getTimestamp(); if (timestamp1 > timestamp2) return -1; return 1; } // this is naive (doesn't consult the label provider), but shouldn't happen return o2.toString().compareTo(o1.toString()); } }); configsViewer.setInput(getInput()); configsViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { handleSelectionChanged((IStructuredSelection) event.getSelection()); } }); CopyUtils.activateCopy(this, configsViewer.getControl()); gd = new GridData(SWT.FILL, SWT.FILL, true, true); configsViewer.getControl().setLayoutData(gd); }
From source file:org.eclipse.gyrex.admin.ui.jobs.internal.generic.GenericJobParameterPage.java
License:Open Source License
@Override public void createControl(final Composite parent) { final Composite composite = new Composite(parent, SWT.NONE); composite.setLayout(GridLayoutFactory.fillDefaults().create()); composite.setLayoutData(GridDataFactory.fillDefaults() .minSize(convertVerticalDLUsToPixels(200), convertHorizontalDLUsToPixels(400)).create()); setControl(composite);/*from ww w. jav a2 s . c o m*/ parameterTable.setLabelText(String.format("Parameter for %s:", session.getJobTypeName())); parameterTable.setViewerComparator(new ViewerComparator()); final IDialogFieldListener validateListener = new IDialogFieldListener() { @Override public void dialogFieldChanged(final DialogField field) { validate(); } }; parameterTable.setDialogFieldListener(validateListener); LayoutUtil.doDefaultLayout(composite, new DialogField[] { parameterTable }, true); LayoutUtil.setHorizontalGrabbing(parameterTable.getListControl(null)); // initialize from existing parameter readParameterFromSession(); }
From source file:org.eclipse.gyrex.admin.ui.logback.internal.AppenderWizardPage.java
License:Open Source License
@Override public void createControl(final Composite parent) { final Composite composite = new Composite(parent, SWT.NONE); composite.setLayout(GridLayoutFactory.fillDefaults().create()); composite.setLayoutData(GridDataFactory.fillDefaults() .minSize(convertVerticalDLUsToPixels(200), convertHorizontalDLUsToPixels(400)).create()); setControl(composite);// ww w. j a va 2 s .com nameField.setLabelText("Name:"); appenderTypeField.setLabelText("Type:"); appenderTypeField.setViewerComparator(new ViewerComparator()); final IDialogFieldListener validateListener = new IDialogFieldListener() { @Override public void dialogFieldChanged(final DialogField field) { validate(); } }; nameField.setDialogFieldListener(validateListener); appenderTypeField.setDialogFieldListener(validateListener); LayoutUtil.doDefaultLayout(composite, new DialogField[] { nameField, appenderTypeField }, false); LayoutUtil.setHorizontalGrabbing(nameField.getTextControl(null)); LayoutUtil.setHorizontalGrabbing(appenderTypeField.getTreeControl(null)); final List<AppenderType> types = new ArrayList<>(); final AppenderProviderRegistry registry = LogbackConfigActivator.getInstance() .getAppenderProviderRegistry(); for (final AppenderProvider provider : registry.getTracked().values()) { for (final String typeId : provider.getProvidedTypeIds()) { types.add(new AppenderType(typeId, registry.getName(typeId), provider)); } } appenderTypeField.setElements(types); if (appender != null) { nameField.setText(appender.getName()); for (final AppenderType type : types) { if (appender.getTypeId().equals(type.getId())) { appenderTypeField.selectElements(new StructuredSelection(type)); break; } } appenderTypeField.setEnabled(false); } }
From source file:org.eclipse.jdt.debug.ui.launchConfigurations.AppletParametersTab.java
License:Open Source License
/** * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(Composite) */// w w w . j a v a2 s . co m public void createControl(Composite parent) { Composite comp = SWTFactory.createComposite(parent, 1, 1, GridData.FILL_HORIZONTAL); setControl(comp); PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IJavaDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG_APPLET_PARAMETERS_TAB); Composite namecomp = SWTFactory.createComposite(comp, comp.getFont(), 4, 1, GridData.FILL_HORIZONTAL, 0, 0); SWTFactory.createLabel(namecomp, LauncherMessages.appletlauncher_argumenttab_widthlabel_text, 1); fWidthText = SWTFactory.createSingleText(namecomp, 1); fWidthText.addModifyListener(fListener); SWTFactory.createLabel(namecomp, LauncherMessages.appletlauncher_argumenttab_namelabel_text, 1); fNameText = SWTFactory.createSingleText(namecomp, 1); fNameText.addModifyListener(fListener); SWTFactory.createLabel(namecomp, LauncherMessages.appletlauncher_argumenttab_heightlabel_text, 1); fHeightText = SWTFactory.createSingleText(namecomp, 1); fHeightText.addModifyListener(fListener); Label blank = new Label(namecomp, SWT.NONE); blank.setText(EMPTY_STRING); Label hint = SWTFactory.createLabel(namecomp, LauncherMessages.AppletParametersTab__optional_applet_instance_name__1, 1); GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_CENTER); hint.setLayoutData(gd); SWTFactory.createVerticalSpacer(comp, 1); Composite paramcomp = SWTFactory.createComposite(comp, comp.getFont(), 2, 1, GridData.FILL_BOTH, 0, 0); SWTFactory.createLabel(paramcomp, LauncherMessages.appletlauncher_argumenttab_parameterslabel_text, 2); Table ptable = new Table(paramcomp, SWT.FULL_SELECTION | SWT.BORDER); fViewer = new TableViewer(ptable); gd = new GridData(GridData.FILL_BOTH); ptable.setLayoutData(gd); TableColumn column1 = new TableColumn(ptable, SWT.NONE); column1.setText(LauncherMessages.appletlauncher_argumenttab_parameterscolumn_name_text); TableColumn column2 = new TableColumn(ptable, SWT.NONE); column2.setText(LauncherMessages.appletlauncher_argumenttab_parameterscolumn_value_text); TableLayout tableLayout = new TableLayout(); ptable.setLayout(tableLayout); tableLayout.addColumnData(new ColumnWeightData(100)); tableLayout.addColumnData(new ColumnWeightData(100)); ptable.setHeaderVisible(true); ptable.setLinesVisible(true); ptable.addSelectionListener(fListener); ptable.addMouseListener(new MouseAdapter() { @Override public void mouseDoubleClick(MouseEvent e) { setParametersButtonsEnableState(); if (fParametersEditButton.isEnabled()) { handleParametersEditButtonSelected(); } } }); fViewer.setContentProvider(new IStructuredContentProvider() { public Object[] getElements(Object inputElement) { Map<?, ?> params = (Map<?, ?>) inputElement; return params.keySet().toArray(); } public void dispose() { } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } }); fViewer.setLabelProvider(new ITableLabelProvider() { public Image getColumnImage(Object element, int columnIndex) { return null; } public String getColumnText(Object element, int columnIndex) { if (columnIndex == 0) { return element.toString(); } String key = (String) element; Map<String, String> params = getViewerInput(); Object object = params.get(key); if (object != null) { return object.toString(); } return null; } public void addListener(ILabelProviderListener listener) { } public void dispose() { } public boolean isLabelProperty(Object element, String property) { return false; } public void removeListener(ILabelProviderListener listener) { } }); fViewer.setComparator(new ViewerComparator()); Composite envcomp = SWTFactory.createComposite(paramcomp, paramcomp.getFont(), 1, 1, GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL, 0, 0); fParametersAddButton = createPushButton(envcomp, LauncherMessages.appletlauncher_argumenttab_parameters_button_add_text, null); fParametersAddButton.addSelectionListener(fListener); fParametersEditButton = createPushButton(envcomp, LauncherMessages.appletlauncher_argumenttab_parameters_button_edit_text, null); fParametersEditButton.addSelectionListener(fListener); fParametersRemoveButton = createPushButton(envcomp, LauncherMessages.appletlauncher_argumenttab_parameters_button_remove_text, null); fParametersRemoveButton.addSelectionListener(fListener); setParametersButtonsEnableState(); Dialog.applyDialogFont(parent); }
From source file:org.eclipse.jdt.internal.debug.ui.JavaLogicalStructuresPreferencePage.java
License:Open Source License
/** * @param parent the parent widget// w w w . j a va2 s .c o m */ private void createTable(Composite parent) { SWTFactory.createWrapLabel(parent, DebugUIMessages.JavaLogicalStructuresPreferencePage_1, 2, 300); // logical structures list fLogicalStructuresViewer = new TableViewer(parent, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL); Table table = (Table) fLogicalStructuresViewer.getControl(); GridData gd = new GridData(GridData.FILL_HORIZONTAL); gd.heightHint = convertHeightInCharsToPixels(10); gd.widthHint = convertWidthInCharsToPixels(10); table.setLayoutData(gd); table.setFont(parent.getFont()); TableLayout tableLayout = new TableLayout(); table.setLayout(tableLayout); table.setHeaderVisible(true); table.setLinesVisible(true); // create table columns fLogicalStructuresViewer.setColumnProperties(fTableColumnProperties); for (int i = 0; i < fTableColumnHeaders.length; i++) { tableLayout.addColumnData(fTableColumnLayouts[i]); TableColumn column = new TableColumn(table, SWT.NONE, i); column.setResizable(fTableColumnLayouts[i].resizable); column.setText(fTableColumnHeaders[i]); } fLogicalStructuresContentProvider = new LogicalStructuresListViewerContentProvider(); fLogicalStructuresViewer.setContentProvider(fLogicalStructuresContentProvider); fLogicalStructuresViewer.setLabelProvider(new LogicalStructuresListViewerLabelProvider()); fLogicalStructuresViewer.addSelectionChangedListener(this); fLogicalStructuresViewer.setInput(this); fLogicalStructuresViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { IStructuredSelection selection = ((IStructuredSelection) fLogicalStructuresViewer.getSelection()); if (selection.size() == 1 && !((JavaLogicalStructure) selection.getFirstElement()).isContributed()) { editLogicalStructure(); } } }); table.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent event) { if (event.character == SWT.DEL && event.stateMask == 0 && fRemoveLogicalStructureButton.isEnabled()) { removeLogicalStrutures(); } } }); fLogicalStructuresViewer.setComparator(new ViewerComparator() { @Override public int compare(Viewer iViewer, Object e1, Object e2) { if (e1 == null) { return -1; } else if (e2 == null) { return 1; } else { String type1 = ((JavaLogicalStructure) e1).getQualifiedTypeName(); int index = type1.lastIndexOf('.') + 1; if (index > 0) { type1 = type1.substring(index); } String type2 = ((JavaLogicalStructure) e2).getQualifiedTypeName(); index = type2.lastIndexOf('.') + 1; if (index > 0) { type2 = type2.substring(index); } return type1.compareToIgnoreCase(type2); } } }); }
From source file:org.eclipse.jdt.internal.debug.ui.jres.InstalledJREsBlock.java
License:Open Source License
/** * Sorts by VM type, and name within type. *//*from ww w.j a va2 s .co m*/ private void sortByType() { fVMList.setComparator(new ViewerComparator() { @Override public int compare(Viewer viewer, Object e1, Object e2) { if ((e1 instanceof IVMInstall) && (e2 instanceof IVMInstall)) { IVMInstall left = (IVMInstall) e1; IVMInstall right = (IVMInstall) e2; String leftType = left.getVMInstallType().getName(); String rightType = right.getVMInstallType().getName(); int res = leftType.compareToIgnoreCase(rightType); if (res != 0) { return res; } return left.getName().compareToIgnoreCase(right.getName()); } return super.compare(viewer, e1, e2); } @Override public boolean isSorterProperty(Object element, String property) { return true; } }); fSortColumn = 3; }
From source file:org.eclipse.jdt.internal.debug.ui.jres.InstalledJREsBlock.java
License:Open Source License
/** * Sorts by VM name./* w w w . j a va 2 s. c o m*/ */ private void sortByName() { fVMList.setComparator(new ViewerComparator() { @Override public int compare(Viewer viewer, Object e1, Object e2) { if ((e1 instanceof IVMInstall) && (e2 instanceof IVMInstall)) { IVMInstall left = (IVMInstall) e1; IVMInstall right = (IVMInstall) e2; return left.getName().compareToIgnoreCase(right.getName()); } return super.compare(viewer, e1, e2); } @Override public boolean isSorterProperty(Object element, String property) { return true; } }); fSortColumn = 1; }
From source file:org.eclipse.jdt.internal.debug.ui.jres.InstalledJREsBlock.java
License:Open Source License
/** * Sorts by VM location./* w w w . j a va 2 s . c o m*/ */ private void sortByLocation() { fVMList.setComparator(new ViewerComparator() { @Override public int compare(Viewer viewer, Object e1, Object e2) { if ((e1 instanceof IVMInstall) && (e2 instanceof IVMInstall)) { IVMInstall left = (IVMInstall) e1; IVMInstall right = (IVMInstall) e2; return left.getInstallLocation().getAbsolutePath() .compareToIgnoreCase(right.getInstallLocation().getAbsolutePath()); } return super.compare(viewer, e1, e2); } @Override public boolean isSorterProperty(Object element, String property) { return true; } }); fSortColumn = 2; }