List of usage examples for org.eclipse.jface.viewers ViewerComparator ViewerComparator
public ViewerComparator()
From source file:org.eclipse.tracecompass.analysis.timing.ui.views.segmentstore.statistics.AbstractSegmentsStatisticsViewer.java
License:Open Source License
@Override protected ITmfTreeColumnDataProvider getColumnDataProvider() { return new ITmfTreeColumnDataProvider() { @Override/*from ww w .j a v a2s . c o m*/ public List<@Nullable TmfTreeColumnData> getColumnData() { /* All columns are sortable */ List<@Nullable TmfTreeColumnData> columns = new ArrayList<>(); TmfTreeColumnData column = new TmfTreeColumnData(COLUMN_NAMES[0]); column.setAlignment(SWT.RIGHT); column.setComparator(new ViewerComparator() { @Override public int compare(@Nullable Viewer viewer, @Nullable Object e1, @Nullable Object e2) { if ((e1 == null) || (e2 == null)) { return 0; } SegmentStoreStatisticsEntry n1 = (SegmentStoreStatisticsEntry) e1; SegmentStoreStatisticsEntry n2 = (SegmentStoreStatisticsEntry) e2; return n1.getName().compareTo(n2.getName()); } }); columns.add(column); column = new TmfTreeColumnData(COLUMN_NAMES[1]); column.setAlignment(SWT.RIGHT); column.setComparator(new ViewerComparator() { @Override public int compare(@Nullable Viewer viewer, @Nullable Object e1, @Nullable Object e2) { if ((e1 == null) || (e2 == null)) { return 0; } SegmentStoreStatisticsEntry n1 = (SegmentStoreStatisticsEntry) e1; SegmentStoreStatisticsEntry n2 = (SegmentStoreStatisticsEntry) e2; return Long.compare(n1.getEntry().getMin(), n2.getEntry().getMin()); } }); columns.add(column); column = new TmfTreeColumnData(COLUMN_NAMES[2]); column.setAlignment(SWT.RIGHT); column.setComparator(new ViewerComparator() { @Override public int compare(@Nullable Viewer viewer, @Nullable Object e1, @Nullable Object e2) { if ((e1 == null) || (e2 == null)) { return 0; } SegmentStoreStatisticsEntry n1 = (SegmentStoreStatisticsEntry) e1; SegmentStoreStatisticsEntry n2 = (SegmentStoreStatisticsEntry) e2; return Long.compare(n1.getEntry().getMax(), n2.getEntry().getMax()); } }); columns.add(column); column = new TmfTreeColumnData(COLUMN_NAMES[3]); column.setAlignment(SWT.RIGHT); column.setComparator(new ViewerComparator() { @Override public int compare(@Nullable Viewer viewer, @Nullable Object e1, @Nullable Object e2) { if ((e1 == null) || (e2 == null)) { return 0; } SegmentStoreStatisticsEntry n1 = (SegmentStoreStatisticsEntry) e1; SegmentStoreStatisticsEntry n2 = (SegmentStoreStatisticsEntry) e2; return Double.compare(n1.getEntry().getMean(), n2.getEntry().getMean()); } }); columns.add(column); column = new TmfTreeColumnData(COLUMN_NAMES[4]); column.setAlignment(SWT.RIGHT); column.setComparator(new ViewerComparator() { @Override public int compare(@Nullable Viewer viewer, @Nullable Object e1, @Nullable Object e2) { if ((e1 == null) || (e2 == null)) { return 0; } SegmentStoreStatisticsEntry n1 = (SegmentStoreStatisticsEntry) e1; SegmentStoreStatisticsEntry n2 = (SegmentStoreStatisticsEntry) e2; return Double.compare(n1.getEntry().getStdDev(), n2.getEntry().getStdDev()); } }); columns.add(column); column = new TmfTreeColumnData(COLUMN_NAMES[5]); column.setAlignment(SWT.RIGHT); column.setComparator(new ViewerComparator() { @Override public int compare(@Nullable Viewer viewer, @Nullable Object e1, @Nullable Object e2) { if ((e1 == null) || (e2 == null)) { return 0; } SegmentStoreStatisticsEntry n1 = (SegmentStoreStatisticsEntry) e1; SegmentStoreStatisticsEntry n2 = (SegmentStoreStatisticsEntry) e2; return Long.compare(n1.getEntry().getNbElements(), n2.getEntry().getNbElements()); } }); columns.add(column); column = new TmfTreeColumnData(COLUMN_NAMES[6]); column.setAlignment(SWT.RIGHT); column.setComparator(new ViewerComparator() { @Override public int compare(@Nullable Viewer viewer, @Nullable Object e1, @Nullable Object e2) { if ((e1 == null) || (e2 == null)) { return 0; } SegmentStoreStatisticsEntry n1 = (SegmentStoreStatisticsEntry) e1; SegmentStoreStatisticsEntry n2 = (SegmentStoreStatisticsEntry) e2; return Double.compare(n1.getEntry().getTotal(), n2.getEntry().getTotal()); } }); columns.add(column); column = new TmfTreeColumnData(""); //$NON-NLS-1$ columns.add(column); return columns; } }; }
From source file:org.eclipse.tracecompass.analysis.timing.ui.views.segmentstore.statistics.AbstractSegmentStoreStatisticsViewer.java
License:Open Source License
@Override protected ITmfTreeColumnDataProvider getColumnDataProvider() { return new ITmfTreeColumnDataProvider() { @Override//w ww. j av a 2s .co m public List<@Nullable TmfTreeColumnData> getColumnData() { /* All columns are sortable */ List<@Nullable TmfTreeColumnData> columns = new ArrayList<>(); TmfTreeColumnData column = new TmfTreeColumnData(COLUMN_NAMES[0]); column.setAlignment(SWT.RIGHT); column.setComparator(new ViewerComparator() { @Override public int compare(@Nullable Viewer viewer, @Nullable Object e1, @Nullable Object e2) { if ((e1 == null) || (e2 == null)) { return 0; } SegmentStoreStatisticsEntry n1 = (SegmentStoreStatisticsEntry) e1; SegmentStoreStatisticsEntry n2 = (SegmentStoreStatisticsEntry) e2; return n1.getName().compareTo(n2.getName()); } }); columns.add(column); column = new TmfTreeColumnData(COLUMN_NAMES[1]); column.setAlignment(SWT.RIGHT); column.setComparator(new ViewerComparator() { @Override public int compare(@Nullable Viewer viewer, @Nullable Object e1, @Nullable Object e2) { if ((e1 == null) || (e2 == null)) { return 0; } SegmentStoreStatisticsEntry n1 = (SegmentStoreStatisticsEntry) e1; SegmentStoreStatisticsEntry n2 = (SegmentStoreStatisticsEntry) e2; return Long.compare(n1.getEntry().getMin(), n2.getEntry().getMin()); } }); columns.add(column); column = new TmfTreeColumnData(COLUMN_NAMES[2]); column.setAlignment(SWT.RIGHT); column.setComparator(new ViewerComparator() { @Override public int compare(@Nullable Viewer viewer, @Nullable Object e1, @Nullable Object e2) { if ((e1 == null) || (e2 == null)) { return 0; } SegmentStoreStatisticsEntry n1 = (SegmentStoreStatisticsEntry) e1; SegmentStoreStatisticsEntry n2 = (SegmentStoreStatisticsEntry) e2; return Long.compare(n1.getEntry().getMax(), n2.getEntry().getMax()); } }); columns.add(column); column = new TmfTreeColumnData(COLUMN_NAMES[3]); column.setAlignment(SWT.RIGHT); column.setComparator(new ViewerComparator() { @Override public int compare(@Nullable Viewer viewer, @Nullable Object e1, @Nullable Object e2) { if ((e1 == null) || (e2 == null)) { return 0; } SegmentStoreStatisticsEntry n1 = (SegmentStoreStatisticsEntry) e1; SegmentStoreStatisticsEntry n2 = (SegmentStoreStatisticsEntry) e2; return Double.compare(n1.getEntry().getAverage(), n2.getEntry().getAverage()); } }); columns.add(column); column = new TmfTreeColumnData(COLUMN_NAMES[4]); column.setAlignment(SWT.RIGHT); column.setComparator(new ViewerComparator() { @Override public int compare(@Nullable Viewer viewer, @Nullable Object e1, @Nullable Object e2) { if ((e1 == null) || (e2 == null)) { return 0; } SegmentStoreStatisticsEntry n1 = (SegmentStoreStatisticsEntry) e1; SegmentStoreStatisticsEntry n2 = (SegmentStoreStatisticsEntry) e2; return Double.compare(n1.getEntry().getStdDev(), n2.getEntry().getStdDev()); } }); columns.add(column); column = new TmfTreeColumnData(COLUMN_NAMES[5]); column.setAlignment(SWT.RIGHT); column.setComparator(new ViewerComparator() { @Override public int compare(@Nullable Viewer viewer, @Nullable Object e1, @Nullable Object e2) { if ((e1 == null) || (e2 == null)) { return 0; } SegmentStoreStatisticsEntry n1 = (SegmentStoreStatisticsEntry) e1; SegmentStoreStatisticsEntry n2 = (SegmentStoreStatisticsEntry) e2; return Long.compare(n1.getEntry().getNbSegments(), n2.getEntry().getNbSegments()); } }); columns.add(column); column = new TmfTreeColumnData(COLUMN_NAMES[6]); column.setAlignment(SWT.RIGHT); column.setComparator(new ViewerComparator() { @Override public int compare(@Nullable Viewer viewer, @Nullable Object e1, @Nullable Object e2) { if ((e1 == null) || (e2 == null)) { return 0; } SegmentStoreStatisticsEntry n1 = (SegmentStoreStatisticsEntry) e1; SegmentStoreStatisticsEntry n2 = (SegmentStoreStatisticsEntry) e2; return Double.compare(n1.getEntry().getTotal(), n2.getEntry().getTotal()); } }); columns.add(column); column = new TmfTreeColumnData(""); //$NON-NLS-1$ columns.add(column); return columns; } }; }
From source file:org.eclipse.tracecompass.extension.internal.virtual.machine.analysis.ui.views.fusedvmview.SelectMachineDialog.java
License:Open Source License
private TreeViewer doCreateTreeViewer(Composite parent, Map<String, Machine> machines) { fCheckboxTreeViewer = new CheckboxTreeViewer(parent, SWT.BORDER); fContentProvider = new TmfNavigatorContentProvider() { @Override//from w w w . ja va 2s .c o m public Object getParent(Object element) { if (element instanceof Machine) { Machine host = ((Machine) element).getHost(); if (host != null) { return host; } return element; } else if (element instanceof Processor) { return ((Processor) element).getMachine(); } return null; } @Override public Object[] getElements(Object inputElement) { return getChildren(inputElement); } @Override public synchronized Object[] getChildren(Object parentElement) { if (parentElement instanceof List) { return ((List<?>) parentElement).toArray(); } else if (parentElement instanceof Machine) { Machine m = (Machine) parentElement; Set<Processor> cpus = m.getCpus(); if (!cpus.isEmpty()) { Object[] array = { cpus, m.getContainers() }; return array; } } else if (parentElement instanceof Set) { return ((Set<?>) parentElement).toArray(); } return null; } @Override public boolean hasChildren(Object element) { Object[] children = getChildren(element); return children != null && children.length > 0; } }; fCheckboxTreeViewer.setContentProvider(fContentProvider); fLabelProvider = new TmfNavigatorLabelProvider() { @Override public String getText(Object arg0) { if (arg0 instanceof Set<?>) { Set<?> set = (Set<?>) arg0; if (!set.isEmpty()) { for (Object o : set) { if (o instanceof Machine) { return Attributes.CONTAINERS; } else if (o instanceof Processor) { return Attributes.CPUS; } } } } return arg0.toString(); } }; fCheckboxTreeViewer.setLabelProvider(fLabelProvider); fCheckboxTreeViewer.setComparator(new ViewerComparator()); final Tree tree = fCheckboxTreeViewer.getTree(); GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true); tree.setLayoutData(gd); tree.setHeaderVisible(true); final TreeViewerColumn column = new TreeViewerColumn(fCheckboxTreeViewer, SWT.NONE); column.getColumn().setText(Messages.FusedVMView_SelectMachineActionNameText); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof String) { return (String) element; } return fLabelProvider.getText(element); } @Override public Image getImage(Object element) { return fLabelProvider.getImage(element); } }); // Populate the list with the machines' names List<Machine> listMachines = new ArrayList<>(machines.values()); fCheckboxTreeViewer.setInput(listMachines); column.getColumn().pack(); fCheckboxTreeViewer.addCheckStateListener(new ICheckStateListener() { @Override public void checkStateChanged(CheckStateChangedEvent event) { Object element = event.getElement(); Object root = null; if (element instanceof Machine) { Machine m = (Machine) element; Machine host = m.getHost(); if (host == null) { /* We are the root of a machine */ m.setHighlighted(event.getChecked()); Set<Processor> cpus = m.getCpus(); for (Processor cpu : cpus) { cpu.setHighlighted(event.getChecked()); } Set<Machine> containers = m.getContainers(); for (Machine container : containers) { container.setHighlighted(event.getChecked()); } } else { /* We are at a container */ m.setHighlighted(event.getChecked()); host.setHighlighted(host.isChecked()); } } else if (element instanceof Processor) { Boolean checked = event.getChecked(); ((Processor) element).setHighlighted(checked); Object ancestor = fContentProvider.getParent(element); if (ancestor instanceof Machine) { Machine m = (Machine) ancestor; m.setHighlighted(m.isChecked()); } } else if (element instanceof Set<?>) { /* We are looking at a set of containers or cpus */ Set<?> set = (Set<?>) element; if (!set.isEmpty()) { for (Object o : set) { if (o instanceof Machine) { ((Machine) o).setHighlighted(event.getChecked()); } else if (o instanceof Processor) { ((Processor) o).setHighlighted(event.getChecked()); } root = fContentProvider.getParent(o); } } } if (root == null) { root = fContentProvider.getParent(element); } ((Machine) root).setHighlighted(((Machine) root).isChecked()); /* Update the view because the selection changed */ updateCheckedNodes(root); } }); /* Initial setting of the checked state when we open the dialog */ for (Machine m : listMachines) { updateCheckedNodes(m); } return fCheckboxTreeViewer; }
From source file:org.eclipse.tracecompass.internal.analysis.os.linux.ui.views.latency.statistics.AbstractSegmentStoreStatisticsViewer.java
License:Open Source License
@Override protected ITmfTreeColumnDataProvider getColumnDataProvider() { return new ITmfTreeColumnDataProvider() { @Override//from w w w . ja v a 2 s. c o m public List<@Nullable TmfTreeColumnData> getColumnData() { /* All columns are sortable */ List<@Nullable TmfTreeColumnData> columns = new ArrayList<>(); TmfTreeColumnData column = new TmfTreeColumnData(COLUMN_NAMES[0]); column.setComparator(new ViewerComparator() { @Override public int compare(@Nullable Viewer viewer, @Nullable Object e1, @Nullable Object e2) { if ((e1 == null) || (e2 == null)) { return 0; } LatencyTreeViewerEntry n1 = (LatencyTreeViewerEntry) e1; LatencyTreeViewerEntry n2 = (LatencyTreeViewerEntry) e2; return n1.getName().compareTo(n2.getName()); } }); columns.add(column); column = new TmfTreeColumnData(COLUMN_NAMES[1]); column.setComparator(new ViewerComparator() { @Override public int compare(@Nullable Viewer viewer, @Nullable Object e1, @Nullable Object e2) { if ((e1 == null) || (e2 == null)) { return 0; } LatencyTreeViewerEntry n1 = (LatencyTreeViewerEntry) e1; LatencyTreeViewerEntry n2 = (LatencyTreeViewerEntry) e2; return Long.compare(n1.getEntry().getMin(), n2.getEntry().getMin()); } }); columns.add(column); column = new TmfTreeColumnData(COLUMN_NAMES[2]); column.setComparator(new ViewerComparator() { @Override public int compare(@Nullable Viewer viewer, @Nullable Object e1, @Nullable Object e2) { if ((e1 == null) || (e2 == null)) { return 0; } LatencyTreeViewerEntry n1 = (LatencyTreeViewerEntry) e1; LatencyTreeViewerEntry n2 = (LatencyTreeViewerEntry) e2; return Long.compare(n1.getEntry().getMax(), n2.getEntry().getMax()); } }); columns.add(column); column = new TmfTreeColumnData(COLUMN_NAMES[3]); column.setComparator(new ViewerComparator() { @Override public int compare(@Nullable Viewer viewer, @Nullable Object e1, @Nullable Object e2) { if ((e1 == null) || (e2 == null)) { return 0; } LatencyTreeViewerEntry n1 = (LatencyTreeViewerEntry) e1; LatencyTreeViewerEntry n2 = (LatencyTreeViewerEntry) e2; return Double.compare(n1.getEntry().getAverage(), n2.getEntry().getAverage()); } }); columns.add(column); return columns; } }; }
From source file:org.eclipse.tracecompass.internal.analysis.timing.ui.views.segmentstore.statistics.AbstractSegmentStoreStatisticsViewer.java
License:Open Source License
@Override protected ITmfTreeColumnDataProvider getColumnDataProvider() { return new ITmfTreeColumnDataProvider() { @Override/* w w w .j ava 2 s . c o m*/ public List<@Nullable TmfTreeColumnData> getColumnData() { /* All columns are sortable */ List<@Nullable TmfTreeColumnData> columns = new ArrayList<>(); TmfTreeColumnData column = new TmfTreeColumnData(COLUMN_NAMES[0]); column.setAlignment(SWT.RIGHT); column.setComparator(new ViewerComparator() { @Override public int compare(@Nullable Viewer viewer, @Nullable Object e1, @Nullable Object e2) { if ((e1 == null) || (e2 == null)) { return 0; } SegmentStoreStatisticsEntry n1 = (SegmentStoreStatisticsEntry) e1; SegmentStoreStatisticsEntry n2 = (SegmentStoreStatisticsEntry) e2; return n1.getName().compareTo(n2.getName()); } }); columns.add(column); column = new TmfTreeColumnData(COLUMN_NAMES[1]); column.setAlignment(SWT.RIGHT); column.setComparator(new ViewerComparator() { @Override public int compare(@Nullable Viewer viewer, @Nullable Object e1, @Nullable Object e2) { if ((e1 == null) || (e2 == null)) { return 0; } SegmentStoreStatisticsEntry n1 = (SegmentStoreStatisticsEntry) e1; SegmentStoreStatisticsEntry n2 = (SegmentStoreStatisticsEntry) e2; return Long.compare(n1.getEntry().getMin(), n2.getEntry().getMin()); } }); columns.add(column); column = new TmfTreeColumnData(COLUMN_NAMES[2]); column.setAlignment(SWT.RIGHT); column.setComparator(new ViewerComparator() { @Override public int compare(@Nullable Viewer viewer, @Nullable Object e1, @Nullable Object e2) { if ((e1 == null) || (e2 == null)) { return 0; } SegmentStoreStatisticsEntry n1 = (SegmentStoreStatisticsEntry) e1; SegmentStoreStatisticsEntry n2 = (SegmentStoreStatisticsEntry) e2; return Long.compare(n1.getEntry().getMax(), n2.getEntry().getMax()); } }); columns.add(column); column = new TmfTreeColumnData(COLUMN_NAMES[3]); column.setAlignment(SWT.RIGHT); column.setComparator(new ViewerComparator() { @Override public int compare(@Nullable Viewer viewer, @Nullable Object e1, @Nullable Object e2) { if ((e1 == null) || (e2 == null)) { return 0; } SegmentStoreStatisticsEntry n1 = (SegmentStoreStatisticsEntry) e1; SegmentStoreStatisticsEntry n2 = (SegmentStoreStatisticsEntry) e2; return Double.compare(n1.getEntry().getAverage(), n2.getEntry().getAverage()); } }); columns.add(column); column = new TmfTreeColumnData(COLUMN_NAMES[4]); column.setAlignment(SWT.RIGHT); column.setComparator(new ViewerComparator() { @Override public int compare(@Nullable Viewer viewer, @Nullable Object e1, @Nullable Object e2) { if ((e1 == null) || (e2 == null)) { return 0; } SegmentStoreStatisticsEntry n1 = (SegmentStoreStatisticsEntry) e1; SegmentStoreStatisticsEntry n2 = (SegmentStoreStatisticsEntry) e2; return Double.compare(n1.getEntry().getStdDev(), n2.getEntry().getStdDev()); } }); columns.add(column); column = new TmfTreeColumnData(""); //$NON-NLS-1$ columns.add(column); return columns; } }; }
From source file:org.eclipse.tracecompass.internal.tmf.ui.viewers.statistics.TmfStatisticsViewer.java
License:Open Source License
/** * Initialize the content that will be drawn in this viewer * * @param parent// w w w. jav a 2 s . c o m * The parent of the control to create */ protected void initContent(Composite parent) { final List<TmfBaseColumnData> columnDataList = getColumnDataProvider().getColumnData(); fSash = new SashForm(parent, SWT.HORIZONTAL); fTreeViewer = new TreeViewer(fSash, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); fPieChartViewer = new TmfPieChartViewer(fSash); fPieChartViewer.addEventTypeSelectionListener(new Listener() { @Override public void handleEvent(Event event) { String eventTypeName = event.text; if (getStatisticData().getRootNode() == null || fTreeViewer.getTree() == null) { return; } /* Get all the nodes corresponding to the event name */ List<TmfStatisticsTreeNode> nodes = (List<TmfStatisticsTreeNode>) getStatisticData().getRootNode() .findChildren(eventTypeName, true); if (nodes.isEmpty()) { /* Shouldn't happen, except for when selecting "Others" */ return; } /* Only select the first in the collection */ fTreeViewer.setSelection(new StructuredSelection(nodes.get(0)), true); } }); /* Make sure the sash is split in 2 equal parts */ fSash.setWeights(new int[] { 100, 100 }); fTreeViewer.setContentProvider(new TmfTreeContentProvider()); fTreeViewer.getTree().setHeaderVisible(true); fTreeViewer.setUseHashlookup(true); // Creates the columns defined by the column data provider for (final TmfBaseColumnData columnData : columnDataList) { final TreeViewerColumn treeColumn = new TreeViewerColumn(fTreeViewer, columnData.getAlignment()); treeColumn.getColumn().setText(columnData.getHeader()); treeColumn.getColumn().setWidth(columnData.getWidth()); treeColumn.getColumn().setToolTipText(columnData.getTooltip()); // If is dummy column if (columnData == columnDataList.get(TmfBaseColumnDataProvider.StatsColumn.DUMMY.getIndex())) { treeColumn.getColumn().setResizable(false); } // A comparator is defined. if (columnData.getComparator() != null) { // Adds a listener on the columns header for sorting purpose. treeColumn.getColumn().addSelectionListener(new SelectionAdapter() { private ViewerComparator reverseComparator; @Override public void widgetSelected(SelectionEvent e) { // Initializes the reverse comparator once. if (reverseComparator == null) { reverseComparator = new ViewerComparator() { @Override public int compare(Viewer viewer, Object e1, Object e2) { return -1 * columnData.getComparator().compare(viewer, e1, e2); } }; } if (fTreeViewer.getTree().getSortDirection() == SWT.UP || fTreeViewer.getTree().getSortColumn() != treeColumn.getColumn()) { /* * Puts the descendant order if the old order was up * or if the selected column has changed. */ fTreeViewer.setComparator(columnData.getComparator()); fTreeViewer.getTree().setSortDirection(SWT.DOWN); } else { /* * Puts the ascendant ordering if the selected * column hasn't changed. */ fTreeViewer.setComparator(reverseComparator); fTreeViewer.getTree().setSortDirection(SWT.UP); } fTreeViewer.getTree().setSortColumn(treeColumn.getColumn()); } }); } treeColumn.setLabelProvider(columnData.getLabelProvider()); } // Handler that will draw the percentages and the bar charts. fTreeViewer.getTree().addListener(SWT.EraseItem, new Listener() { @Override public void handleEvent(Event event) { if (columnDataList.get(event.index).getPercentageProvider() != null) { TmfStatisticsTreeNode node = (TmfStatisticsTreeNode) event.item.getData(); // If node is hidden, exit immediately. if (TmfBaseColumnDataProvider.HIDDEN_FOLDER_LEVELS.contains(node.getName())) { return; } // Otherwise, get percentage and draw bar and text if // applicable. double percentage = columnDataList.get(event.index).getPercentageProvider().getPercentage(node); // The item is selected. if ((event.detail & SWT.SELECTED) > 0) { // Draws our own background to avoid overwriting the // bar. event.gc.fillRectangle(event.x, event.y, event.width, event.height); event.detail &= ~SWT.SELECTED; } // Drawing the percentage text // if events are present in top node // and the current node is not the top node // and if is total or partial events column. // If not, exit the method. if (!((event.index == TmfBaseColumnDataProvider.StatsColumn.TOTAL.getIndex() || event.index == TmfBaseColumnDataProvider.StatsColumn.PARTIAL.getIndex()) && node != node.getTop())) { return; } long eventValue = event.index == TmfBaseColumnDataProvider.StatsColumn.TOTAL.getIndex() ? node.getTop().getValues().getTotal() : node.getTop().getValues().getPartial(); if (eventValue != 0) { int oldAlpha = event.gc.getAlpha(); Color oldForeground = event.gc.getForeground(); Color oldBackground = event.gc.getBackground(); // Bar to draw if (percentage != 0) { /* * Draws a transparent gradient rectangle from the * color of foreground and background. */ int barWidth = (int) ((fTreeViewer.getTree().getColumn(event.index).getWidth() - 8) * percentage); event.gc.setAlpha(64); event.gc.setForeground(event.item.getDisplay().getSystemColor(SWT.COLOR_BLUE)); event.gc.setBackground( event.item.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND)); event.gc.fillGradientRectangle(event.x, event.y, barWidth, event.height, true); event.gc.drawRectangle(event.x, event.y, barWidth, event.height); // Restore old values event.gc.setBackground(oldBackground); event.gc.setAlpha(oldAlpha); event.detail &= ~SWT.BACKGROUND; } String percentageText = TmfStatisticsFormatter.toPercentageText(percentage); String absoluteNumberText = TmfStatisticsFormatter.toColumnData(node, TmfBaseColumnDataProvider.StatsColumn.getColumn(event.index)); if (event.width > event.gc.stringExtent(percentageText).x + event.gc.stringExtent(absoluteNumberText).x) { int textHeight = event.gc.stringExtent(percentageText).y; event.gc.setForeground(event.item.getDisplay().getSystemColor(SWT.COLOR_DARK_GRAY)); event.gc.drawText(percentageText, event.x, event.y + (event.height - textHeight) / 2, true); } // Restores old values event.gc.setForeground(oldForeground); } } } }); // Initializes the comparator parameters fTreeViewer.setComparator(columnDataList.get(0).getComparator()); fTreeViewer.getTree().setSortColumn(fTreeViewer.getTree().getColumn(0)); fTreeViewer.getTree().setSortDirection(SWT.DOWN); }
From source file:org.eclipse.tracecompass.tmf.ui.project.wizards.SelectRootNodeWizardPage.java
License:Open Source License
private TreeViewer doCreateTreeViewer(Composite parent) { fCheckboxTreeViewer = new CheckboxTreeViewer(parent, SWT.BORDER); fContentProvider = new TmfNavigatorContentProvider() { @Override//ww w . ja v a2s . c om public Object[] getElements(Object inputElement) { return getChildren(inputElement); } @Override public synchronized Object[] getChildren(Object parentElement) { if (parentElement instanceof TmfExperimentElement) { return ((TmfExperimentElement) parentElement).getTraces().toArray(); } return null; } @Override public boolean hasChildren(Object element) { if (element instanceof TmfExperimentElement) { return !(((TmfExperimentElement) element).getTraces().isEmpty()); } return false; } }; fCheckboxTreeViewer.setContentProvider(fContentProvider); fLabelProvider = new TmfNavigatorLabelProvider(); fCheckboxTreeViewer.setLabelProvider(fLabelProvider); fCheckboxTreeViewer.setComparator(new ViewerComparator()); final Tree tree = fCheckboxTreeViewer.getTree(); GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true); tree.setLayoutData(gd); tree.setHeaderVisible(true); final TreeViewerColumn column = new TreeViewerColumn(fCheckboxTreeViewer, SWT.NONE); column.getColumn().setText(Messages.SelectRootNodeWizardPage_TraceColumnHeader); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return fLabelProvider.getText(element); } @Override public Image getImage(Object element) { return fLabelProvider.getImage(element); } }); // Populate the list of traces from the experiment fCheckboxTreeViewer.setInput(fExperiment); column.getColumn().pack(); fCheckboxTreeViewer.addCheckStateListener(new ICheckStateListener() { @Override public void checkStateChanged(CheckStateChangedEvent event) { Object element = event.getElement(); // Uncheck all elements for (Object checkedElement : fCheckboxTreeViewer.getCheckedElements()) { fCheckboxTreeViewer.setChecked(checkedElement, false); } fCheckboxTreeViewer.setChecked(element, event.getChecked()); setPageComplete(event.getChecked()); } }); setPageComplete(true); // Checks the first element by default fCheckboxTreeViewer.getTree().getItem(0).setChecked(true); return fCheckboxTreeViewer; }
From source file:org.eclipse.tracecompass.tmf.ui.tests.statistics.TmfBaseColumnDataTest.java
License:Open Source License
/** * Pre-test setup/*from www . jav a2 s .c o m*/ */ @Before public void init() { fHeader = "test Column1"; fWidth = 300; fAlignment = SWT.LEFT; fToolTip = "Tooltip " + fHeader; fLabelProvider = new ColumnLabelProvider() { @Override public String getText(Object element) { return ((TmfStatisticsTreeNode) element).getName(); } @Override public Image getImage(Object element) { return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ELEMENT); } }; fComparator = new ViewerComparator() { @Override public int compare(Viewer viewer, Object e1, Object e2) { TmfStatisticsTreeNode n1 = (TmfStatisticsTreeNode) e1; TmfStatisticsTreeNode n2 = (TmfStatisticsTreeNode) e2; return n1.getName().compareTo(n2.getName()); } }; fPercentageProvider = new ITmfColumnPercentageProvider() { @Override public double getPercentage(TmfStatisticsTreeNode node) { TmfStatisticsTreeNode parent = node; do { parent = parent.getParent(); } while (parent != null && parent.getValues().getTotal() == 0); if (parent == null) { return 0; } return (double) node.getValues().getTotal() / parent.getValues().getTotal(); } }; TmfStatisticsTree baseData = new TmfStatisticsTree(); fTraceName = "trace1"; fTreeNode = new TmfStatisticsTreeNode(baseData, baseData.getRootNode(), fTraceName); fBaseColumnData = new TmfBaseColumnData(fHeader, fWidth, fAlignment, fToolTip, fLabelProvider, fComparator, fPercentageProvider); }
From source file:org.eclipse.ui.activities.ActivityCategoryPreferencePage.java
License:Open Source License
/** * @param parent/*from w w w . java2 s .c om*/ */ private void createCategoryArea(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.marginHeight = layout.marginWidth = 0; layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING); layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING); composite.setLayout(layout); GridData data = new GridData(GridData.FILL_BOTH); data.widthHint = 200; composite.setLayoutData(data); Label label = new Label(composite, SWT.NONE); label.setText(strings.getProperty(CATEGORY_NAME, ActivityMessages.ActivityEnabler_categories) + ':'); Table table = new Table(composite, SWT.CHECK | SWT.BORDER | SWT.SINGLE); table.addSelectionListener(new SelectionAdapter() { /* * (non-Javadoc) * * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ public void widgetSelected(SelectionEvent e) { if (e.detail == SWT.CHECK) { TableItem tableItem = (TableItem) e.item; ICategory category = (ICategory) tableItem.getData(); if (isLocked(category)) { tableItem.setChecked(true); e.doit = false; // veto the check return; } Set activitySet = WorkbenchActivityHelper.getActivityIdsForCategory(category); if (tableItem.getChecked()) { activitySet.addAll(workingCopy.getEnabledActivityIds()); } else { HashSet newSet = new HashSet(workingCopy.getEnabledActivityIds()); newSet.removeAll(activitySet); activitySet = newSet; } workingCopy.setEnabledActivityIds(activitySet); updateCategoryCheckState(); // even though we're reacting to // a check change we may need to // refresh a greying change. // Just process the whole thing. } } }); categoryViewer = new CheckboxTableViewer(table); categoryViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH)); categoryViewer.setContentProvider(new CategoryContentProvider()); CategoryLabelProvider categoryLabelProvider = new CategoryLabelProvider(true); workingCopy.addActivityManagerListener(categoryLabelProvider); categoryViewer.setLabelProvider(categoryLabelProvider); categoryViewer.setComparator(new ViewerComparator()); categoryViewer.addFilter(new EmptyCategoryFilter()); categoryViewer.addSelectionChangedListener(new ISelectionChangedListener() { /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent) */ public void selectionChanged(SelectionChangedEvent event) { ICategory element = (ICategory) ((IStructuredSelection) event.getSelection()).getFirstElement(); setDetails(element); } }); categoryViewer.setInput(workingCopy.getDefinedCategoryIds()); updateCategoryCheckState(); }
From source file:org.eclipse.ui.dialogs.TypeFilteringDialog.java
License:Open Source License
protected Control createDialogArea(Composite parent) { // page group Composite composite = (Composite) super.createDialogArea(parent); createMessageArea(composite);//from w w w . j a v a2 s. c om listViewer = CheckboxTableViewer.newCheckList(composite, SWT.BORDER); GridData data = new GridData(GridData.FILL_BOTH); data.heightHint = SIZING_SELECTION_WIDGET_HEIGHT; data.widthHint = SIZING_SELECTION_WIDGET_WIDTH; listViewer.getTable().setLayoutData(data); listViewer.getTable().setFont(parent.getFont()); listViewer.setLabelProvider(FileEditorMappingLabelProvider.INSTANCE); listViewer.setContentProvider(ArrayContentProvider.getInstance()); listViewer.setComparator(new ViewerComparator()); addSelectionButtons(composite); createUserEntryGroup(composite); initializeViewer(); // initialize page if (this.initialSelections != null && !this.initialSelections.isEmpty()) { checkInitialSelections(); } return composite; }