Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 80440 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/hyades/trace/views/internal/AggregatedExecutionStatistic.java (-1 / +25 lines)
Lines 1-5 Link Here
1
/**********************************************************************
1
/**********************************************************************
2
 * Copyright (c) 2006 Intel Corporation.
2
 * Copyright (c) 2008 Intel Corporation.
3
 * All rights reserved.   This program and the accompanying materials
3
 * All rights reserved.   This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 44-49 Link Here
44
import org.eclipse.hyades.ui.provisional.context.IContextAttributes;
44
import org.eclipse.hyades.ui.provisional.context.IContextAttributes;
45
import org.eclipse.hyades.ui.provisional.context.IContextLanguage;
45
import org.eclipse.hyades.ui.provisional.context.IContextLanguage;
46
import org.eclipse.jface.action.IMenuManager;
46
import org.eclipse.jface.action.IMenuManager;
47
import org.eclipse.jface.viewers.CellLabelProvider;
48
import org.eclipse.jface.viewers.ColumnViewerToolTipSupport;
47
import org.eclipse.jface.viewers.DoubleClickEvent;
49
import org.eclipse.jface.viewers.DoubleClickEvent;
48
import org.eclipse.jface.viewers.IContentProvider;
50
import org.eclipse.jface.viewers.IContentProvider;
49
import org.eclipse.jface.viewers.IDoubleClickListener;
51
import org.eclipse.jface.viewers.IDoubleClickListener;
Lines 55-60 Link Here
55
import org.eclipse.jface.viewers.StructuredViewer;
57
import org.eclipse.jface.viewers.StructuredViewer;
56
import org.eclipse.jface.viewers.TreeViewer;
58
import org.eclipse.jface.viewers.TreeViewer;
57
import org.eclipse.jface.viewers.Viewer;
59
import org.eclipse.jface.viewers.Viewer;
60
import org.eclipse.jface.viewers.ViewerCell;
58
import org.eclipse.swt.SWT;
61
import org.eclipse.swt.SWT;
59
import org.eclipse.swt.graphics.Color;
62
import org.eclipse.swt.graphics.Color;
60
import org.eclipse.swt.graphics.GC;
63
import org.eclipse.swt.graphics.GC;
Lines 218-223 Link Here
218
        }
221
        }
219
    }
222
    }
220
  
223
  
224
    public class ExecutionStatisticCellLabelProvider extends StatisticCellLabelProvider {
225
 		public ExecutionStatisticCellLabelProvider(ColumnData colData) {
226
			super(colData);
227
 		}
228
		
229
		public void update(ViewerCell cell) {
230
			visualIndex = cell.getVisualIndex();
231
			cell.setText(((ExecutionStatisticLabelProvider)getTableLabelProvider()).getColumnText(cell.getElement(),visualIndex));
232
			cell.setImage(((ExecutionStatisticLabelProvider)getTableLabelProvider()).getColumnImage(cell.getElement(),visualIndex));
233
			
234
		}
235
	}
236
    
237
    
221
	public class ExecutionStatisticLabelProvider extends LabelProvider
238
	public class ExecutionStatisticLabelProvider extends LabelProvider
222
        implements ITableLabelProvider
239
        implements ITableLabelProvider
223
	{
240
	{
Lines 711-716 Link Here
711
		return new ExecutionStatisticContentProvider();
728
		return new ExecutionStatisticContentProvider();
712
	}
729
	}
713
730
731
	public CellLabelProvider getCellLabelProvider(ColumnData colData) {
732
		return new ExecutionStatisticCellLabelProvider(colData);
733
	}
734
	
714
	public LabelProvider getTableLabelProvider()
735
	public LabelProvider getTableLabelProvider()
715
	{
736
	{
716
		return new ExecutionStatisticLabelProvider(this);
737
		return new ExecutionStatisticLabelProvider(this);
Lines 861-866 Link Here
861
                }
882
                }
862
            }
883
            }
863
        });
884
        });
885
        
886
        ColumnViewerToolTipSupport.enableFor(tv);
887
        
864
        return (StructuredViewer) tv;
888
        return (StructuredViewer) tv;
865
    }
889
    }
866
890
(-)src/org/eclipse/hyades/trace/views/internal/MemoryStatisticView.java (-1 / +20 lines)
Lines 1-5 Link Here
1
/**********************************************************************
1
/**********************************************************************
2
 * Copyright (c) 2005, 2006 IBM Corporation, Intel Corporation.
2
 * Copyright (c) 2005, 2008 IBM Corporation, Intel Corporation.
3
 * All rights reserved.   This program and the accompanying materials
3
 * All rights reserved.   This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 44-52 Link Here
44
import org.eclipse.hyades.trace.views.util.internal.IColumnExtension;
44
import org.eclipse.hyades.trace.views.util.internal.IColumnExtension;
45
import org.eclipse.hyades.trace.views.util.internal.StatisticTableColumnInfo;
45
import org.eclipse.hyades.trace.views.util.internal.StatisticTableColumnInfo;
46
import org.eclipse.hyades.ui.provisional.context.IContextAttributes;
46
import org.eclipse.hyades.ui.provisional.context.IContextAttributes;
47
import org.eclipse.jface.viewers.CellLabelProvider;
47
import org.eclipse.jface.viewers.IContentProvider;
48
import org.eclipse.jface.viewers.IContentProvider;
48
import org.eclipse.jface.viewers.LabelProvider;
49
import org.eclipse.jface.viewers.LabelProvider;
49
import org.eclipse.jface.viewers.Viewer;
50
import org.eclipse.jface.viewers.Viewer;
51
import org.eclipse.jface.viewers.ViewerCell;
50
import org.eclipse.swt.graphics.Image;
52
import org.eclipse.swt.graphics.Image;
51
import org.eclipse.swt.widgets.Composite;
53
import org.eclipse.swt.widgets.Composite;
52
import org.eclipse.swt.widgets.Tree;
54
import org.eclipse.swt.widgets.Tree;
Lines 223-228 Link Here
223
		}
225
		}
224
	}
226
	}
225
	
227
	
228
	public class MemoryStatisticCellLabelProvider extends StatisticCellLabelProvider {
229
 		public MemoryStatisticCellLabelProvider(ColumnData colData) {
230
			super(colData);
231
 		}
232
		
233
		public void update(ViewerCell cell) {
234
			visualIndex = cell.getVisualIndex();
235
			cell.setText(((MemoryStatisticLabelProvider)getTableLabelProvider()).getColumnText(cell.getElement(),visualIndex));
236
			cell.setImage(((MemoryStatisticLabelProvider)getTableLabelProvider()).getColumnImage(cell.getElement(),visualIndex));
237
		}
238
 	}
239
	
240
	
226
	public class MemoryStatisticLabelProvider extends MultiLevelStatisticLabelProvider
241
	public class MemoryStatisticLabelProvider extends MultiLevelStatisticLabelProvider
227
	{
242
	{
228
		public MemoryStatisticLabelProvider(StatisticView viewer) {
243
		public MemoryStatisticLabelProvider(StatisticView viewer) {
Lines 763-768 Link Here
763
		return new MemoryStatisticLabelProvider(this);
778
		return new MemoryStatisticLabelProvider(this);
764
	}
779
	}
765
	
780
	
781
	public CellLabelProvider getCellLabelProvider(ColumnData colData) {
782
		return new MemoryStatisticCellLabelProvider(colData);
783
	}
784
	
766
	protected StatisticSorter getViewerSorterInstance()
785
	protected StatisticSorter getViewerSorterInstance()
767
	{
786
	{
768
		return new MemoryStatisticSorter();
787
		return new MemoryStatisticSorter();
(-)src/org/eclipse/hyades/trace/views/internal/ExecutionDetails.java (-5 / +19 lines)
Lines 1-5 Link Here
1
/**********************************************************************
1
/**********************************************************************
2
 * Copyright (c) 2005, 2006 IBM Corporation and others.
2
 * Copyright (c) 2005, 2008 IBM Corporation and others.
3
 * All rights reserved.   This program and the accompanying materials
3
 * All rights reserved.   This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 16-27 Link Here
16
import org.eclipse.hyades.trace.ui.ViewSelectionChangedEvent;
16
import org.eclipse.hyades.trace.ui.ViewSelectionChangedEvent;
17
import org.eclipse.hyades.trace.views.adapter.internal.PatternPage;
17
import org.eclipse.hyades.trace.views.adapter.internal.PatternPage;
18
import org.eclipse.hyades.trace.views.util.internal.OpenSource;
18
import org.eclipse.hyades.trace.views.util.internal.OpenSource;
19
import org.eclipse.jface.action.*;
19
import org.eclipse.jface.action.IMenuManager;
20
import org.eclipse.jface.viewers.*;
20
import org.eclipse.jface.action.Separator;
21
import org.eclipse.jface.viewers.ColumnViewerToolTipSupport;
22
import org.eclipse.jface.viewers.ISelection;
23
import org.eclipse.jface.viewers.IStructuredSelection;
24
import org.eclipse.jface.viewers.TreeViewer;
21
import org.eclipse.swt.SWT;
25
import org.eclipse.swt.SWT;
22
import org.eclipse.swt.events.*;
26
import org.eclipse.swt.events.ControlAdapter;
27
import org.eclipse.swt.events.ControlEvent;
28
import org.eclipse.swt.events.SelectionAdapter;
29
import org.eclipse.swt.events.SelectionEvent;
23
import org.eclipse.swt.graphics.Rectangle;
30
import org.eclipse.swt.graphics.Rectangle;
24
import org.eclipse.swt.widgets.*;
31
import org.eclipse.swt.widgets.Composite;
32
import org.eclipse.swt.widgets.Control;
33
import org.eclipse.swt.widgets.Sash;
25
34
26
public class ExecutionDetails 
35
public class ExecutionDetails 
27
{
36
{
Lines 46-51 Link Here
46
    	_viewContainer = new Composite(parent, SWT.NULL);
55
    	_viewContainer = new Composite(parent, SWT.NULL);
47
    	
56
    	
48
    	_executionStatistic = new ExecutionStatistic(_viewContainer, _page);
57
    	_executionStatistic = new ExecutionStatistic(_viewContainer, _page);
58
    	
59
    	TreeViewer tv = (TreeViewer)(_executionStatistic.getTreeViewer());
60
    	ColumnViewerToolTipSupport.enableFor(tv);
61
    	
62
    	
49
    	_executionGraph = new Pattern (_viewContainer, _page);
63
    	_executionGraph = new Pattern (_viewContainer, _page);
50
    	
64
    	
51
    	UIPlugin.getDefault().addViewSelectionChangedListener(new IViewSelectionChangedListener() {
65
    	UIPlugin.getDefault().addViewSelectionChangedListener(new IViewSelectionChangedListener() {
(-)src/org/eclipse/hyades/trace/views/internal/ReferenceTable.java (-1 / +20 lines)
Lines 1-5 Link Here
1
/**********************************************************************
1
/**********************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
2
 * Copyright (c) 2005, 2008 IBM Corporation and others.
3
 * All rights reserved.   This program and the accompanying materials
3
 * All rights reserved.   This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 67-72 Link Here
67
import org.eclipse.hyades.ui.provisional.context.IContextLanguage;
67
import org.eclipse.hyades.ui.provisional.context.IContextLanguage;
68
import org.eclipse.jface.action.Action;
68
import org.eclipse.jface.action.Action;
69
import org.eclipse.jface.action.IMenuManager;
69
import org.eclipse.jface.action.IMenuManager;
70
import org.eclipse.jface.viewers.CellLabelProvider;
70
import org.eclipse.jface.viewers.IContentProvider;
71
import org.eclipse.jface.viewers.IContentProvider;
71
import org.eclipse.jface.viewers.ISelection;
72
import org.eclipse.jface.viewers.ISelection;
72
import org.eclipse.jface.viewers.IStructuredSelection;
73
import org.eclipse.jface.viewers.IStructuredSelection;
Lines 75-80 Link Here
75
import org.eclipse.jface.viewers.LabelProvider;
76
import org.eclipse.jface.viewers.LabelProvider;
76
import org.eclipse.jface.viewers.TreeViewer;
77
import org.eclipse.jface.viewers.TreeViewer;
77
import org.eclipse.jface.viewers.Viewer;
78
import org.eclipse.jface.viewers.Viewer;
79
import org.eclipse.jface.viewers.ViewerCell;
78
import org.eclipse.swt.graphics.Image;
80
import org.eclipse.swt.graphics.Image;
79
import org.eclipse.swt.widgets.Composite;
81
import org.eclipse.swt.widgets.Composite;
80
import org.eclipse.swt.widgets.Item;
82
import org.eclipse.swt.widgets.Item;
Lines 361-366 Link Here
361
		}
363
		}
362
	}
364
	}
363
365
366
	
367
	public class ObjReferenceCellLabelProvider  extends StatisticCellLabelProvider {
368
		public ObjReferenceCellLabelProvider(ColumnData colData) {
369
			super(colData);
370
		}
371
		
372
		public void update(ViewerCell cell) {
373
			visualIndex = cell.getVisualIndex();
374
			cell.setText(((ObjReferenceLabelProvider)getTableLabelProvider()).getColumnText(cell.getElement(),visualIndex));
375
			cell.setImage(((ObjReferenceLabelProvider)getTableLabelProvider()).getColumnImage(cell.getElement(),visualIndex));
376
		}
377
	}
378
	
364
	public class ObjReferenceLabelProvider
379
	public class ObjReferenceLabelProvider
365
		extends LabelProvider
380
		extends LabelProvider
366
		implements ITableLabelProvider {
381
		implements ITableLabelProvider {
Lines 1696-1700 Link Here
1696
		_numRefsCol.resetMap();
1711
		_numRefsCol.resetMap();
1697
		_numRefsInstCol.resetMap();		
1712
		_numRefsInstCol.resetMap();		
1698
	}
1713
	}
1714
1715
	public CellLabelProvider getCellLabelProvider(ColumnData colData) {
1716
		return new ObjReferenceCellLabelProvider(colData);
1717
	}
1699
}
1718
}
1700
1719
(-)src/org/eclipse/hyades/trace/views/internal/ExecutionStatistic.java (-4 / +19 lines)
Lines 1-5 Link Here
1
/**********************************************************************
1
/**********************************************************************
2
 * Copyright (c) 2005, 2006 IBM Corporation, Intel Corporation.
2
 * Copyright (c) 2005, 2008 IBM Corporation, Intel Corporation.
3
 * All rights reserved.   This program and the accompanying materials
3
 * All rights reserved.   This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 45-50 Link Here
45
import org.eclipse.hyades.ui.provisional.context.IContextLanguage;
45
import org.eclipse.hyades.ui.provisional.context.IContextLanguage;
46
import org.eclipse.jface.action.Action;
46
import org.eclipse.jface.action.Action;
47
import org.eclipse.jface.action.IMenuManager;
47
import org.eclipse.jface.action.IMenuManager;
48
import org.eclipse.jface.viewers.CellLabelProvider;
48
import org.eclipse.jface.viewers.IContentProvider;
49
import org.eclipse.jface.viewers.IContentProvider;
49
import org.eclipse.jface.viewers.ISelection;
50
import org.eclipse.jface.viewers.ISelection;
50
import org.eclipse.jface.viewers.IStructuredSelection;
51
import org.eclipse.jface.viewers.IStructuredSelection;
Lines 53-58 Link Here
53
import org.eclipse.jface.viewers.LabelProvider;
54
import org.eclipse.jface.viewers.LabelProvider;
54
import org.eclipse.jface.viewers.TreeViewer;
55
import org.eclipse.jface.viewers.TreeViewer;
55
import org.eclipse.jface.viewers.Viewer;
56
import org.eclipse.jface.viewers.Viewer;
57
import org.eclipse.jface.viewers.ViewerCell;
56
import org.eclipse.swt.graphics.Image;
58
import org.eclipse.swt.graphics.Image;
57
import org.eclipse.swt.widgets.Composite;
59
import org.eclipse.swt.widgets.Composite;
58
import org.eclipse.swt.widgets.Item;
60
import org.eclipse.swt.widgets.Item;
Lines 201-209 Link Here
201
		}
203
		}
202
	}
204
	}
203
205
204
    /**
206
	public class ExecutionStatisticCellLableProvider  extends StatisticCellLabelProvider {
205
     * 
207
		public ExecutionStatisticCellLableProvider(ColumnData colData) {
206
     */
208
			super(colData);
209
 		}
210
		
211
		public void update(ViewerCell cell) {
212
			visualIndex = cell.getVisualIndex();
213
			cell.setText(((ExecutionStatisticLableProvider)getTableLabelProvider()).getColumnText(cell.getElement(),visualIndex));
214
			cell.setImage(((ExecutionStatisticLableProvider)getTableLabelProvider()).getColumnImage(cell.getElement(),visualIndex));
215
		}
216
 	}
217
	
207
	public class ExecutionStatisticLableProvider extends LabelProvider implements ITableLabelProvider
218
	public class ExecutionStatisticLableProvider extends LabelProvider implements ITableLabelProvider
208
	{
219
	{
209
		protected StatisticView _viewer;
220
		protected StatisticView _viewer;
Lines 705-708 Link Here
705
		_methodInvocationEntryTimeCol.resetMap();
716
		_methodInvocationEntryTimeCol.resetMap();
706
		_cumulativeTimeCol.resetMap();
717
		_cumulativeTimeCol.resetMap();
707
	}
718
	}
719
720
	public CellLabelProvider getCellLabelProvider(ColumnData colData) {
721
		return new ExecutionStatisticCellLableProvider(colData);
722
	}
708
}
723
}
(-)src/org/eclipse/hyades/trace/views/internal/MethodInvocationStatistic.java (-1 / +20 lines)
Lines 1-5 Link Here
1
/**********************************************************************
1
/**********************************************************************
2
 * Copyright (c) 2005, 2006 IBM Corporation, Intel Corporation.
2
 * Copyright (c) 2005, 2008 IBM Corporation, Intel Corporation.
3
 * All rights reserved.   This program and the accompanying materials
3
 * All rights reserved.   This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 41-46 Link Here
41
import org.eclipse.hyades.ui.provisional.context.IContextLanguage;
41
import org.eclipse.hyades.ui.provisional.context.IContextLanguage;
42
import org.eclipse.jface.action.Action;
42
import org.eclipse.jface.action.Action;
43
import org.eclipse.jface.action.IMenuManager;
43
import org.eclipse.jface.action.IMenuManager;
44
import org.eclipse.jface.viewers.CellLabelProvider;
44
import org.eclipse.jface.viewers.IContentProvider;
45
import org.eclipse.jface.viewers.IContentProvider;
45
import org.eclipse.jface.viewers.ISelection;
46
import org.eclipse.jface.viewers.ISelection;
46
import org.eclipse.jface.viewers.IStructuredSelection;
47
import org.eclipse.jface.viewers.IStructuredSelection;
Lines 49-54 Link Here
49
import org.eclipse.jface.viewers.LabelProvider;
50
import org.eclipse.jface.viewers.LabelProvider;
50
import org.eclipse.jface.viewers.TreeViewer;
51
import org.eclipse.jface.viewers.TreeViewer;
51
import org.eclipse.jface.viewers.Viewer;
52
import org.eclipse.jface.viewers.Viewer;
53
import org.eclipse.jface.viewers.ViewerCell;
52
import org.eclipse.swt.graphics.Image;
54
import org.eclipse.swt.graphics.Image;
53
import org.eclipse.swt.widgets.Composite;
55
import org.eclipse.swt.widgets.Composite;
54
import org.eclipse.swt.widgets.Control;
56
import org.eclipse.swt.widgets.Control;
Lines 220-225 Link Here
220
		}
222
		}
221
	}
223
	}
222
224
225
	
226
	 public class MethodStatisticCellLabelProvider extends StatisticCellLabelProvider {
227
 			public MethodStatisticCellLabelProvider(ColumnData colData) {
228
				super(colData);
229
 			}
230
			
231
			public void update(ViewerCell cell) {
232
				visualIndex = cell.getVisualIndex();
233
				cell.setText(((MethodStatisticLabelProvider)getTableLabelProvider()).getColumnText(cell.getElement(),visualIndex));
234
				cell.setImage(((MethodStatisticLabelProvider)getTableLabelProvider()).getColumnImage(cell.getElement(),visualIndex));
235
			}
236
 		}
237
	
223
    /**
238
    /**
224
     * 
239
     * 
225
     */
240
     */
Lines 348-353 Link Here
348
		return new MethodStatisticContentProvider();
363
		return new MethodStatisticContentProvider();
349
	}
364
	}
350
	
365
	
366
	public CellLabelProvider getCellLabelProvider(ColumnData colData) {
367
		return new MethodStatisticCellLabelProvider(colData);
368
	}
369
	
351
	public LabelProvider getTableLabelProvider()
370
	public LabelProvider getTableLabelProvider()
352
	{
371
	{
353
		return new MethodStatisticLabelProvider(this);
372
		return new MethodStatisticLabelProvider(this);
(-)src/org/eclipse/hyades/trace/views/internal/StatisticView.java (-2 / +13 lines)
Lines 1-5 Link Here
1
/**********************************************************************
1
/**********************************************************************
2
 * Copyright (c) 2005, 2006 IBM Corporation, Intel Corporation.
2
 * Copyright (c) 2005, 2008 IBM Corporation, Intel Corporation.
3
 * All rights reserved.   This program and the accompanying materials
3
 * All rights reserved.   This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 45-50 Link Here
45
import org.eclipse.jface.action.Action;
45
import org.eclipse.jface.action.Action;
46
import org.eclipse.jface.action.IMenuManager;
46
import org.eclipse.jface.action.IMenuManager;
47
import org.eclipse.jface.action.Separator;
47
import org.eclipse.jface.action.Separator;
48
import org.eclipse.jface.viewers.CellLabelProvider;
49
import org.eclipse.jface.viewers.ColumnViewerToolTipSupport;
48
import org.eclipse.jface.viewers.DoubleClickEvent;
50
import org.eclipse.jface.viewers.DoubleClickEvent;
49
import org.eclipse.jface.viewers.IContentProvider;
51
import org.eclipse.jface.viewers.IContentProvider;
50
import org.eclipse.jface.viewers.IDoubleClickListener;
52
import org.eclipse.jface.viewers.IDoubleClickListener;
Lines 70-75 Link Here
70
import org.eclipse.swt.widgets.Composite;
72
import org.eclipse.swt.widgets.Composite;
71
import org.eclipse.swt.widgets.Control;
73
import org.eclipse.swt.widgets.Control;
72
import org.eclipse.swt.widgets.Layout;
74
import org.eclipse.swt.widgets.Layout;
75
import org.eclipse.swt.widgets.Listener;
73
import org.eclipse.swt.widgets.Table;
76
import org.eclipse.swt.widgets.Table;
74
import org.eclipse.swt.widgets.TableColumn;
77
import org.eclipse.swt.widgets.TableColumn;
75
import org.eclipse.swt.widgets.Tree;
78
import org.eclipse.swt.widgets.Tree;
Lines 578-583 Link Here
578
				
581
				
579
			}
582
			}
580
		});
583
		});
584
		
585
		ColumnViewerToolTipSupport.enableFor(tv);
586
		
581
		return (StructuredViewer) tv;
587
		return (StructuredViewer) tv;
582
	}
588
	}
583
	
589
	
Lines 966-973 Link Here
966
		// add the content provider
972
		// add the content provider
967
		_viewer.setContentProvider(getContentProvider());
973
		_viewer.setContentProvider(getContentProvider());
968
974
975
		//label provider is added in the StatisticTableColumnInfo class
976
		//with CellLabelProvider added for each column in the view.
977
969
		// add the label provider
978
		// add the label provider
970
		_viewer.setLabelProvider(getTableLabelProvider());
979
		// _viewer.setLabelProvider(getTableLabelProvider());
971
980
972
		if (tree instanceof Tree) {
981
		if (tree instanceof Tree) {
973
			((Tree) tree).addSelectionListener(this);
982
			((Tree) tree).addSelectionListener(this);
Lines 997-1002 Link Here
997
	}
1006
	}
998
	
1007
	
999
	public abstract LabelProvider getTableLabelProvider();
1008
	public abstract LabelProvider getTableLabelProvider();
1009
	
1010
	public abstract CellLabelProvider getCellLabelProvider(ColumnData colData);
1000
1011
1001
    public void handlePercentChanged()
1012
    public void handlePercentChanged()
1002
	{			
1013
	{			
(-)src/org/eclipse/hyades/trace/views/internal/MethodDetailsStatistic.java (+19 lines)
Lines 13-18 Link Here
13
13
14
import java.util.HashMap;
14
import java.util.HashMap;
15
import java.util.Iterator;
15
import java.util.Iterator;
16
16
import org.eclipse.hyades.models.trace.TRCAggregatedMethodInvocation;
17
import org.eclipse.hyades.models.trace.TRCAggregatedMethodInvocation;
17
import org.eclipse.hyades.models.trace.TRCMethod;
18
import org.eclipse.hyades.models.trace.TRCMethod;
18
import org.eclipse.hyades.models.trace.TRCMethodInvocation;
19
import org.eclipse.hyades.models.trace.TRCMethodInvocation;
Lines 22-30 Link Here
22
import org.eclipse.hyades.trace.views.util.internal.MethodCallDetails;
23
import org.eclipse.hyades.trace.views.util.internal.MethodCallDetails;
23
import org.eclipse.hyades.trace.views.util.internal.StatisticTableColumnInfo;
24
import org.eclipse.hyades.trace.views.util.internal.StatisticTableColumnInfo;
24
import org.eclipse.hyades.ui.provisional.context.IContextAttributes;
25
import org.eclipse.hyades.ui.provisional.context.IContextAttributes;
26
import org.eclipse.jface.viewers.CellLabelProvider;
25
import org.eclipse.jface.viewers.IContentProvider;
27
import org.eclipse.jface.viewers.IContentProvider;
26
import org.eclipse.jface.viewers.LabelProvider;
28
import org.eclipse.jface.viewers.LabelProvider;
27
import org.eclipse.jface.viewers.Viewer;
29
import org.eclipse.jface.viewers.Viewer;
30
import org.eclipse.jface.viewers.ViewerCell;
28
import org.eclipse.swt.graphics.Image;
31
import org.eclipse.swt.graphics.Image;
29
import org.eclipse.swt.widgets.Composite;
32
import org.eclipse.swt.widgets.Composite;
30
33
Lines 357-362 Link Here
357
		
360
		
358
	}
361
	}
359
	
362
	
363
	public class MethodStatisticCellLabelProvider extends StatisticCellLabelProvider {
364
 		public MethodStatisticCellLabelProvider(ColumnData colData) {
365
			super(colData);
366
 		}
367
		
368
		public void update(ViewerCell cell) {
369
			visualIndex = cell.getVisualIndex();
370
			cell.setText(((MethodStatisticLabelProvider)getTableLabelProvider()).getColumnText(cell.getElement(),visualIndex));
371
			cell.setImage(((MethodStatisticLabelProvider)getTableLabelProvider()).getColumnImage(cell.getElement(),visualIndex));
372
		}
373
 	}
374
	
360
	public class MethodStatisticLabelProvider extends MultiLevelStatisticLabelProvider
375
	public class MethodStatisticLabelProvider extends MultiLevelStatisticLabelProvider
361
	{
376
	{
362
		public MethodStatisticLabelProvider(StatisticView viewer) {
377
		public MethodStatisticLabelProvider(StatisticView viewer) {
Lines 715-719 Link Here
715
		super.firstTimeUpdate();
730
		super.firstTimeUpdate();
716
		redrawTable();
731
		redrawTable();
717
	}
732
	}
733
	
734
	public CellLabelProvider getCellLabelProvider(ColumnData colData) {
735
		return new MethodStatisticCellLabelProvider(colData);
736
	}
718
737
719
}
738
}
(-)src/org/eclipse/hyades/trace/views/internal/AggregatedCallStack.java (-1 / +19 lines)
Lines 1-5 Link Here
1
/**********************************************************************
1
/**********************************************************************
2
 * Copyright (c) 2006 2007 Intel Corporation.
2
 * Copyright (c) 2006, 2008 Intel Corporation.
3
 * All rights reserved.   This program and the accompanying materials
3
 * All rights reserved.   This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 30-35 Link Here
30
import org.eclipse.hyades.trace.views.util.internal.StatisticTableColumnInfo;
30
import org.eclipse.hyades.trace.views.util.internal.StatisticTableColumnInfo;
31
import org.eclipse.hyades.ui.provisional.context.IContextAttributes;
31
import org.eclipse.hyades.ui.provisional.context.IContextAttributes;
32
import org.eclipse.hyades.ui.util.GridUtil;
32
import org.eclipse.hyades.ui.util.GridUtil;
33
import org.eclipse.jface.viewers.CellLabelProvider;
33
import org.eclipse.jface.viewers.DoubleClickEvent;
34
import org.eclipse.jface.viewers.DoubleClickEvent;
34
import org.eclipse.jface.viewers.IContentProvider;
35
import org.eclipse.jface.viewers.IContentProvider;
35
import org.eclipse.jface.viewers.IDoubleClickListener;
36
import org.eclipse.jface.viewers.IDoubleClickListener;
Lines 41-46 Link Here
41
import org.eclipse.jface.viewers.StructuredViewer;
42
import org.eclipse.jface.viewers.StructuredViewer;
42
import org.eclipse.jface.viewers.TreeViewer;
43
import org.eclipse.jface.viewers.TreeViewer;
43
import org.eclipse.jface.viewers.Viewer;
44
import org.eclipse.jface.viewers.Viewer;
45
import org.eclipse.jface.viewers.ViewerCell;
44
import org.eclipse.osgi.util.NLS;
46
import org.eclipse.osgi.util.NLS;
45
import org.eclipse.swt.SWT;
47
import org.eclipse.swt.SWT;
46
import org.eclipse.swt.custom.BusyIndicator;
48
import org.eclipse.swt.custom.BusyIndicator;
Lines 167-172 Link Here
167
        }
169
        }
168
	}
170
	}
169
171
172
	public class CallStacksCellLabelProvider extends StatisticCellLabelProvider {
173
 		public CallStacksCellLabelProvider(ColumnData colData) {
174
			super(colData);
175
 		}
176
		
177
		public void update(ViewerCell cell) {
178
			visualIndex = cell.getVisualIndex();
179
			cell.setText(((CallStacksLabelProvider)getTableLabelProvider()).getColumnText(cell.getElement(),visualIndex));
180
			cell.setImage(((CallStacksLabelProvider)getTableLabelProvider()).getColumnImage(cell.getElement(),visualIndex));
181
		}
182
	}
183
	
170
    public class CallStacksLabelProvider extends LabelProvider
184
    public class CallStacksLabelProvider extends LabelProvider
171
        implements ITableLabelProvider {
185
        implements ITableLabelProvider {
172
        
186
        
Lines 549-553 Link Here
549
	    _nextButton = null;
563
	    _nextButton = null;
550
	    _stackCountInfo = null;
564
	    _stackCountInfo = null;
551
	}
565
	}
566
567
	public CellLabelProvider getCellLabelProvider(ColumnData colData) {
568
		return new CallStacksCellLabelProvider(colData);
569
	}
552
	
570
	
553
}
571
}
(-)src/org/eclipse/hyades/trace/views/internal/CoverageStatisticView.java (-1 / +20 lines)
Lines 1-5 Link Here
1
/**********************************************************************
1
/**********************************************************************
2
 * Copyright (c) 2005, 2007 IBM Corporation and others.
2
 * Copyright (c) 2005, 2008 IBM Corporation and others.
3
 * All rights reserved.   This program and the accompanying materials
3
 * All rights reserved.   This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 48-59 Link Here
48
import org.eclipse.hyades.trace.views.util.internal.StatisticTableColumnInfo;
48
import org.eclipse.hyades.trace.views.util.internal.StatisticTableColumnInfo;
49
import org.eclipse.hyades.ui.provisional.context.IContextAttributes;
49
import org.eclipse.hyades.ui.provisional.context.IContextAttributes;
50
import org.eclipse.jface.action.IMenuManager;
50
import org.eclipse.jface.action.IMenuManager;
51
import org.eclipse.jface.viewers.CellLabelProvider;
51
import org.eclipse.jface.viewers.IContentProvider;
52
import org.eclipse.jface.viewers.IContentProvider;
52
import org.eclipse.jface.viewers.ISelection;
53
import org.eclipse.jface.viewers.ISelection;
53
import org.eclipse.jface.viewers.IStructuredSelection;
54
import org.eclipse.jface.viewers.IStructuredSelection;
54
import org.eclipse.jface.viewers.LabelProvider;
55
import org.eclipse.jface.viewers.LabelProvider;
55
import org.eclipse.jface.viewers.TreeViewer;
56
import org.eclipse.jface.viewers.TreeViewer;
56
import org.eclipse.jface.viewers.Viewer;
57
import org.eclipse.jface.viewers.Viewer;
58
import org.eclipse.jface.viewers.ViewerCell;
57
import org.eclipse.swt.graphics.Image;
59
import org.eclipse.swt.graphics.Image;
58
import org.eclipse.swt.widgets.Composite;
60
import org.eclipse.swt.widgets.Composite;
59
import org.eclipse.swt.widgets.Tree;
61
import org.eclipse.swt.widgets.Tree;
Lines 193-198 Link Here
193
		}
195
		}
194
	}
196
	}
195
	
197
	
198
	public class CoverageStatisticCellLabelProvider  extends StatisticCellLabelProvider {
199
 		public CoverageStatisticCellLabelProvider(ColumnData colData) {
200
			super(colData);
201
 		}
202
		
203
		public void update(ViewerCell cell) {
204
			visualIndex = cell.getVisualIndex();
205
			cell.setText(((CoverageStatisticLabelProvider)getTableLabelProvider()).getColumnText(cell.getElement(),visualIndex));
206
			cell.setImage(((CoverageStatisticLabelProvider)getTableLabelProvider()).getColumnImage(cell.getElement(),visualIndex));
207
		}
208
 	}
209
	
210
	
196
	public class CoverageStatisticLabelProvider extends MultiLevelStatisticLabelProvider
211
	public class CoverageStatisticLabelProvider extends MultiLevelStatisticLabelProvider
197
	{
212
	{
198
		public CoverageStatisticLabelProvider(StatisticView viewer) {
213
		public CoverageStatisticLabelProvider(StatisticView viewer) {
Lines 755-758 Link Here
755
		
770
		
756
		super.update();
771
		super.update();
757
	}
772
	}
773
774
	public CellLabelProvider getCellLabelProvider(ColumnData colData) {
775
		return new CoverageStatisticCellLabelProvider(colData);
776
	}
758
}
777
}
(-)src/org/eclipse/hyades/trace/views/internal/ExecutionStatisticView.java (-1 / +19 lines)
Lines 1-5 Link Here
1
/**********************************************************************
1
/**********************************************************************
2
 * Copyright (c) 2005, 2006 IBM Corporation, Intel Corporation.
2
 * Copyright (c) 2005, 2008 IBM Corporation, Intel Corporation.
3
 * All rights reserved.   This program and the accompanying materials
3
 * All rights reserved.   This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 51-59 Link Here
51
import org.eclipse.hyades.trace.views.util.internal.IColumnExtension;
51
import org.eclipse.hyades.trace.views.util.internal.IColumnExtension;
52
import org.eclipse.hyades.trace.views.util.internal.StatisticTableColumnInfo;
52
import org.eclipse.hyades.trace.views.util.internal.StatisticTableColumnInfo;
53
import org.eclipse.hyades.ui.provisional.context.IContextAttributes;
53
import org.eclipse.hyades.ui.provisional.context.IContextAttributes;
54
import org.eclipse.jface.viewers.CellLabelProvider;
54
import org.eclipse.jface.viewers.IContentProvider;
55
import org.eclipse.jface.viewers.IContentProvider;
55
import org.eclipse.jface.viewers.LabelProvider;
56
import org.eclipse.jface.viewers.LabelProvider;
56
import org.eclipse.jface.viewers.Viewer;
57
import org.eclipse.jface.viewers.Viewer;
58
import org.eclipse.jface.viewers.ViewerCell;
57
import org.eclipse.swt.graphics.Image;
59
import org.eclipse.swt.graphics.Image;
58
import org.eclipse.swt.widgets.Composite;
60
import org.eclipse.swt.widgets.Composite;
59
import org.eclipse.swt.widgets.Tree;
61
import org.eclipse.swt.widgets.Tree;
Lines 312-317 Link Here
312
		}
314
		}
313
	}
315
	}
314
	
316
	
317
	public class ExecutionStatisticCellLabelProvider extends StatisticCellLabelProvider {
318
 		public ExecutionStatisticCellLabelProvider(ColumnData colData) {
319
			super(colData);
320
 		}
321
		
322
		public void update(ViewerCell cell) {
323
			visualIndex = cell.getVisualIndex();
324
			cell.setText(((ExecutionStatisticLabelProvider)getTableLabelProvider()).getColumnText(cell.getElement(),visualIndex));
325
			cell.setImage(((ExecutionStatisticLabelProvider)getTableLabelProvider()).getColumnImage(cell.getElement(),visualIndex));
326
		}
327
 	}
328
	
315
	public class ExecutionStatisticLabelProvider extends MultiLevelStatisticLabelProvider
329
	public class ExecutionStatisticLabelProvider extends MultiLevelStatisticLabelProvider
316
	{
330
	{
317
		public ExecutionStatisticLabelProvider(StatisticView viewer) {
331
		public ExecutionStatisticLabelProvider(StatisticView viewer) {
Lines 1236-1239 Link Here
1236
		
1250
		
1237
		super.update();
1251
		super.update();
1238
	}
1252
	}
1253
	
1254
	public CellLabelProvider getCellLabelProvider(ColumnData colData) {
1255
		return new ExecutionStatisticCellLabelProvider(colData);
1256
	}
1239
}
1257
}
(-)src/org/eclipse/hyades/trace/views/util/internal/StatisticTableColumnInfo.java (-4 / +15 lines)
Lines 1-5 Link Here
1
/**********************************************************************
1
/**********************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
2
 * Copyright (c) 2005, 2008 IBM Corporation and others.
3
 * All rights reserved.   This program and the accompanying materials
3
 * All rights reserved.   This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 11-19 Link Here
11
 **********************************************************************/
11
 **********************************************************************/
12
package org.eclipse.hyades.trace.views.util.internal;
12
package org.eclipse.hyades.trace.views.util.internal;
13
13
14
import org.eclipse.hyades.trace.views.internal.*;
14
import org.eclipse.hyades.trace.views.internal.StatisticView;
15
import org.eclipse.swt.*;
15
import org.eclipse.hyades.trace.views.internal.TraceUIMessages;
16
import org.eclipse.swt.widgets.*;
16
import org.eclipse.jface.viewers.CellLabelProvider;
17
import org.eclipse.jface.viewers.TreeViewer;
18
import org.eclipse.jface.viewers.TreeViewerColumn;
19
import org.eclipse.swt.SWT;
20
import org.eclipse.swt.widgets.TreeColumn;
17
21
18
public class StatisticTableColumnInfo {
22
public class StatisticTableColumnInfo {
19
23
Lines 62-67 Link Here
62
		treeColumn.setData(this);
66
		treeColumn.setData(this);
63
		initializeTreeColumn(statisticView, treeColumn, data, false);
67
		initializeTreeColumn(statisticView, treeColumn, data, false);
64
		
68
		
69
		TreeViewerColumn tvc = new TreeViewerColumn((TreeViewer)(statisticView.getTreeViewer()),treeColumn);
70
71
		CellLabelProvider clp = statisticView.getCellLabelProvider(data);
72
		if (clp!=null) {
73
			tvc.setLabelProvider(clp);
74
		}
75
						
65
		if (deltaColumnsEnabled && data.supportsDelta()) {
76
		if (deltaColumnsEnabled && data.supportsDelta()) {
66
			new StatisticTableColumnInfo(statisticView, data);
77
			new StatisticTableColumnInfo(statisticView, data);
67
		}
78
		}
(-)src/org/eclipse/hyades/trace/views/internal/StatisticCellLabelProvider.java (+52 lines)
Added Link Here
1
/**********************************************************************
2
 * Copyright (c) 2008 IBM Corporation, Intel Corporation.
3
 * All rights reserved.   This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 * $Id: ExecutionStatistic.java,v 1.36 2006/09/21 19:19:29 ewchan Exp $
8
 * 
9
 * Contributors: 
10
 * IBM - Initial API and implementation
11
 **********************************************************************/
12
package org.eclipse.hyades.trace.views.internal;
13
14
import java.util.Vector;
15
16
import org.eclipse.hyades.trace.views.util.internal.ColumnData;
17
import org.eclipse.jface.viewers.CellLabelProvider;
18
import org.eclipse.tptp.platform.common.ui.views.TableCellLabelProvider;
19
import org.eclipse.tptp.platform.common.ui.views.TableCellLabelProviderManager;
20
21
public abstract class StatisticCellLabelProvider extends CellLabelProvider {
22
	ColumnData data;
23
	int visualIndex;
24
	Vector tblCellLabelProviders;
25
	
26
	public StatisticCellLabelProvider(ColumnData colData) {
27
		this.data = colData;
28
		tblCellLabelProviders = TableCellLabelProviderManager.getProvidersByColIDLKey(data.key());
29
	}
30
31
	public String getToolTipText(Object element) {
32
		if (tblCellLabelProviders!=null && tblCellLabelProviders.size()>0) {
33
			StringBuffer buf = new StringBuffer();
34
			
35
			for (int i=0;i<tblCellLabelProviders.size();i++) {
36
				TableCellLabelProvider tblCellLabelProvider = (TableCellLabelProvider)(tblCellLabelProviders.get(i));
37
				buf.append(tblCellLabelProvider.getColumnHoverText(element, data.key()));
38
				
39
				if (i<tblCellLabelProviders.size()-1) buf.append("\n");
40
			}
41
			return buf.toString();
42
		}
43
		else {
44
			return null;
45
		}
46
	}
47
48
	public boolean useNativeToolTip(Object arg0) {
49
		return (tblCellLabelProviders==null||tblCellLabelProviders.size()==0?true:false);
50
//		return false;
51
	}
52
}
(-)src-common-internal/org/eclipse/hyades/ui/internal/wizard/HyadesReportExtensionsWizard.java (+1 lines)
Lines 33-38 Link Here
33
import org.eclipse.tptp.platform.common.internal.CommonPlugin;
33
import org.eclipse.tptp.platform.common.internal.CommonPlugin;
34
import org.eclipse.tptp.platform.common.ui.internal.CommonUIMessages;
34
import org.eclipse.tptp.platform.common.ui.internal.CommonUIMessages;
35
import org.eclipse.tptp.platform.common.ui.internal.util.UIUtil;
35
import org.eclipse.tptp.platform.common.ui.internal.util.UIUtil;
36
import org.eclipse.tptp.platform.common.ui.wizard.LocationPage;
36
37
37
/**
38
/**
38
 * This wizard is used for the migration from the reportExtensions to the new reportGenerators extension point.
39
 * This wizard is used for the migration from the reportExtensions to the new reportGenerators extension point.
(-)plugin.xml (-1 / +2 lines)
Lines 26-31 Link Here
26
    <extension-point id="NavigatorActions" name="NavigatorActions" schema="schema/NavigatorActions.exsd"/>
26
    <extension-point id="NavigatorActions" name="NavigatorActions" schema="schema/NavigatorActions.exsd"/>
27
    <extension-point id="reportExtensions" name="%_5" schema="schema/reportExtensions.exsd"/>
27
    <extension-point id="reportExtensions" name="%_5" schema="schema/reportExtensions.exsd"/>
28
    <extension-point id="JSSESecurityProviders" name="JSSESecurityProviders" schema="schema/JSSESecurityProviders.exsd"/>
28
    <extension-point id="JSSESecurityProviders" name="JSSESecurityProviders" schema="schema/JSSESecurityProviders.exsd"/>
29
    <extension-point id="TableCellLabelProviders" name="TableCellLabelProviders" schema="schema/TableCellLabelProviders.exsd"/>
29
    
30
    
30
	<!-- Declare a class that will be used for security parameters.  This is used	-->
31
	<!-- Declare a class that will be used for security parameters.  This is used	-->
31
	<!-- when an Agent Controller being accessed is running in secure mode			-->
32
	<!-- when an Agent Controller being accessed is running in secure mode			-->
Lines 59-63 Link Here
59
            type="org.eclipse.hyades.ui.util.ICommonUIHelper"
60
            type="org.eclipse.hyades.ui.util.ICommonUIHelper"
60
            version="4.5">
61
            version="4.5">
61
      </handler>
62
      </handler>
62
   </extension>	
63
   </extension>
63
</plugin>
64
</plugin>
(-)META-INF/MANIFEST.MF (-1 / +3 lines)
Lines 65-70 Link Here
65
 org.eclipse.hyades.uml2sd.ztest,
65
 org.eclipse.hyades.uml2sd.ztest,
66
 org.eclipse.tptp.platform.common.ui.internal,
66
 org.eclipse.tptp.platform.common.ui.internal,
67
 org.eclipse.tptp.platform.common.ui.internal.util,
67
 org.eclipse.tptp.platform.common.ui.internal.util,
68
 org.eclipse.tptp.platform.common.ui.trace.internal
68
 org.eclipse.tptp.platform.common.ui.trace.internal,
69
 org.eclipse.tptp.platform.common.ui.views,
70
 org.eclipse.tptp.platform.common.ui.wizard
69
Bundle-Vendor: %plugin.provider
71
Bundle-Vendor: %plugin.provider
70
Bundle-RequiredExecutionEnvironment: J2SE-1.4
72
Bundle-RequiredExecutionEnvironment: J2SE-1.4
(-)src-common-external/org/eclipse/tptp/platform/common/ui/views/TableCellLabelProviderManager.java (+132 lines)
Added Link Here
1
/**********************************************************************
2
 * Copyright (c) 2008 IBM Corporation and others.
3
 * All rights reserved.   This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 * $Id: ContextOpenSourceHandlerManager.java,v 1.3 2008/01/24 02:28:55 apnan Exp $
8
 * 
9
 * Contributors: 
10
 * IBM - Initial API and implementation
11
 **********************************************************************/
12
13
package org.eclipse.tptp.platform.common.ui.views;
14
15
import java.util.HashMap;
16
import java.util.Map;
17
import java.util.Vector;
18
19
import org.eclipse.core.runtime.IConfigurationElement;
20
import org.eclipse.core.runtime.IExtensionPoint;
21
import org.eclipse.core.runtime.Platform;
22
import org.eclipse.tptp.platform.common.internal.CommonPlugin;
23
24
/**
25
 * This class manages TPTP statistics table column cell hover text provider. 
26
 * It manages all registered hover text provider. It allows them to be 
27
 * accessed by column ID key.
28
 * 
29
 * @since 4.5
30
 */
31
public class TableCellLabelProviderManager {
32
	
33
	//instance of context manager
34
	protected static TableCellLabelProviderManager instance;
35
36
	//extension points and elements Id
37
	protected final String PROVIDER_EXTENSION_POINT = "TableCellLabelProviders";
38
	protected final String PROVIDER_EXTENSION_POINT_ELEMENT = "tableCellLabelProvider";
39
	
40
	protected Map providersByColumnKey;
41
	
42
	/**
43
	 * Return an instance of the manager.
44
	 * @return instance of manager
45
	 */
46
	public static TableCellLabelProviderManager instance()
47
	{
48
		if (instance == null)
49
			instance = new TableCellLabelProviderManager();
50
		
51
		return instance;
52
	}
53
	
54
	protected void initializeProviders()
55
	{
56
		providersByColumnKey = new HashMap();		
57
		
58
		IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint("org.eclipse.tptp.platform.common.ui", PROVIDER_EXTENSION_POINT);
59
60
		if (point != null) {
61
			IConfigurationElement[] elements = point.getConfigurationElements();
62
			
63
			for (int i = 0; i < elements.length; i++) {
64
				
65
				IConfigurationElement elem = elements[i];
66
				
67
				if (elem.getName().equals(PROVIDER_EXTENSION_POINT_ELEMENT)) {
68
					String id = elem.getAttribute("id");	
69
//					String name = elem.getAttribute("name");
70
//					String key = elem.getAttribute("supportColumnIDs");
71
					
72
					TableCellLabelProvider tableCellLabelProvider = null;
73
					String[] keys = null;
74
					
75
					try
76
					{
77
						if (!"".equals(elem.getAttribute("class"))) {
78
							Object clz = elem.createExecutableExtension("class");
79
							if (clz instanceof TableCellLabelProvider) {
80
								tableCellLabelProvider = (TableCellLabelProvider)clz;
81
								keys = tableCellLabelProvider.getSupportColumnKeys();
82
							}
83
							else {
84
								CommonPlugin.logError("Class in extension point org.eclipse.tptp.platform.common.ui"+PROVIDER_EXTENSION_POINT+" must implement TableCellLabelProvider");
85
							}
86
						}
87
					}
88
					catch (Exception e)
89
					{
90
						e.printStackTrace();
91
					}
92
					
93
					if(id==null || tableCellLabelProvider==null || keys == null)
94
						 continue;
95
	
96
					for (int j=0;j<keys.length;j++) {
97
						String colID = keys[j];
98
						
99
						Vector providerList = (Vector)(providersByColumnKey.get(colID));
100
						if (providerList==null) {
101
							providerList = new Vector();
102
							providerList.add(tableCellLabelProvider);
103
							providersByColumnKey.put(colID, providerList);
104
						}
105
						else {
106
							providerList.add(tableCellLabelProvider);
107
						}	
108
					}				
109
				}
110
			}
111
		}
112
	}
113
	
114
	protected void initialize() 
115
	{
116
		initializeProviders();
117
	}
118
	
119
	protected Vector getProvidersByColID(String colID)
120
	{
121
		if (providersByColumnKey==null) 
122
			initialize();
123
		
124
		Vector v = (Vector)providersByColumnKey.get(colID);
125
		return v; 
126
	}
127
	
128
	public static Vector getProvidersByColIDLKey(String colID) {
129
		return TableCellLabelProviderManager.instance().getProvidersByColID(colID);
130
	}
131
}
132
(-)schema/TableCellLabelProviders.exsd (+121 lines)
Added Link Here
1
<?xml version='1.0' encoding='UTF-8'?>
2
<!-- Schema file written by PDE -->
3
<schema targetNamespace="org.eclipse.tptp.platform.common.ui" xmlns="http://www.w3.org/2001/XMLSchema">
4
<annotation>
5
      <appinfo>
6
         <meta.schema plugin="org.eclipse.tptp.platform.common.ui" id="TableCellLabelProviders" name="Table Column Cell Label Provider"/>
7
      </appinfo>
8
      <documentation>
9
         [Enter description of this extension point.]
10
      </documentation>
11
   </annotation>
12
13
   <element name="extension">
14
      <complexType>
15
         <sequence>
16
            <element ref="tableCellLabelProvider" minOccurs="1" maxOccurs="unbounded"/>
17
         </sequence>
18
         <attribute name="point" type="string" use="required">
19
            <annotation>
20
               <documentation>
21
                  
22
               </documentation>
23
            </annotation>
24
         </attribute>
25
         <attribute name="id" type="string">
26
            <annotation>
27
               <documentation>
28
                  
29
               </documentation>
30
            </annotation>
31
         </attribute>
32
         <attribute name="name" type="string">
33
            <annotation>
34
               <documentation>
35
                  
36
               </documentation>
37
               <appinfo>
38
                  <meta.attribute translatable="true"/>
39
               </appinfo>
40
            </annotation>
41
         </attribute>
42
      </complexType>
43
   </element>
44
45
   <element name="tableCellLabelProvider">
46
      <complexType>
47
         <attribute name="id" type="string" use="required">
48
            <annotation>
49
               <documentation>
50
                  
51
               </documentation>
52
            </annotation>
53
         </attribute>
54
         <attribute name="name" type="string">
55
            <annotation>
56
               <documentation>
57
                  
58
               </documentation>
59
               <appinfo>
60
                  <meta.attribute translatable="true"/>
61
               </appinfo>
62
            </annotation>
63
         </attribute>
64
         <attribute name="class" type="string" use="required">
65
            <annotation>
66
               <documentation>
67
                  
68
               </documentation>
69
               <appinfo>
70
                  <meta.attribute kind="java" basedOn="org.eclipse.tptp.platform.common.ui.views.TableCellLabelProvider:"/>
71
               </appinfo>
72
            </annotation>
73
         </attribute>
74
         <attribute name="supportColumnIDs" type="string">
75
            <annotation>
76
               <documentation>
77
                  
78
               </documentation>
79
            </annotation>
80
         </attribute>
81
      </complexType>
82
   </element>
83
84
   <annotation>
85
      <appinfo>
86
         <meta.section type="since"/>
87
      </appinfo>
88
      <documentation>
89
         4.5
90
      </documentation>
91
   </annotation>
92
93
   <annotation>
94
      <appinfo>
95
         <meta.section type="examples"/>
96
      </appinfo>
97
      <documentation>
98
         [Enter extension point usage example here.]
99
      </documentation>
100
   </annotation>
101
102
   <annotation>
103
      <appinfo>
104
         <meta.section type="apiinfo"/>
105
      </appinfo>
106
      <documentation>
107
         [Enter API information here.]
108
      </documentation>
109
   </annotation>
110
111
   <annotation>
112
      <appinfo>
113
         <meta.section type="implementation"/>
114
      </appinfo>
115
      <documentation>
116
         [Enter information about supplied implementation of this extension point.]
117
      </documentation>
118
   </annotation>
119
120
121
</schema>
(-)src-common-external/org/eclipse/tptp/platform/common/ui/views/TableCellLabelProvider.java (+58 lines)
Added Link Here
1
/**********************************************************************
2
 * Copyright (c) 2008 IBM Corporation, Intel Corporation.
3
 * All rights reserved.   This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 * 
8
 * Contributors: 
9
 * IBM - Initial API and implementation
10
 **********************************************************************/
11
package org.eclipse.tptp.platform.common.ui.views;
12
13
/**
14
 * Extends <code>TableCellLabelProvider</code> with the methods to provide 
15
 * hover text content for a given cell element in a table. <p>
16
 * 
17
 * Columns supporting the custom hover content is listed in <code>IContextAttributes</code>  
18
 * 
19
 * @since 4.5
20
 */
21
public abstract class TableCellLabelProvider {
22
	
23
	/**
24
	 * Given a cell element and column ID of a table in table viewer, return a
25
	 * custom hover text string content for the table cell.
26
	 *  
27
	 * @param element element of row selection in table 
28
	 * @param columnID column ID as listed in <code>IContextAttributes</code>.
29
	 * @return hover text string content
30
	 */
31
	public abstract String getColumnHoverText(Object element,String columnID);
32
	
33
	/**
34
	 * Return an array of column ID supported by this provider.
35
	 * 
36
	 * @return String array of support column ID as listed in <code>IContextAttributes</code>.
37
	 */
38
	public abstract String[] getSupportColumnKeys();
39
	
40
	/**
41
	 * Helper method to verify if a column key is supported by the provider
42
	 * 
43
	 * @param columnID 
44
	 * @return
45
	 */
46
	public boolean isSupportColumn(String columnID) {
47
		String[] columnKeys = getSupportColumnKeys();		
48
		
49
		if (columnKeys==null) 
50
			return false;
51
		
52
		for (int i=0;i<columnKeys.length;i++) {
53
			if (columnKeys[i].equals(columnID))
54
				return true;
55
		}	
56
		return false;
57
	}
58
}

Return to bug 80440