List of usage examples for org.eclipse.jface.viewers ViewerComparator compare
public int compare(Viewer viewer, Object e1, Object e2)
From source file:gov.nasa.ensemble.common.ui.treetable.TreeTableViewer.java
License:Open Source License
/** * Update the element. If it is necessary to refresh the entire tree, * "true" will be returned. Otherwise false will be returned. * //from w ww. j av a 2 s . co m * @param element * @param selectedTreeItems * @param treeChildren * @return whether the whole tree was refreshed or not */ private boolean handleObjectUpdated(O element, List<TreeItem> selectedTreeItems, Item[] treeChildren) { Widget widget = findItem(element); if (element == getInput()) { refresh(); return true; } if (widget instanceof TreeItem) { TreeItem item = (TreeItem) widget; TreeItem parentItem = item.getParentItem(); boolean outOfOrder = false; ViewerComparator comparator = getComparator(); if (comparator != null) { Item[] siblings = (parentItem != null ? getChildren(parentItem) : treeChildren); int currentIndex = -1; for (Item child : siblings) { currentIndex++; if (child.getData() == element) { break; } } if (currentIndex - 1 >= 0) { Item predecessor = siblings[currentIndex - 1]; if (comparator.compare(this, predecessor.getData(), item.getData()) > 0) { outOfOrder = true; } } if (currentIndex + 1 < siblings.length) { Item successor = siblings[currentIndex + 1]; if (comparator.compare(this, successor.getData(), item.getData()) < 0) { outOfOrder = true; } } } if (outOfOrder) { if (parentItem != null) { refresh(parentItem.getData()); } else { refresh(); return true; } } else { updateTreeItemPresentation(item, selectedTreeItems); } } return false; }
From source file:org.eclipse.linuxtools.tmf.ui.tests.statistics.TmfBaseColumnDataProviderTest.java
License:Open Source License
public void testGetColumnData() { Vector<TmfBaseColumnData> columnsData = provider.getColumnData(); assertNotNull("getColumnData", columnsData); assertEquals("getColumnData", 2, columnsData.size()); TmfStatisticsTreeNode parentNode = fStatsData.get(new TmfFixedArray<String>(fTestName)); TmfStatisticsTreeNode treeNode1 = fStatsData.get(new TmfFixedArray<String>(fTestName, Messages.TmfStatisticsData_EventTypes, fEvent1.getType().toString())); TmfStatisticsTreeNode treeNode2 = fStatsData.get(new TmfFixedArray<String>(fTestName, Messages.TmfStatisticsData_EventTypes, fEvent3.getType().toString())); ViewerComparator vComp = null; for (TmfBaseColumnData columnData : columnsData) { assertNotNull("getColumnData", columnData); assertNotNull("getColumnData", columnData.getHeader()); assertNotNull("getColumnData", columnData.getTooltip()); // Testing labelProvider ColumnLabelProvider labelProvider = columnData.getLabelProvider(); if (columnData.getHeader().compareTo(LEVEL_COLUMN) == 0) { assertEquals("getColumnData", 0, labelProvider.getText(treeNode1).compareTo(treeNode1.getKey())); } else if (columnData.getHeader().compareTo(EVENTS_COUNT_COLUMN) == 0) { assertEquals("getColumnData", 0, labelProvider.getText(treeNode1).compareTo(Long.toString(2))); }/*from www . j av a 2s.c om*/ // Testing comparator vComp = columnData.getComparator(); if (columnData.getHeader().compareTo(LEVEL_COLUMN) == 0) { assertTrue("getColumnData", vComp.compare(null, treeNode1, treeNode2) < 0); assertTrue("getColumnData", vComp.compare(null, treeNode2, treeNode1) > 0); assertTrue("getColumnData", vComp.compare(null, treeNode1, treeNode1) == 0); } else if (columnData.getHeader().compareTo(EVENTS_COUNT_COLUMN) == 0) { assertTrue("getColumnData", vComp.compare(null, treeNode1, treeNode2) > 0); assertTrue("getColumnData", vComp.compare(null, treeNode2, treeNode1) < 0); assertTrue("getColumnData", vComp.compare(null, treeNode1, treeNode1) == 0); } // Testing percentage provider ITmfColumnPercentageProvider percentProvider = columnData.getPercentageProvider(); if (columnData.getHeader().compareTo(LEVEL_COLUMN) == 0) { assertNull("getColumnData", percentProvider); } else if (columnData.getHeader().compareTo(EVENTS_COUNT_COLUMN) == 0) { double percentage = (double) treeNode1.getValue().nbEvents / parentNode.getValue().nbEvents; assertEquals("getColumnData", (double) percentage, (double) percentProvider.getPercentage(treeNode1)); } } }
From source file:org.eclipse.tracecompass.tmf.ui.tests.statistics.TmfBaseColumnDataProviderTest.java
License:Open Source License
/** * Method with test cases.//from ww w . j av a 2 s . c o m */ @Test public void testGetColumnData() { List<TmfBaseColumnData> columnsData = provider.getColumnData(); assertNotNull("getColumnData", columnsData); assertEquals("getColumnData", 4, columnsData.size()); TmfStatisticsTreeNode parentNode = fStatsData.getNode(fTestName); TmfStatisticsTreeNode treeNode1 = fStatsData.getNode(fTestName, Messages.TmfStatisticsData_EventTypes, fEvent1.getName()); TmfStatisticsTreeNode treeNode2 = fStatsData.getNode(fTestName, Messages.TmfStatisticsData_EventTypes, fEvent3.getName()); ViewerComparator vComp = null; for (TmfBaseColumnData columnData : columnsData) { assertNotNull("getColumnData", columnData); assertNotNull("getColumnData", columnData.getHeader()); assertNotNull("getColumnData", columnData.getTooltip()); // Testing labelProvider ColumnLabelProvider labelProvider = columnData.getLabelProvider(); if (columnData.getHeader().compareTo(LEVEL_COLUMN) == 0) { assertEquals("getColumnData", 0, labelProvider.getText(treeNode1).compareTo(treeNode1.getName())); } else if (columnData.getHeader().compareTo(EVENTS_COUNT_COLUMN) == 0) { // might not work because of machine local number format assertEquals("getColumnData", "1", labelProvider.getText(treeNode1)); } // Testing comparator vComp = columnData.getComparator(); if (columnData.getHeader().compareTo(LEVEL_COLUMN) == 0) { assertTrue("getColumnData", vComp.compare(null, treeNode1, treeNode2) < 0); assertTrue("getColumnData", vComp.compare(null, treeNode2, treeNode1) > 0); assertTrue("getColumnData", vComp.compare(null, treeNode1, treeNode1) == 0); } else if (columnData.getHeader().compareTo(EVENTS_COUNT_COLUMN) == 0) { assertTrue("getColumnData", vComp.compare(null, treeNode1, treeNode2) == 0); assertTrue("getColumnData", vComp.compare(null, treeNode2, treeNode1) == 0); assertTrue("getColumnData", vComp.compare(null, treeNode1, treeNode1) == 0); } // Testing percentage provider ITmfColumnPercentageProvider percentProvider = columnData.getPercentageProvider(); if (columnData.getHeader().compareTo(LEVEL_COLUMN) == 0) { assertNull("getColumnData", percentProvider); } else if (columnData.getHeader().compareTo(EVENTS_COUNT_COLUMN) == 0) { double percentage = (double) treeNode1.getValues().getTotal() / parentNode.getValues().getTotal(); assertEquals("getColumnData", percentage, percentProvider.getPercentage(treeNode1), DELTA); } } }
From source file:org.jboss.tools.openshift.test.ui.comparators.ProjectTreeSorterTest.java
License:Open Source License
@Test public void testProjectsInTree() { final ViewerComparator comparator = ProjectViewerComparator.createProjectTreeSorter(); ObservableTreeItem i1 = new ObservableTreeItem(mockProject("default", null)); ObservableTreeItem i2 = new ObservableTreeItem(mockProject("openshift", null)); ObservableTreeItem i3 = new ObservableTreeItem(mockProject("a", null)); ObservableTreeItem i4 = new ObservableTreeItem(mockProject("d", null)); ObservableTreeItem[] items = new ObservableTreeItem[] { i2, i4, i3, i1 }; Arrays.sort(items, new Comparator<ObservableTreeItem>() { @Override/* w w w .j a va 2s. c om*/ public int compare(ObservableTreeItem o1, ObservableTreeItem o2) { return comparator.compare(null, o1, o2); } }); assertEquals(i1, items[0]); assertEquals(i2, items[1]); assertEquals(i3, items[2]); assertEquals(i4, items[3]); }
From source file:org.jboss.tools.openshift.test.ui.comparators.ProjectTreeSorterTest.java
License:Open Source License
@Test public void testProjectsWithLabelProvider() { final ViewerComparator comparator = new ProjectViewerComparator(new OpenShiftExplorerLabelProvider()); IProject p1 = mockProject("default", "z"); IProject p2 = mockProject("openshift", "y"); IProject p3 = mockProject("a", "c"); IProject p4 = mockProject("b2", null); IProject p5 = mockProject("d", "b"); IProject[] projects = new IProject[] { p3, p5, p2, p1, p4 }; Arrays.sort(projects, new Comparator<IProject>() { @Override//w w w. j a v a2 s.co m public int compare(IProject o1, IProject o2) { return comparator.compare(null, o1, o2); } }); assertEquals(p1, projects[0]); assertEquals(p2, projects[1]); assertEquals(p5, projects[2]); assertEquals(p4, projects[3]); assertEquals(p3, projects[4]); }
From source file:org.jboss.tools.openshift.test.ui.comparators.ProjectTreeSorterTest.java
License:Open Source License
@Test public void testServices() { ViewerComparator comparator = ProjectViewerComparator.createProjectTreeSorter(); ObservableTreeItem i1 = new ObservableTreeItem(mockService("s1", "z")); ObservableTreeItem i2 = new ObservableTreeItem(mockService("s2", "a")); assertTrue(comparator.compare(null, i1, i2) < 0); assertTrue(comparator.compare(null, i2, i1) > 0); assertEquals(0, comparator.compare(null, i1, i1)); }
From source file:org.jboss.tools.openshift.test.ui.comparators.ProjectTreeSorterTest.java
License:Open Source License
@Test public void testBuildConfigs() { ViewerComparator comparator = ProjectViewerComparator .createProjectTreeSorter(new OpenShiftExplorerLabelProvider()); ObservableTreeItem i1 = new ObservableTreeItem(mockBuildConfig("n", "c1", "z")); ObservableTreeItem i2 = new ObservableTreeItem(mockBuildConfig("n", "c2", "x")); assertTrue(comparator.compare(null, i1, i2) < 0); //compared by source uri! assertTrue(comparator.compare(null, i2, i1) > 0); assertEquals(0, comparator.compare(null, i1, i1)); }
From source file:org.xmind.ui.viewers.CheckListViewer.java
License:Open Source License
/** * @param element// w ww .jav a 2 s. c o m * the element to insert * @return the index where the item should be inserted. */ protected int indexForElement(Object element) { ViewerComparator comparator = getComparator(); if (comparator == null) { return listGetItemCount(); } int count = listGetItemCount(); int min = 0, max = count - 1; while (min <= max) { int mid = (min + max) / 2; Object data = listMap.get(mid); int compare = comparator.compare(this, data, element); if (compare == 0) { // find first item > element while (compare == 0) { ++mid; if (mid >= count) { break; } data = listMap.get(mid); compare = comparator.compare(this, data, element); } return mid; } if (compare < 0) { min = mid + 1; } else { max = mid - 1; } } return min; }
From source file:org.xmind.ui.viewers.MComboViewer.java
License:Open Source License
protected int indexForElement(Object element) { ViewerComparator comparator = getComparator(); if (comparator == null) { return elementList.indexOf(element); }//from ww w .j av a2 s .co m int count = getItemCount(); int min = 0, max = count - 1; while (min <= max) { int mid = (min + max) / 2; Object data = elementList.get(mid); int compare = comparator.compare(this, data, element); if (compare == 0) { // find first item > element while (compare == 0) { ++mid; if (mid >= count) { break; } data = elementList.get(mid); compare = comparator.compare(this, data, element); } return mid; } if (compare < 0) { min = mid + 1; } else { max = mid - 1; } } return min; }