List of usage examples for org.eclipse.jface.viewers ViewerComparator ViewerComparator
public ViewerComparator()
From source file:com.aptana.index.core.ui.views.IndexView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { treeViewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); contentProvider = new IndexViewContentProvider(); labelProvider = new IndexViewLabelProvider(); actionProvider = new IndexViewActionProvider(); // set content and label providers treeViewer.setContentProvider(contentProvider); treeViewer.setLabelProvider(labelProvider); treeViewer.setComparator(new ViewerComparator() { @Override//from w w w. j a v a2 s .c o m public int compare(Viewer viewer, Object e1, Object e2) { String name1 = null; String name2 = null; if (viewer != null && viewer instanceof ContentViewer) { IBaseLabelProvider provider = ((ContentViewer) viewer).getLabelProvider(); if (provider instanceof ILabelProvider) { ILabelProvider labelProvider = (ILabelProvider) provider; name1 = labelProvider.getText(e1); name2 = labelProvider.getText(e2); } } if (name1 == null) { name1 = e1.toString(); } if (name2 == null) { name2 = e2.toString(); } return name1.compareToIgnoreCase(name2); } }); // set input based on the current selection ISelectionService selectionService = getSite().getWorkbenchWindow().getSelectionService(); ISelection selection = selectionService.getSelection(IPageLayout.ID_PROJECT_EXPLORER); setInputFromSelection(selection); // add selection provider this.getSite().setSelectionProvider(treeViewer); // listen to theme changes hookContextMenu(); addListeners(); applyTheme(); }
From source file:com.aptana.projects.wizards.ProjectTemplateSelectionPage.java
License:Open Source License
private Composite createTemplatesList(Composite parent) { Composite main = new Composite(parent, SWT.NONE); main.setLayout(GridLayoutFactory.fillDefaults().spacing(0, 0).numColumns(2).create()); Color background = main.getDisplay().getSystemColor(SWT.COLOR_WHITE); main.setBackground(background);//from www. j a va 2 s.c o m // the left side is the list of template tags Composite templateTags = new Composite(main, SWT.BORDER); templateTags.setLayout(GridLayoutFactory.swtDefaults().create()); // If there are only the "All" tag and one other tag, don't both showing the left column. boolean exclude = templateTagsMap.size() <= 2; templateTags.setLayoutData( GridDataFactory.fillDefaults().grab(false, true).hint(150, SWT.DEFAULT).exclude(exclude).create()); templateTags.setBackground(background); List<String> tags = new ArrayList<String>(templateTagsMap.keySet()); Collections.sort(tags); tagsListViewer = new TableViewer(templateTags, SWT.SINGLE | SWT.FULL_SELECTION); tagsListViewer.setContentProvider(ArrayContentProvider.getInstance()); tagsListViewer.setLabelProvider(new LabelProvider() { @Override public Image getImage(Object element) { if (element instanceof String) { return getProjectTemplatesManager().getImageForTag((String) element); } return super.getImage(element); } }); tagsListViewer.setInput(tags); tagsListViewer.setComparator(new ViewerComparator() { @Override public int category(Object element) { // make sure the "All" tag appears at the bottom return TAG_ALL.equals(element) ? 1 : 0; } }); Table tagsList = tagsListViewer.getTable(); tagsList.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); tagsList.setBackground(background); FontData[] fontData = SWTUtils.resizeFont(tagsList.getFont(), 2); final Font tagFont = new Font(tagsList.getDisplay(), fontData); tagsList.setFont(tagFont); tagsList.addDisposeListener(new DisposeListener() { public void widgetDisposed(DisposeEvent e) { tagFont.dispose(); } }); tagsListViewer.addSelectionChangedListener(tagSelectionChangedListener); // the right side has the list of templates for the selected tag and the details on the selected template Composite rightComp = new Composite(main, SWT.BORDER); rightComp.setLayout(GridLayoutFactory.fillDefaults().create()); rightComp.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); rightComp.setBackground(background); templatesListComposite = new Composite(rightComp, SWT.NONE); templatesListComposite.setLayout( RowLayoutFactory.swtDefaults().extendedMargins(5, 5, 5, 5).spacing(10).fill(true).create()); templatesListComposite .setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(450, 250).create()); templatesListComposite.setBackground(background); Label separator = new Label(rightComp, SWT.SEPARATOR | SWT.HORIZONTAL); separator.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create()); Composite descriptionComp = createTemplateDescription(rightComp); descriptionComp .setLayoutData(GridDataFactory.fillDefaults().grab(true, false).hint(SWT.DEFAULT, 110).create()); return main; }
From source file:com.aptana.samples.ui.views.SamplesView.java
License:Open Source License
protected TreeViewer createTreeViewer(Composite parent) { TreeViewer treeViewer = new TreeViewer(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL); treeViewer.setContentProvider(new SamplesViewContentProvider()); treeViewer.setLabelProvider(new SamplesViewLabelProvider()); treeViewer.setInput(getSamplesManager()); treeViewer.setComparator(new ViewerComparator()); ColumnViewerToolTipSupport.enableFor(treeViewer); return treeViewer; }
From source file:com.aptana.scripting.ui.views.BundleView.java
License:Open Source License
/** * createPartControl/*from w ww. jav a 2s. co m*/ */ public void createPartControl(Composite parent) { treeViewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); contentProvider = new BundleViewContentProvider(); labelProvider = new BundleViewLabelProvider(); treeViewer.setContentProvider(contentProvider); treeViewer.setLabelProvider(labelProvider); treeViewer.setInput(BundleManager.getInstance()); treeViewer.setComparator(new ViewerComparator() { /* * (non-Javadoc) * @see org.eclipse.jface.viewers.ViewerComparator#compare(org.eclipse.jface.viewers.Viewer, * java.lang.Object, java.lang.Object) */ @Override public int compare(Viewer viewer, Object e1, Object e2) { String name1 = null; String name2 = null; if (viewer != null && viewer instanceof ContentViewer) { IBaseLabelProvider provider = ((ContentViewer) viewer).getLabelProvider(); if (provider instanceof ILabelProvider) { ILabelProvider labelProvider = (ILabelProvider) provider; name1 = labelProvider.getText(e1); name2 = labelProvider.getText(e2); } } if (name1 == null) { name1 = e1.toString(); } if (name2 == null) { name2 = e2.toString(); } return name1.compareTo(name2); } }); // add selection provider getSite().setSelectionProvider(treeViewer); // listen to theme changes hookContextMenu(); addListeners(); applyTheme(); }
From source file:com.aptana.ui.preferences.ProjectBuildPathPropertyPage.java
License:Open Source License
/** * @return/*from ww w .j a v a 2 s . c om*/ */ private ViewerComparator getCompartor() { return new ViewerComparator() { public int compare(Viewer viewer, Object e1, Object e2) { if (e1 instanceof BuildPathEntry && e2 instanceof BuildPathEntry) { BuildPathEntry bpe1 = (BuildPathEntry) e1; BuildPathEntry bpe2 = (BuildPathEntry) e2; return bpe1.getDisplayName().compareTo(bpe2.getDisplayName()); } return 0; } }; }
From source file:com.aptana.ui.preferences.TroubleshootingPreferencePage.java
License:Open Source License
/** * Creates the field editors. Field editors are abstractions of the common GUI blocks needed to manipulate various * types of preferences. Each field editor knows how to save and restore itself. *//*from w ww .ja v a 2 s .c o m*/ public void createFieldEditors() { Composite appearanceComposite = getFieldEditorParent(); Composite group = AptanaPreferencePage.createGroup(appearanceComposite, Messages.TroubleshootingPreferencePage_LBL_DebuggingOutputLevel); Composite debugComp = new Composite(group, SWT.NONE); debugComp.setLayout(GridLayoutFactory.fillDefaults().margins(0, 5).numColumns(2).create()); debugComp.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create()); Label levelLabel = new Label(debugComp, SWT.NONE); levelLabel.setText(Messages.TroubleshootingPreferencePage_LBL_DebugLevel); levelLabel.setLayoutData(GridDataFactory.swtDefaults().create()); debugCombo = new Combo(debugComp, SWT.READ_ONLY); debugCombo.setItems(new String[] { Messages.TroubleshootingPreferencePage_Level_Errors, Messages.TroubleshootingPreferencePage_Level_Warnings, Messages.TroubleshootingPreferencePage_Level_All }); debugCombo.select(StatusLevel .valueOf(getPreferenceStore().getString(ICorePreferenceConstants.PREF_DEBUG_LEVEL)).ordinal()); final Label currentValue = new Label(debugComp, SWT.LEFT); currentValue.setText(getValueLabel(debugCombo.getSelectionIndex())); currentValue.setFont(SWTUtils.getDefaultSmallFont()); currentValue.setLayoutData(GridDataFactory.fillDefaults().span(2, 0).grab(true, true).create()); debugCombo.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { widgetSelected(e); } public void widgetSelected(SelectionEvent e) { currentValue.setText(getValueLabel(debugCombo.getSelectionIndex())); } }); BooleanFieldEditor showHiddenProcesses = new BooleanFieldEditor( ICorePreferenceConstants.PREF_SHOW_SYSTEM_JOBS, Messages.TroubleshootingPreferencePage_ShowHiddenProcesses, SWT.DEFAULT, group); addField(showHiddenProcesses); toggleComponents = new BooleanFieldEditor(ICorePreferenceConstants.PREF_ENABLE_COMPONENT_DEBUGGING, Messages.TroubleshootingPreferencePage_DebugSpecificComponents, SWT.DEFAULT, group); addField(toggleComponents); Composite composite = new Composite(group, SWT.NONE); composite.setLayout(GridLayoutFactory.fillDefaults().margins(0, 5).create()); composite.setLayoutData(GridDataFactory.fillDefaults().span(2, 0).hint(400, 300).grab(true, true).create()); Table table = new Table(composite, SWT.CHECK | SWT.BORDER | SWT.SINGLE); table.setFont(group.getFont()); categoryViewer = new CheckboxTableViewer(table); categoryViewer.getControl().setFont(group.getFont()); categoryViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH)); categoryViewer.setContentProvider(ArrayContentProvider.getInstance()); categoryViewer.setLabelProvider(new ColumnLabelProvider()); categoryViewer.setComparator(new ViewerComparator()); Map<String, String> tItems = EclipseUtil.getTraceableItems(); Set<String> keys = tItems.keySet(); String[] items = keys.toArray(new String[keys.size()]); Arrays.sort(items); categoryViewer.setInput(items); categoryViewer.setCheckedElements(EclipseUtil.getCurrentDebuggableComponents()); categoryViewer.getTable().setEnabled(false); if (getPreferenceStore().getBoolean(ICorePreferenceConstants.PREF_ENABLE_COMPONENT_DEBUGGING)) { categoryViewer.getTable().setEnabled(true); } Composite buttonComp = new Composite(composite, SWT.NONE); buttonComp.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).create()); buttonComp.setLayoutData(GridDataFactory.fillDefaults().create()); Button selectAllButton = new Button(buttonComp, SWT.BORDER); selectAllButton.setText(Messages.TroubleshootingPreferencePage_SelectAll); selectAllButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { categoryViewer.setAllChecked(true); } }); Button selectNoneButton = new Button(buttonComp, SWT.BORDER); selectNoneButton.setText(Messages.TroubleshootingPreferencePage_SelectNone); selectNoneButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { categoryViewer.setAllChecked(false); } }); }
From source file:com.aptana.ui.widgets.CListTable.java
License:Open Source License
private void createTable(Composite parent) { tableViewer = new TableViewer(parent, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION); tableViewer.getControl().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); tableViewer.setContentProvider(ArrayContentProvider.getInstance()); tableViewer.setLabelProvider(new LabelProvider()); tableViewer.setComparator(new ViewerComparator()); tableViewer.setInput(items);//from w ww . j a va 2s . c o m tableViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { updateStates(); } }); updateStates(); }
From source file:com.astra.ses.spell.gui.replay.dialogs.execution.name.ExecutionSelectionViewerName.java
License:Open Source License
/*************************************************************************** * //from w ww . j a v a 2 s. co m **************************************************************************/ public ExecutionSelectionViewerName(Tree tree) { super(tree); setComparator(new ViewerComparator() { public int compare(Viewer viewer, Object e1, Object e2) { ExecutionSelectionNode t1 = (ExecutionSelectionNode) e1; ExecutionSelectionNode t2 = (ExecutionSelectionNode) e2; int result = 0; if (t1.getType().equals(NodeType.ASRUN)) { result = t1.getLabel().compareTo(t2.getLabel()); if (result == 0) { result = t1.getDate().compareTo(t2.getDate()); } } else if (t1.getType().equals(NodeType.NAME_GROUP)) { result = t1.getLabel().compareTo(t2.getLabel()); } else { result = t1.getDate().compareTo(t2.getDate()); } return result; }; }); for (ExecutionSelectionColumnName col : ExecutionSelectionColumnName.values()) { TreeColumn c = new TreeColumn(tree, col.style); c.setText(col.title); c.setWidth(col.width); } setContentProvider(new ExecutionSelectionContentProvider()); setLabelProvider(new ExecutionSelectionLabelProviderName()); }
From source file:com.astra.ses.spell.gui.replay.dialogs.execution.time.ExecutionSelectionViewerTime.java
License:Open Source License
/*************************************************************************** * /*ww w.j a va 2 s .c om*/ **************************************************************************/ public ExecutionSelectionViewerTime(Tree tree) { super(tree); setComparator(new ViewerComparator() { public int compare(Viewer viewer, Object e1, Object e2) { ExecutionSelectionNode t1 = (ExecutionSelectionNode) e1; ExecutionSelectionNode t2 = (ExecutionSelectionNode) e2; int result = 0; if (t1.getType().equals(NodeType.ASRUN)) { result = t1.getDate().compareTo(t2.getDate()); if (result == 0) { result = t1.getLabel().compareTo(t2.getLabel()); } } else { result = t1.getDate().compareTo(t2.getDate()); } return result; }; }); for (ExecutionSelectionColumnTime col : ExecutionSelectionColumnTime.values()) { TreeColumn c = new TreeColumn(tree, col.style); c.setText(col.title); c.setWidth(col.width); } setContentProvider(new ExecutionSelectionContentProvider()); setLabelProvider(new ExecutionSelectionLabelProviderTime()); }
From source file:com.atlassian.connector.eclipse.internal.crucible.ui.wizards.CrucibleReviewDetailsPage.java
License:Open Source License
public void createControl(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); composite.setLayout(GridLayoutFactory.fillDefaults().numColumns(6).margins(5, 5).create()); new Label(composite, SWT.NONE).setText("Title:"); titleText = new Text(composite, SWT.BORDER); titleText.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { getContainer().updateButtons(); }// w w w. j av a2s . c o m }); GridDataFactory.fillDefaults().span(5, 1).grab(true, false).applyTo(titleText); new Label(composite, SWT.NONE).setText("Project:"); projectsComboViewer = new ComboViewer(composite); projectsComboViewer.setLabelProvider(new CrucibleProjectsLabelProvider()); projectsComboViewer.setContentProvider(new ArrayContentProvider()); projectsComboViewer.setSorter(new ViewerSorter()); projectsComboViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { updateReviewersControl(); } }); GridDataFactory.fillDefaults().grab(true, false).applyTo(projectsComboViewer.getCombo()); new Label(composite, SWT.NONE).setText("Moderator:"); moderatorComboViewer = new ComboViewer(composite); moderatorComboViewer.setLabelProvider(new CrucibleUserLabelProvider()); moderatorComboViewer.setContentProvider(new ArrayContentProvider()); moderatorComboViewer.setComparator(new ViewerComparator()); moderatorComboViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { Object firstElement = ((IStructuredSelection) event.getSelection()).getFirstElement(); if (firstElement != null) { getWizard().getContainer().updateButtons(); } } }); GridDataFactory.fillDefaults().grab(true, false).applyTo(moderatorComboViewer.getCombo()); new Label(composite, SWT.NONE).setText("Author:"); authorComboViewer = new ComboViewer(composite); authorComboViewer.setLabelProvider(new CrucibleUserLabelProvider()); authorComboViewer.setContentProvider(new ArrayContentProvider()); authorComboViewer.setComparator(new ViewerComparator()); authorComboViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { Object firstElement = ((IStructuredSelection) event.getSelection()).getFirstElement(); if (firstElement != null) { getWizard().getContainer().updateButtons(); } } }); GridDataFactory.fillDefaults().grab(true, false).applyTo(authorComboViewer.getCombo()); Label label = new Label(composite, SWT.SEPARATOR | SWT.HORIZONTAL); GridDataFactory.fillDefaults().grab(true, false).span(6, 1).applyTo(label); label = new Label(composite, SWT.NONE); label.setText("Objectives:"); GridDataFactory.fillDefaults().span(4, 1).applyTo(label); label = new Label(composite, SWT.NONE); label.setText("Reviewers:"); GridDataFactory.fillDefaults().span(2, 1).indent(5, SWT.DEFAULT).applyTo(label); Composite textAreacomposite = new Composite(composite, SWT.NONE); GridLayout layout = new GridLayout(); layout.marginLeft = 0; layout.marginTop = 0; layout.marginWidth = 0; layout.horizontalSpacing = 0; layout.verticalSpacing = 10; textAreacomposite.setLayout(layout); GridData gd = new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.FILL_BOTH); gd.horizontalIndent = 0; textAreacomposite.setLayoutData(gd); GridDataFactory.fillDefaults().grab(true, true).hint(480, 200).span(4, 1).applyTo(textAreacomposite); objectivesText = new Text(textAreacomposite, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.WRAP); GridDataFactory.fillDefaults().grab(true, true).hint(480, 200).applyTo(objectivesText); if (addComment) { label = new Label(textAreacomposite, SWT.NONE); label.setText("Selection Comment:"); GridDataFactory.fillDefaults().applyTo(label); commentText = new Text(textAreacomposite, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.WRAP); GridDataFactory.fillDefaults().grab(true, true).hint(480, 200).applyTo(commentText); } reviewersSelectionTreePart = new ReviewersSelectionTreePart(Collections.<User>emptySet(), Collections.<User>emptyList()); Composite reviewersComp = reviewersSelectionTreePart.createControl(composite); GridDataFactory.fillDefaults().grab(true, true).span(2, 1).hint(SWT.DEFAULT, 150).applyTo(reviewersComp); reviewersSelectionTreePart.setCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { getWizard().getContainer().updateButtons(); } }); Button updateData = new Button(composite, SWT.PUSH); updateData.setText("Update Repository Data"); GridDataFactory.fillDefaults().span(4, 2).align(SWT.BEGINNING, SWT.BEGINNING).applyTo(updateData); updateData.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { CrucibleUiUtil.updateTaskRepositoryCache(taskRepository, getContainer(), CrucibleReviewDetailsPage.this); updateInputAndRestoreSelections(); } }); anyoneCanJoin = new Button(composite, SWT.CHECK); anyoneCanJoin.setText("Allow anyone to join"); GridDataFactory.fillDefaults().indent(5, SWT.DEFAULT).span(2, 1).applyTo(anyoneCanJoin); startReview = new Button(composite, SWT.CHECK); startReview.setText("Start review immediately (if permitted)"); GridDataFactory.fillDefaults().span(2, 1).align(SWT.BEGINNING, SWT.BEGINNING).indent(5, SWT.DEFAULT) .applyTo(startReview); Dialog.applyDialogFont(composite); setControl(composite); }