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();
         }
       }
     }
   }
 }
Example #2
0
  //	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;
   }
 }
Example #5
0
 /** 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;
   }
 }
Example #6
0
 /** 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);
 }
Example #8
0
  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);
    }
  }
Example #9
0
 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;
 }
Example #10
0
  // 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"});
  }
Example #11
0
 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;
 }
Example #12
0
 /** 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);
     }
   }
 }
Example #15
0
  // 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"});
  }