Example #1
0
 private static org.eclipse.swt.widgets.TreeItem findTreeItem(
     ReferencedComposite referencedComposite, int treeIndex, int treeItemIndex) {
   Tree tree = new DefaultTree(referencedComposite, treeIndex);
   new WaitUntil(new TreeHasChildren(tree));
   logger.debug("Searching for tree item with index: " + treeIndex);
   List<TreeItem> items = tree.getItems();
   if (items.size() < treeItemIndex + 1) {
     SWTLayerException exception = new SWTLayerException("No matching tree item found");
     exception.addMessageDetail("Tree Index: " + treeIndex);
     exception.addMessageDetail("Tree Item Index: " + treeItemIndex);
     exception.addMessageDetail("Tree has these " + items.size() + " Tree Items:");
     for (TreeItem treeItem : items) {
       exception.addMessageDetail("  " + treeItem.getText());
     }
     throw exception;
   } else {
     return tree.getItems().get(treeItemIndex).getSWTWidget();
   }
 }
Example #2
0
 private static org.eclipse.swt.widgets.TreeItem findTreeItem(
     ReferencedComposite referencedComposite, int treeIndex, String... treeItemPath) {
   org.eclipse.swt.widgets.TreeItem result = null;
   Tree tree = new DefaultTree(referencedComposite, treeIndex);
   new WaitUntil(new TreeHasChildren(tree));
   List<TreeItem> items = tree.getItems();
   int index = 0;
   while (index < treeItemPath.length) {
     String pathItem = treeItemPath[index];
     logger.debug("Searching for tree item with label: " + pathItem);
     TreeItem tiItem = null;
     boolean isFound = false;
     Iterator<TreeItem> itTreeItem = items.iterator();
     while (itTreeItem.hasNext() && (!isFound)) {
       tiItem = itTreeItem.next();
       if (tiItem.getText().equals(pathItem)) {
         isFound = true;
       }
     }
     if (isFound) {
       // It's not last item of Tree Item Path
       if (index < (treeItemPath.length - 1)) {
         new WaitUntil(new TreeItemHasMinChildren(tiItem, 1), TimePeriod.NORMAL, false);
         items = tiItem.getItems();
       } else {
         result = tiItem.getSWTWidget();
       }
     } else {
       SWTLayerException exception = new SWTLayerException("No matching tree item found");
       exception.addMessageDetail("Tree Index: " + treeIndex);
       StringBuffer sbPath = new StringBuffer("");
       for (String treeItem : treeItemPath) {
         if (sbPath.length() > 0) {
           sbPath.append(" > ");
         }
         sbPath.append(treeItem);
       }
       exception.addMessageDetail("Tree Item Path: " + sbPath.toString());
       exception.addMessageDetail("Unalbe to find path item with text: " + pathItem);
       exception.addMessageDetail(
           "These Tree Items have been found at level where path item "
               + pathItem
               + " was expected:");
       for (TreeItem treeItem : items) {
         exception.addMessageDetail("  " + treeItem.getText());
       }
       throw exception;
     }
     index++;
   }
   return result;
 }