diff options
author | Michael Valenta | 2007-04-16 16:20:24 +0000 |
---|---|---|
committer | Michael Valenta | 2007-04-16 16:20:24 +0000 |
commit | 25c6ad2eb19eb8b43a0602546c6546582bdf718d (patch) | |
tree | d5269d5f28eca0e385895a0a6b2b2bb48bbcc01e /bundles/org.eclipse.team.cvs.ui | |
parent | 6bead2a8e70eb96d3fe6d2c9bc8b4a94a11d9964 (diff) | |
download | eclipse.platform.team-25c6ad2eb19eb8b43a0602546c6546582bdf718d.tar.gz eclipse.platform.team-25c6ad2eb19eb8b43a0602546c6546582bdf718d.tar.xz eclipse.platform.team-25c6ad2eb19eb8b43a0602546c6546582bdf718d.zip |
Bug 182442 Display full comment in tooltip
Diffstat (limited to 'bundles/org.eclipse.team.cvs.ui')
-rw-r--r-- | bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSHistoryTableProvider.java | 77 |
1 files changed, 65 insertions, 12 deletions
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSHistoryTableProvider.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSHistoryTableProvider.java index 471cb61b1..606978662 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSHistoryTableProvider.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSHistoryTableProvider.java @@ -9,6 +9,7 @@ * IBM Corporation - initial API and implementation * Brock Janiczak (brockj@tpg.com.au) - Bug 180436 Use table sort indicators on CVS * Brock Janiczak (brockj@tpg.com.au) - Bug 181899 CVS History wrongly ordered + * Brock Janiczak <brockj@tpg.com.au> - Bug 182442 Display full comment in tooltip *******************************************************************************/ package org.eclipse.team.internal.ccvs.ui; @@ -64,7 +65,7 @@ public class CVSHistoryTableProvider { /** * The history label provider. */ - class HistoryLabelProvider extends LabelProvider implements ITableLabelProvider, IColorProvider, IFontProvider { + class HistoryLabelProvider extends ColumnLabelProvider { Image dateImage = null; ImageDescriptor dateDesc = null; @@ -77,8 +78,10 @@ public class CVSHistoryTableProvider { ThemeListener themeListener; private DateFormat dateFormat; + private final int column; - public HistoryLabelProvider(CVSHistoryTableProvider provider){ + public HistoryLabelProvider(int column, CVSHistoryTableProvider provider){ + this.column = column; PlatformUI.getWorkbench().getThemeManager().addPropertyChangeListener(themeListener= new ThemeListener(provider)); } @@ -103,6 +106,39 @@ public class CVSHistoryTableProvider { } } + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.CellLabelProvider#getToolTipText(java.lang.Object) + */ + public String getToolTipText(Object element) { + if (column == COL_COMMENT && !isSingleLine(element)) { + IFileRevision entry = adaptToFileRevision(element); + if (entry != null) + return entry.getComment(); + } + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.CellLabelProvider#useNativeToolTip(java.lang.Object) + */ + public boolean useNativeToolTip(Object object) { + return column != COL_COMMENT || isSingleLine(object); + } + + private boolean isSingleLine(Object object) { + IFileRevision entry = adaptToFileRevision(object); + if (entry != null) + return entry.getComment() == null || entry.getComment().indexOf('\n') == -1; + return true; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.ColumnLabelProvider#getImage(java.lang.Object) + */ + public Image getImage(Object element) { + return getColumnImage(element, column); + } + public Image getColumnImage(Object element, int columnIndex) { if (element instanceof DateHistoryCategory && columnIndex == COL_REVISIONID){ @@ -133,6 +169,14 @@ public class CVSHistoryTableProvider { return null; } + + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.ColumnLabelProvider#getText(java.lang.Object) + */ + public String getText(Object element) { + return getColumnText(element, column); + } + public String getColumnText(Object element, int columnIndex) { if (element instanceof AbstractHistoryCategory){ if (columnIndex != COL_REVISIONID) @@ -416,10 +460,8 @@ public class CVSHistoryTableProvider { tree.setLayout(layout); this.viewer = new TreeViewer(tree); - - createColumns(tree, layout); - - viewer.setLabelProvider(new HistoryLabelProvider(this)); + createColumns(viewer, layout); + ColumnViewerToolTipSupport.enableFor(viewer); // By default, reverse sort by revision. // If local filter is on sort by date @@ -442,37 +484,48 @@ public class CVSHistoryTableProvider { /** * Creates the columns for the history table. */ - private void createColumns(Tree tree, TableLayout layout) { + private void createColumns(TreeViewer tree, TableLayout layout) { SelectionListener headerListener = getColumnListener(viewer); + // revision - TreeColumn col = new TreeColumn(tree, SWT.NONE); + TreeViewerColumn viewerCol = new TreeViewerColumn(tree, SWT.NONE); + viewerCol.setLabelProvider(new HistoryLabelProvider(COL_REVISIONID, this)); + TreeColumn col = viewerCol.getColumn(); col.setResizable(true); col.setText(TeamUIMessages.GenericHistoryTableProvider_Revision); col.addSelectionListener(headerListener); layout.addColumnData(new ColumnWeightData(20, true)); // tags - col = new TreeColumn(tree, SWT.NONE); + viewerCol = new TreeViewerColumn(tree, SWT.NONE); + viewerCol.setLabelProvider(new HistoryLabelProvider(COL_TAGS, this)); + col = viewerCol.getColumn(); col.setResizable(true); col.setText(CVSUIMessages.HistoryView_tags); col.addSelectionListener(headerListener); layout.addColumnData(new ColumnWeightData(20, true)); // creation date - col = new TreeColumn(tree, SWT.NONE); + viewerCol = new TreeViewerColumn(tree, SWT.NONE); + viewerCol.setLabelProvider(new HistoryLabelProvider(COL_DATE, this)); + col = viewerCol.getColumn(); col.setResizable(true); col.setText(TeamUIMessages.GenericHistoryTableProvider_RevisionTime); col.addSelectionListener(headerListener); layout.addColumnData(new ColumnWeightData(20, true)); // author - col = new TreeColumn(tree, SWT.NONE); + viewerCol = new TreeViewerColumn(tree, SWT.NONE); + viewerCol.setLabelProvider(new HistoryLabelProvider(COL_AUTHOR, this)); + col = viewerCol.getColumn(); col.setResizable(true); col.setText(TeamUIMessages.GenericHistoryTableProvider_Author); col.addSelectionListener(headerListener); layout.addColumnData(new ColumnWeightData(20, true)); //comment - col = new TreeColumn(tree, SWT.NONE); + viewerCol = new TreeViewerColumn(tree, SWT.NONE); + viewerCol.setLabelProvider(new HistoryLabelProvider(COL_COMMENT, this)); + col = viewerCol.getColumn(); col.setResizable(true); col.setText(TeamUIMessages.GenericHistoryTableProvider_Comment); col.addSelectionListener(headerListener); |