List of usage examples for org.eclipse.jface.viewers ColumnLabelProvider getText
@Override
public String getText(Object element)
From source file:com.arm.cmsis.pack.installer.ui.views.BoardsView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { PatternFilter filter = new PatternFilter() { @Override/*w w w.j ava 2 s.c om*/ protected boolean isLeafMatch(final Viewer viewer, final Object element) { TreeViewer treeViewer = (TreeViewer) viewer; boolean isMatch = false; ColumnLabelProvider labelProvider = (ColumnLabelProvider) treeViewer.getLabelProvider(0); String labelText = labelProvider.getText(element); isMatch |= wordMatches(labelText); return isMatch; } }; filter.setIncludeLeadingWildcard(true); fTree = new FilteredTree(parent, SWT.FULL_SELECTION | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL, filter, true); fTree.setInitialText(Messages.BoardsView_SearchBoard); fViewer = fTree.getViewer(); fViewer.getTree().setLinesVisible(true); fViewer.getTree().setHeaderVisible(true); TreeViewerColumn column0 = new TreeViewerColumn(fViewer, SWT.LEFT); column0.getColumn().setText(CmsisConstants.BOARD_TITLE); column0.getColumn().setWidth(200); column0.setLabelProvider(new BoardsViewLabelProvider()); TreeViewerColumn column1 = new TreeViewerColumn(fViewer, SWT.LEFT); column1.getColumn().setText(CmsisConstants.SUMMARY_TITLE); column1.getColumn().setWidth(300); fColumnAdvisor = new BoardsViewColumnAdvisor(fViewer); column1.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, COLURL)); fViewer.setContentProvider(new BoardViewContentProvider()); fViewer.setComparator(new BoardTreeColumnComparator(fViewer, fColumnAdvisor)); fViewer.setAutoExpandLevel(2); refresh(); ColumnViewerToolTipSupport.enableFor(fViewer); // Create the help context id for the viewer's control PlatformUI.getWorkbench().getHelpSystem().setHelp(fViewer.getControl(), IHelpContextIds.BOARDS_VIEW); getSite().setSelectionProvider(fViewer); makeActions(); hookContextMenu(); hookDoubleClickAction(); contributeToActionBars(); CpInstallerPlugInUI.registerViewPart(this); CpPlugIn.addRteListener(this); }
From source file:com.arm.cmsis.pack.installer.ui.views.DevicesView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { PatternFilter filter = new PatternFilter() { @Override//w w w .j a va2 s.com protected boolean isLeafMatch(final Viewer viewer, final Object element) { TreeViewer treeViewer = (TreeViewer) viewer; boolean isMatch = false; ColumnLabelProvider labelProvider = (ColumnLabelProvider) treeViewer.getLabelProvider(0); String labelText = labelProvider.getText(element); isMatch |= wordMatches(labelText); return isMatch; } }; filter.setIncludeLeadingWildcard(true); fTree = new FilteredTree(parent, SWT.FULL_SELECTION | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL, filter, true); fTree.setInitialText(Messages.DevicesView_SearchDevice); fViewer = fTree.getViewer(); fViewer.getTree().setLinesVisible(true); fViewer.getTree().setHeaderVisible(true); TreeViewerColumn column0 = new TreeViewerColumn(fViewer, SWT.LEFT); column0.getColumn().setText(CmsisConstants.DEVICE_TITLE); column0.getColumn().setWidth(200); column0.setLabelProvider(new DevicesViewLabelProvider()); TreeViewerColumn column1 = new TreeViewerColumn(fViewer, SWT.LEFT); column1.getColumn().setText(CmsisConstants.SUMMARY_TITLE); column1.getColumn().setWidth(300); fColumnAdvisor = new DevicesViewColumnAdvisor(fViewer); column1.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, COLURL)); fViewer.setContentProvider(new DeviceViewContentProvider()); fViewer.setComparator(new DeviceTreeColumnComparator(fViewer, fColumnAdvisor)); fViewer.setAutoExpandLevel(2); refresh(); ColumnViewerToolTipSupport.enableFor(fViewer); // Create the help context id for the viewer's control PlatformUI.getWorkbench().getHelpSystem().setHelp(fViewer.getControl(), IHelpContextIds.DEVICES_VIEW); getSite().setSelectionProvider(fViewer); makeActions(); hookContextMenu(); hookDoubleClickAction(); contributeToActionBars(); CpInstallerPlugInUI.registerViewPart(this); CpPlugIn.addRteListener(this); }
From source file:com.arm.cmsis.pack.installer.ui.views.ExamplesView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { fPacksExamplesViewFilter = PacksExamplesViewFilter.getInstance(); PatternFilter patternFilter = new PatternFilter() { @Override/* w w w . ja v a2 s . co m*/ protected boolean isLeafMatch(final Viewer viewer, final Object element) { TreeViewer treeViewer = (TreeViewer) viewer; boolean isMatch = false; ColumnLabelProvider labelProvider = (ColumnLabelProvider) treeViewer.getLabelProvider(0); String labelText = labelProvider.getText(element); isMatch |= wordMatches(labelText); return isMatch; } }; patternFilter.setIncludeLeadingWildcard(true); fExamplesViewFilters = new ViewerFilter[] { patternFilter, fPacksExamplesViewFilter }; fTree = new FilteredTree(parent, SWT.FULL_SELECTION | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL, patternFilter, true); fTree.setInitialText(Messages.ExamplesView_SearchExample); fViewer = fTree.getViewer(); Tree tree = fViewer.getTree(); tree.setHeaderVisible(true); tree.setLinesVisible(true); // ------ Start Setting ALL Columns for the Examples View // ------ First Column TreeViewerColumn column0 = new TreeViewerColumn(fViewer, SWT.LEFT); tree.setLinesVisible(true); column0.getColumn().setText(CmsisConstants.EXAMPLE_TITLE); column0.getColumn().setWidth(300); column0.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { ICpExample e = ((IRteExampleItem) element).getExample(); return e.getId(); } @Override public String getToolTipText(Object element) { ICpExample e = ((IRteExampleItem) element).getExample(); return constructExampleTooltipText(e); } }); // ------ Second Column TreeViewerColumn column1 = new TreeViewerColumn(fViewer, SWT.LEFT); column1.getColumn().setText(CmsisConstants.ACTION_TITLE); column1.getColumn().setWidth(90); fColumnAdvisor = new ExamplesViewColumnAdvisor(fViewer); column1.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, COLBUTTON)); // ------ Third Column TreeViewerColumn column2 = new TreeViewerColumn(fViewer, SWT.LEFT); column2.getColumn().setText(CmsisConstants.DESCRIPTION_TITLE); column2.getColumn().setWidth(400); column2.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object obj) { IRteExampleItem example = getRteExampleItem(obj); if (example != null) { return example.getExample().getDescription(); } return null; } }); // ------ End Setting ALL Columns for the Examples View fViewer.setContentProvider(new TreeObjectContentProvider()); fViewer.setComparator(new ExampleTreeColumnComparator(fViewer, fColumnAdvisor)); refresh(); ColumnViewerToolTipSupport.enableFor(fViewer); // Create the help context id for the viewer's control PlatformUI.getWorkbench().getHelpSystem().setHelp(fViewer.getControl(), IHelpContextIds.EXAMPLES_VIEW); getSite().setSelectionProvider(fViewer); hookViewSelection(); makeActions(); contributeToActionBars(); CpInstallerPlugInUI.registerViewPart(this); fViewer.setFilters(fExamplesViewFilters); CpPlugIn.addRteListener(this); }
From source file:com.arm.cmsis.pack.installer.ui.views.PacksView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { fPacksExamplesViewFilter = PacksExamplesViewFilter.getInstance(); PatternFilter patternFilter = new PatternFilter() { @Override/*from w w w . j ava2 s . c om*/ protected boolean isLeafMatch(final Viewer viewer, final Object element) { TreeViewer treeViewer = (TreeViewer) viewer; boolean isMatch = false; ColumnLabelProvider labelProvider = (ColumnLabelProvider) treeViewer.getLabelProvider(0); String labelText = labelProvider.getText(element); isMatch |= wordMatches(labelText); return isMatch; } }; patternFilter.setIncludeLeadingWildcard(true); fPacksViewFilters = new ViewerFilter[] { patternFilter, fPacksExamplesViewFilter }; fTree = new FilteredTree(parent, SWT.FULL_SELECTION | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL, patternFilter, true); fTree.setInitialText(Messages.PacksView_SearchPack); fViewer = fTree.getViewer(); Tree tree = fViewer.getTree(); tree.setHeaderVisible(true); tree.setLinesVisible(true); //------ Start Setting ALL Columns for the Packs View //------ First Column TreeViewerColumn column0 = new TreeViewerColumn(fViewer, SWT.LEFT); column0.getColumn().setText(CmsisConstants.PACK_TITLE); column0.getColumn().setWidth(250); column0.setLabelProvider(fColumnLabelProviderWithImage); //------ Second Column TreeViewerColumn column1 = new TreeViewerColumn(fViewer, SWT.LEFT); column1.getColumn().setText(CmsisConstants.ACTION_TITLE); column1.getColumn().setWidth(90); fColumnAdvisor = new PacksViewColumnAdvisor(fViewer); column1.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, COLBUTTON)); //------ Third Column TreeViewerColumn column2 = new TreeViewerColumn(fViewer, SWT.LEFT); column2.getColumn().setText(CmsisConstants.DESCRIPTION_TITLE); column2.getColumn().setWidth(400); column2.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object obj) { ICpItem item = getCpItem(obj); if (item == null) { return null; } // Add selection string on the first line if (item instanceof ICpPackCollection) { if (CmsisConstants.DEVICE_SPECIFIC.equals(item.getTag())) { String filterString = fPacksExamplesViewFilter.getFilterString(); return filterString == null ? null : filterString + Messages.PacksView_Selected; } else if (CmsisConstants.GENERIC.equals(item.getTag())) { return Messages.PacksView_GenericPacksDescription; } } if (item instanceof ICpPackFamily) { ICpPackFamily packFamily = (ICpPackFamily) item; if (CmsisConstants.ERRORS.equals(packFamily.getTag())) { return Messages.PacksView_CannotLoadPdscFiles; } return formatDescription(item.getDescription()); } if (CmsisConstants.RELEASE_TAG.equals(item.getTag())) { return formatDescription(item.getText()); } else if (CmsisConstants.PREVIOUS.equals(item.getTag())) { return item.getPackFamilyId() + Messages.PacksView_PreviousPackVersions; } ICpPack pack = item.getPack(); if (pack.getPackState() != PackState.ERROR) { for (ICpItem cpItem : pack.getGrandChildren(CmsisConstants.RELEASES_TAG)) { if (cpItem.getAttribute(CmsisConstants.VERSION).equals(pack.getVersion())) { return formatDescription(cpItem.getText()); } } } else { return Messages.PacksView_Location + pack.getFileName(); } return null; } // Due to the multi-line table cell in Linux, we // only use the first line when OS is Linux private String formatDescription(String description) { boolean isWinOS = System.getProperty("os.name").startsWith("Windows"); //$NON-NLS-1$ //$NON-NLS-2$ return isWinOS ? description : description.split("\\r?\\n")[0]; //$NON-NLS-1$ } }); //------ End Setting ALL Columns for the Packs View fViewer.setContentProvider(new PacksViewContentProvider()); fViewer.setComparator(new PackTreeColumnComparator(fViewer, fColumnAdvisor)); fViewer.setAutoExpandLevel(2); refresh(); ColumnViewerToolTipSupport.enableFor(fViewer); // Create the help context id for the viewer's control PlatformUI.getWorkbench().getHelpSystem().setHelp(fViewer.getControl(), IHelpContextIds.PACKS_VIEW); getSite().setSelectionProvider(fViewer); makeActions(); hookViewSelection(); hookContextMenu(); hookDoubleClickAction(); contributeToActionBars(); CpInstallerPlugInUI.registerViewPart(this); fViewer.setFilters(fPacksViewFilters); CpPlugIn.addRteListener(this); }
From source file:com.arm.cmsis.pack.installer.ui.views.TreeColumnComparator.java
License:Open Source License
@Override public int compare(Viewer viewer, Object e1, Object e2) { ICmsisItem cp1 = (ICmsisItem) e1;// ww w .ja va2 s.c o m ICmsisItem cp2 = (ICmsisItem) e2; // Error packs should always be shown on top // Never switch the Device Specific and Generic row if (CmsisConstants.ERRORS.equals(cp1.getTag())) { return -1; } else if (CmsisConstants.ERRORS.equals(cp2.getTag())) { return 1; } else if (cp1 instanceof ICpPackCollection && cp2 instanceof ICpPackCollection) { return 0; } Tree tree = treeViewer.getTree(); int index = Arrays.asList(tree.getColumns()).indexOf(tree.getSortColumn()); if (index == -1) { index = 0; } int result = 0; if (index == 0 || index == 2) { ColumnLabelProvider colLabelProvider = (ColumnLabelProvider) treeViewer.getLabelProvider(index); String str1 = colLabelProvider.getText(e1); String str2 = colLabelProvider.getText(e2); result = str1 == null ? (str2 == null ? 0 : 1) : str1.compareToIgnoreCase(str2); } else if (index == 1) { String str1 = columnAdvisor.getString(e1, index); String str2 = columnAdvisor.getString(e2, index); result = str1.compareToIgnoreCase(str2); } return tree.getSortDirection() == SWT.DOWN ? -result : result; }
From source file:com.bdaum.zoom.ui.internal.views.BookmarkView.java
License:Open Source License
@SuppressWarnings("unused") @Override//from w ww . ja va2 s . co m public void createPartControl(final Composite parent) { Composite area = new Composite(parent, SWT.NONE); area.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); area.setLayout(new GridLayout(1, false)); viewer = new TableViewer(area, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); PlatformUI.getWorkbench().getHelpSystem().setHelp(viewer.getControl(), HelpContextIds.BOOKMARK_VIEW); final TableViewerColumn col1 = createColumn(viewer, Messages.getString("BookmarkView.image"), //$NON-NLS-1$ COLUMNWIDTHS[0]); final ColumnLabelProvider assetLabelProvider = new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof Bookmark) { Bookmark bookmark = (Bookmark) element; String label = bookmark.getLabel(); String peer = bookmark.getPeer(); String catFile = bookmark.getCatFile(); return catFile != null && !catFile.isEmpty() ? (peer != null) ? NLS.bind("{0} ({1}, {2})", //$NON-NLS-1$ new Object[] { label, peer, new File(catFile).getName() }) : NLS.bind("{0} ({1})", label, //$NON-NLS-1$ new File(catFile).getName()) : label; } return super.getText(element); } @Override public Image getImage(Object element) { if (element instanceof Bookmark) { byte[] jpegImage = ((Bookmark) element).getJpegImage(); if (jpegImage != null && jpegImage.length > 0) { Image image = ImageUtilities.loadThumbnail(getSite().getShell().getDisplay(), jpegImage, Ui.getUi().getDisplayCMS(), SWT.IMAGE_JPEG, false); Image smallImage = ImageUtilities.scaleSWT(image, 24, 24, true, 0, true, parent.getBackground()); images.add(smallImage); return smallImage; } } return null; } }; col1.setLabelProvider(assetLabelProvider); col1.setEditingSupport(new EditingSupport(viewer) { @Override protected void setValue(Object element, Object value) { if (element instanceof Bookmark && value instanceof String) { ((Bookmark) element).setLabel((String) value); Core.getCore().getDbManager().safeTransaction(null, element); viewer.update(element, null); } } @Override protected Object getValue(Object element) { if (element instanceof Bookmark) return ((Bookmark) element).getLabel(); return null; } @Override protected CellEditor getCellEditor(Object element) { return new TextCellEditor(viewer.getTable()); } @Override protected boolean canEdit(Object element) { return element instanceof Bookmark; } }); final TableViewerColumn col2 = createColumn(viewer, Messages.getString("BookmarkView.collection"), //$NON-NLS-1$ COLUMNWIDTHS[1]); final ICore core = Core.getCore(); final ColumnLabelProvider collectionLabelProvider = new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof Bookmark) { SmartCollectionImpl sm = core.getDbManager().obtainById(SmartCollectionImpl.class, ((Bookmark) element).getCollectionId()); return sm == null ? "" : sm.getName(); //$NON-NLS-1$ } return super.getText(element); } }; col2.setLabelProvider(collectionLabelProvider); final TableViewerColumn col3 = createColumn(viewer, Messages.getString("BookmarkView.created"), //$NON-NLS-1$ COLUMNWIDTHS[2]); final ColumnLabelProvider dateLabelProvider = new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof Bookmark) { Date createdAt = ((Bookmark) element).getCreatedAt(); return createdAt == null ? "" : DATEFORMAT.format(createdAt); //$NON-NLS-1$ } return super.getText(element); } }; col3.setLabelProvider(dateLabelProvider); Table table = viewer.getTable(); table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); table.setHeaderVisible(true); table.setLinesVisible(true); viewer.setContentProvider(new IStructuredContentProvider() { public void inputChanged(Viewer aViewer, Object oldInput, Object newInput) { // do nothing } public void dispose() { disposeImages(); } public Object[] getElements(Object inputElement) { final IDbManager dbManager = Core.getCore().getDbManager(); List<BookmarkImpl> bookmarks = dbManager.obtainObjects(BookmarkImpl.class); List<BookmarkImpl> existingBookmarks = new ArrayList<BookmarkImpl>(50); final List<Object> tobeDeleted = new ArrayList<Object>(); for (BookmarkImpl bookmark : bookmarks) { if (bookmark.getCatFile() != null && !bookmark.getCatFile().isEmpty()) existingBookmarks.add(bookmark); else if (!dbManager.exists(AssetImpl.class, bookmark.getAssetId())) tobeDeleted.add(bookmark); else existingBookmarks.add(bookmark); } if (!tobeDeleted.isEmpty()) dbManager.safeTransaction(tobeDeleted, null); return existingBookmarks.toArray(); } }); viewer.setComparator(new ViewerComparator() { @Override public int compare(Viewer aViewer, Object e1, Object e2) { if (sortColumn == col3.getColumn()) { Date d1 = ((Bookmark) e1).getCreatedAt(); Date d2 = ((Bookmark) e2).getCreatedAt(); return d1 == null || d2 == null ? 0 : (sortDirection == SWT.DOWN) ? d1.compareTo(d2) : d2.compareTo(d1); } ColumnLabelProvider labelProvider; if (sortColumn == col1.getColumn()) labelProvider = assetLabelProvider; else labelProvider = collectionLabelProvider; String s1 = labelProvider.getText(e1); String s2 = labelProvider.getText(e2); return (sortDirection == SWT.DOWN) ? s1.compareToIgnoreCase(s2) : s2.compareToIgnoreCase(s1); } }); addPartListener(); viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { updateActions(); } }); new ColumnLayoutManager(viewer, COLUMNWIDTHS, null); switchSort(table, col1.getColumn()); new AssetDragSourceListener(this, DND.DROP_COPY | DND.DROP_MOVE); new BookmarkDropTargetListener(DND.DROP_MOVE | DND.DROP_COPY); makeActions(); hookContextMenu(); hookDoubleClickAction(); contributeToActionBars(); installHoveringController(); core.addCatalogListener(this); catalogOpened(false); }
From source file:de.quamoco.qm.properties.eval.provider.InfluencingOrRefiningElementComparator.java
License:Apache License
@Override public int compare(Viewer viewer, Object e1, Object e2) { int result = 0; ColumnViewer columnViewer = (ColumnViewer) viewer; /*/*from w ww. ja v a 2 s.c om*/ * 1st sort by ranking */ ColumnLabelProvider rankingLabelProvider = (ColumnLabelProvider) columnViewer .getLabelProvider(InfluencingOrRefiningElementLabelProvider.COLUMN_RANKING); int ranking1 = Integer.parseInt(rankingLabelProvider.getText(e1)); int ranking2 = Integer.parseInt(rankingLabelProvider.getText(e2)); result = compareRankings(ranking1, ranking2); if (result == 0) { /* * 2nd sort by contribution points */ ColumnLabelProvider contributionPointsLabelProvider = (ColumnLabelProvider) columnViewer .getLabelProvider(InfluencingOrRefiningElementLabelProvider.COLUMN_CONTRIBUTION_POINTS); double contPoints1 = Double.parseDouble(contributionPointsLabelProvider.getText(e1)); double contPoints2 = Double.parseDouble(contributionPointsLabelProvider.getText(e2)); result = compareContributionPoints(contPoints1, contPoints2); if (result == 0) { /* * 3rd sort by name */ ColumnLabelProvider nameLabelProvider = (ColumnLabelProvider) columnViewer .getLabelProvider(InfluencingOrRefiningElementLabelProvider.COLUMN_NAME); String name1 = nameLabelProvider.getText(e1); String name2 = nameLabelProvider.getText(e2); result = compareName(name1, name2); } } return result; }
From source file:net.yatomiya.e4.ui.viewer.TableViewerColumnManager.java
License:Open Source License
public TableViewerColumn createTextColumn(String type, int style, String header, String tooltip, int width, ColumnLabelProvider labelProvider) { final ColumnLabelProvider lp = labelProvider; return createColumn(type, style, header, tooltip, width, labelProvider, new Comparator<Object>() { @Override/*from www .j ava 2 s. co m*/ public int compare(Object o1, Object o2) { return lp.getText(o1).compareTo(lp.getText(o2)); } }); }
From source file:org.dawnsci.plotting.tools.fitting.FittingViewerComparator.java
License:Open Source License
@Override public int compare(Viewer v, Object e1, Object e2) { final TableViewer viewer = (TableViewer) v; ColumnLabelProvider labelProv = (ColumnLabelProvider) viewer.getLabelProvider(propertyIndex); // Search on what the user actually sees! String val1 = labelProv.getText(e1); String val2 = labelProv.getText(e2); int rc = comparator.compare(val1, val2); // If descending order, flip the direction if (direction == DESCENDING) { rc = -rc;//from ww w .j a va 2s .c o m } return rc; }
From source file:org.eclipse.egit.gitflow.ui.internal.dialogs.FilteredBranchesWidget.java
License:Open Source License
Control create(Composite parent) {
Composite area = new Composite(parent, SWT.NONE);
GridDataFactory.fillDefaults().grab(true, true).span(2, 1).applyTo(area);
area.setLayout(new GridLayout(1, false));
PatternFilter filter = new PatternFilter() {
@Override//from w ww. j av a2 s . c om
protected boolean isLeafMatch(Viewer viewer, Object element) {
TreeViewer treeViewer = (TreeViewer) viewer;
int numberOfColumns = treeViewer.getTree().getColumnCount();
boolean isMatch = false;
for (int columnIndex = 0; columnIndex < numberOfColumns; columnIndex++) {
ColumnLabelProvider labelProvider = (ColumnLabelProvider) treeViewer
.getLabelProvider(columnIndex);
String labelText = labelProvider.getText(element);
isMatch |= wordMatches(labelText);
}
return isMatch;
}
};
filter.setIncludeLeadingWildcard(true);
final FilteredTree tree = new FilteredTree(area,
SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION, filter, true);
tree.setQuickSelectionMode(true);
branchesViewer = tree.getViewer();
branchesViewer.getTree().setLinesVisible(false);
branchesViewer.getTree().setHeaderVisible(true);
comparator = new BranchComparator();
branchesViewer.setComparator(comparator);
DecoratedBranchLabelProvider nameLabelProvider = new DecoratedBranchLabelProvider(gfRepo.getRepository(),
prefix);
TreeColumn nameColumn = createColumn(UIText.BranchSelectionTree_NameColumn, branchesViewer,
nameLabelProvider);
TreeColumn idColumn = createColumn(UIText.BranchSelectionTree_IdColumn, branchesViewer,
new ColumnLabelProvider() {
@Override
public String getText(Object element) {
if (element instanceof Ref) {
ObjectId objectId = ((Ref) element).getObjectId();
if (objectId == null) {
return ""; //$NON-NLS-1$
}
return objectId.abbreviate(7).name();
}
return super.getText(element);
}
});
ColumnLabelProvider dateLabelProvider = new ColumnLabelProvider() {
@Override
public String getText(Object element) {
if (element instanceof Ref) {
String name = ((Ref) element).getName().substring(Constants.R_HEADS.length());
RevCommit revCommit = gfRepo.findHead(name);
if (revCommit == null) {
return ""; //$NON-NLS-1$
}
return getDateFormatter().formatDate(revCommit.getCommitterIdent());
}
return super.getText(element);
}
};
TreeColumn dateColumn = createColumn(UIText.FilteredBranchesWidget_lastModified, branchesViewer,
dateLabelProvider);
setSortedColumn(dateColumn, dateLabelProvider);
TreeColumn msgColumn = createColumn(UIText.BranchSelectionTree_MessageColumn, branchesViewer,
new ColumnLabelProvider() {
@Override
public String getText(Object element) {
if (element instanceof Ref) {
String name = ((Ref) element).getName().substring(Constants.R_HEADS.length());
RevCommit revCommit = gfRepo.findHead(name);
if (revCommit == null) {
return ""; //$NON-NLS-1$
}
return revCommit.getShortMessage();
}
return super.getText(element);
}
});
GridDataFactory.fillDefaults().grab(true, true).applyTo(branchesViewer.getControl());
branchesViewer.setContentProvider(new BranchListContentProvider());
branchesViewer.setInput(refs);
// Layout tree for maximum width of message column
TreeColumnLayout layout = new TreeColumnLayout();
nameColumn.pack();
layout.setColumnData(nameColumn, new ColumnWeightData(0, nameColumn.getWidth()));
idColumn.pack();
layout.setColumnData(idColumn, new ColumnWeightData(0, idColumn.getWidth()));
dateColumn.pack();
layout.setColumnData(dateColumn, new ColumnWeightData(0, dateColumn.getWidth()));
layout.setColumnData(msgColumn, new ColumnWeightData(100));
branchesViewer.getTree().getParent().setLayout(layout);
branchesViewer.addFilter(createFilter());
return area;
}