static TreeItem NextItem(Tree tree, TreeItem item) { if (item == null) return null; if (item.getExpanded()) { return item.getItem(0); } else { TreeItem childItem = item; TreeItem parentItem = childItem.getParentItem(); int index = parentItem == null ? tree.indexOf(childItem) : parentItem.indexOf(childItem); int count = parentItem == null ? tree.getItemCount() : parentItem.getItemCount(); while (true) { if (index + 1 < count) { return parentItem == null ? tree.getItem(index + 1) : parentItem.getItem(index + 1); } else { if (parentItem == null) { return null; } else { childItem = parentItem; parentItem = childItem.getParentItem(); index = parentItem == null ? tree.indexOf(childItem) : parentItem.indexOf(childItem); count = parentItem == null ? tree.getItemCount() : parentItem.getItemCount(); } } } } }
// template<typename T> // class A { // public: // int field1; // int method1(); // }; // class B : public A<int> { // public: // int field2; // int method2(); // }; public void testTemplateInstance_403418() throws Exception { String content = getContentsForTest(1)[0].toString(); IFile file = createFile(getProject(), "class.cpp", content); waitUntilFileIsIndexed(fIndex, file); CEditor editor = openEditor(file); Tree tree; TreeItem item1, item2; editor.selectAndReveal(content.indexOf("A"), 1); openTypeHierarchy(editor); tree = getHierarchyViewer().getTree(); item1 = checkTreeNode(tree, 0, "A"); assertEquals(1, tree.getItemCount()); getHierarchyViewer().expandAll(); item2 = checkTreeNode(item1, 0, "B"); checkMethodTable(new String[] {"field1 : int", "method1() : int"}); assertEquals(1, item1.getItemCount()); assertEquals(0, item2.getItemCount()); editor.selectAndReveal(content.indexOf("B"), 1); openTypeHierarchy(editor); tree = getHierarchyViewer().getTree(); item1 = checkTreeNode(tree, 0, "A"); assertEquals(1, tree.getItemCount()); item2 = checkTreeNode(item1, 0, "B"); assertEquals(1, item1.getItemCount()); assertEquals(0, item2.getItemCount()); checkMethodTable(new String[] {"field2 : int", "method2() : int"}); }
/* * Purpose - Handle events from the Listener interface */ @Override public void handleEvent(Event event) { switch (event.type) { case SWT.Selection: break; case SWT.DefaultSelection: // Double click of an item in a top level list if (event.widget instanceof Table) { // Table selection event assert (event.item instanceof TableItem); TableItem tableItem = (TableItem) event.item; // Get object key from table KeyFieldSet keyFieldSet = getKeyFromTableItem(tableItem); // Have ApplicationController open object applicationController.openObject(keyFieldSet); } else if (event.widget instanceof Tree) { // Tree selection event assert (event.item instanceof TreeItem); TreeItem treeItem = (TreeItem) event.item; // Check if treeItem is a parent item // If so does not contain object data, skip if (treeItem.getItemCount() > 0) return; // Get object key from table KeyFieldSet keyFieldSet = getKeyFromTreeItem(treeItem); // Have ApplicationController open object applicationController.openObject(keyFieldSet); } break; } }
static TreeItem PreviousItem(Tree tree, TreeItem item) { if (item == null) return null; TreeItem childItem = item; TreeItem parentItem = childItem.getParentItem(); int index = parentItem == null ? tree.indexOf(childItem) : parentItem.indexOf(childItem); if (index == 0) { return parentItem; } else { TreeItem nextItem = parentItem == null ? tree.getItem(index - 1) : parentItem.getItem(index - 1); int count = nextItem.getItemCount(); while (count > 0 && nextItem.getExpanded()) { nextItem = nextItem.getItem(count - 1); count = nextItem.getItemCount(); } return nextItem; } }
/** reset weight value of ffitem */ private void setWeightFFT() { FFItem ffItem = null; String value = null; double weight; for (int i = 0; i < treeItem.getItemCount(); i++) { ffItem = (FFItem) treeItem.getItem(i).getData(); value = weightLabel[i].getText(); weight = Double.parseDouble(value); ffItem.weight = weight; } }
/** connet matrix with treeitem reset the texts of the treeitem's children */ private void setWeightTree() { List matrix = new ArrayList(); for (int i = 0; i < matrixText.length; i++) { matrix.add(matrixText[i].getText()); } if (orderMap.containsKey(treeItem)) orderMap.remove(treeItem); orderMap.put(treeItem, matrix); for (int i = 0; i < treeItem.getItemCount(); i++) { String itemName = this.getNameTreeItem(treeItem.getItem(i)); itemName += GUI.PREFIX + matrixText[i].getText() + GUI.SUFFIX; treeItem.getItem(i).setText(itemName); } }
private TreeItem findItem(FileInfo info) { if (info == null) return null; assert info.parent != null; if (info.parent == fRootInfo) { int n = fileTree.getItemCount(); if (info.index >= n) return null; return fileTree.getItem(info.index); } TreeItem i = findItem(info.parent); if (i == null) return null; int n = i.getItemCount(); if (info.index >= n) return null; return i.getItem(info.index); }
public static void disposeItem(TreeItem item) { TreeItem parentItem = item.getParentItem(); if (parentItem == null && item.getParent().getItemCount() == 1) { CTabItem tabItem = (CTabItem) item.getParent().getData("tabItem"); tabItem.dispose(); return; } item.dispose(); if (parentItem != null && parentItem.getItemCount() == 0) { disposeItem(parentItem); } }
private static IPath proposeNewRepositoryPath(TreeItem[] treeItems) { IPath p = null; for (TreeItem ti : treeItems) { String gitDirParentCandidate = ti.getText(1); if (gitDirParentCandidate.equals("")) // $NON-NLS-1$ continue; if (ti.getItemCount() > 0) if (hasRepositoryInOwnDirectory(ti.getItems())) return null; if (hasRepositoryInOwnDirectory(ti)) return null; IPath thisPath = Path.fromOSString(gitDirParentCandidate); if (p == null) p = thisPath; else { int n = p.matchingFirstSegments(thisPath); p = p.removeLastSegments(p.segmentCount() - n); } } return p; }
// template <typename T> class SimpleTemplate { // public: // T field1; // T method1(); // }; public void testTemplatesNoInheritance() throws Exception { String content = getContentsForTest(1)[0].toString(); IFile file = createFile(getProject(), "simpleTemplate.cpp", content); waitUntilFileIsIndexed(fIndex, file); CEditor editor = openEditor(file); Tree tree; TreeItem item1, item2, item3, item4; editor.selectAndReveal(content.indexOf("SimpleTemplate"), 1); openTypeHierarchy(editor); tree = getHierarchyViewer().getTree(); item1 = checkTreeNode(tree, 0, "SimpleTemplate"); assertEquals(1, tree.getItemCount()); assertEquals(0, item1.getItemCount()); checkMethodTable(new String[] {"field1 : T", "method1() : T"}); }
private boolean isValidate(double[] weights) { int col = treeItem.getItemCount(); if (col < 3) { return true; } double total = 0; double CI, RI; for (int m = 0; m < col; m++) { double colTotal = 0; for (int n = 0; n < col; n++) { String mnText = matrixText[n + m * col].getText(); colTotal += Double.parseDouble(mnText) * weights[n]; } total += colTotal / weights[m]; } total /= col; CI = (total - col) / (col - 1); RI = getRI(col); if ((CI / RI) < INCISOR_CR) return true; else return false; }
/** calc weight in way of ahp reset weight labels */ private void calculateAHP() { DecimalFormat format = new DecimalFormat("0.00"); String formatted = ""; int col = treeItem.getItemCount(); double[] colTotal = new double[col]; double[] weightList = new double[col]; double weightTotal = 0; ; for (int m = 0; m < col; m++) { double total = 0; for (int n = 0; n < col; n++) { String mnText = matrixText[m + n * col].getText(); total += Double.parseDouble(mnText); } colTotal[m] = total; } for (int m = 0; m < col - 1; m++) { double weight = 0; for (int n = 0; n < col; n++) { String mnText = matrixText[m * col + n].getText(); double subWeight = Double.parseDouble(mnText); subWeight /= colTotal[n]; weight += subWeight; } weight /= col; formatted = format.format(weight); System.out.println(weight); weightLabel[m].setText(formatted); weightList[m] = Double.parseDouble(formatted); weightTotal += weightList[m]; } formatted = format.format(1 - weightTotal); weightList[col - 1] = Double.parseDouble(formatted); System.out.println("last weight:" + weightList[col - 1]); weightLabel[col - 1].setText(formatted); if (isValidate(weightList)) { judgeLabel.setText("通过"); System.out.println("Pass"); } else judgeLabel.setText("未通过"); }
/* * Purpose - Return KeyFieldSet of selected object. * Return null if nothign selected. */ public KeyFieldSet getSelectedObject() { KeyFieldSet keyFieldSet = null; assert (listView != null); // Check focus if (listView.isFocus()) { // Check if table or tree is present Table table = listView.getTable(); if (table != null) { // Get selected TableItem TableItem[] tableItemAry = table.getSelection(); TableItem tableItem = tableItemAry[0]; if (tableItem != null) { // Get object key from TableItem keyFieldSet = getKeyFromTableItem(tableItem); } } else { Tree tree = listView.getTree(); assert (tree != null); // Get selected TreeItem TreeItem[] treeItemAry = tree.getSelection(); TreeItem treeItem = treeItemAry[0]; if (treeItem != null) { // Check if treeItem is a parent item // If so does not contain object data, skip if (treeItem.getItemCount() > 0) return null; // Get object key from table keyFieldSet = getKeyFromTreeItem(treeItem); } } } return keyFieldSet; }
public void dragStart(DragSourceEvent event) { TreeItem[] items = tree.getSelection(); if (items.length == 0) { event.doit = false; } else { boolean isHasChildren = false; for (TreeItem treeItem : items) { if (treeItem.getItemCount() > 0) { isHasChildren = true; break; } } if (isHasChildren) { event.doit = false; } else { LocalDraggedData draggedData = new LocalDraggedData(); for (TreeItem treeItem : items) { draggedData.add(treeItem.getData()); } LocalDataTransfer.getInstance().setLocalDraggedData(draggedData); } } }
// class ViaTypedef1 { // public: // int field1; // int method1(); // }; // typedef ViaTypedef1 ViaTypedef2; // // class ViaTypedef3 : public ViaTypedef2 { // public: // int field3; // int method3(); // }; // class ViaTypedef4 : public ViaTypedef1 { // public: // int field4; // int method4(); // }; public void testViaTypedefInheritanceFromMember() throws Exception { String content = getContentsForTest(1)[0].toString(); IFile file = createFile(getProject(), "viaTypedefmem.cpp", content); waitUntilFileIsIndexed(fIndex, file); CEditor editor = openEditor(file); Tree tree; TreeItem item1, item2, item3, item4; editor.selectAndReveal(content.indexOf("field1"), 1); openTypeHierarchy(editor); tree = getHierarchyViewer().getTree(); item1 = checkTreeNode(tree, 0, "ViaTypedef1"); assertEquals(1, tree.getItemCount()); getHierarchyViewer().expandAll(); item2 = checkTreeNode(item1, 0, "ViaTypedef2"); item4 = checkTreeNode(item1, 1, "ViaTypedef4"); assertEquals(2, item1.getItemCount()); item3 = checkTreeNode(item2, 0, "ViaTypedef3"); assertEquals(1, item2.getItemCount()); assertEquals(0, item3.getItemCount()); assertEquals(0, item4.getItemCount()); checkMethodTable(new String[] {"field1 : int", "method1() : int"}); editor.selectAndReveal(content.indexOf("ViaTypedef2"), 1); openTypeHierarchy(editor); tree = getHierarchyViewer().getTree(); item1 = checkTreeNode(tree, 0, "ViaTypedef1"); assertEquals(1, tree.getItemCount()); item2 = checkTreeNode(item1, 0, "ViaTypedef2"); assertEquals(1, item1.getItemCount()); item3 = checkTreeNode(item2, 0, "ViaTypedef3"); assertEquals(1, item2.getItemCount()); assertEquals(0, item3.getItemCount()); checkMethodTable(new String[] {}); editor.selectAndReveal(content.indexOf("field3"), 1); openTypeHierarchy(editor); tree = getHierarchyViewer().getTree(); item1 = checkTreeNode(tree, 0, "ViaTypedef1"); assertEquals(1, tree.getItemCount()); item2 = checkTreeNode(item1, 0, "ViaTypedef2"); assertEquals(1, item1.getItemCount()); item3 = checkTreeNode(item2, 0, "ViaTypedef3"); assertEquals(1, item2.getItemCount()); assertEquals(0, item3.getItemCount()); checkMethodTable(new String[] {"field3 : int", "method3() : int"}); editor.selectAndReveal(content.indexOf("method4"), 1); openTypeHierarchy(editor); tree = getHierarchyViewer().getTree(); item1 = checkTreeNode(tree, 0, "ViaTypedef1"); assertEquals(1, tree.getItemCount()); item4 = checkTreeNode(item1, 0, "ViaTypedef4"); assertEquals(1, item1.getItemCount()); assertEquals(0, item4.getItemCount()); checkMethodTable(new String[] {"field4 : int", "method4() : int"}); }