TreeItem getItemForDifference(TreeDifference difference) {
   for (int i = difference.getPath().getSegmentCount() - 1; i >= 0; i--) {
     Object segment = difference.getPath().getSegment(i);
     TreeItem item = (TreeItem) findItem(ComparableProvider.getComparableTreeObject(segment));
     // if item is null, check for a matching difference with
     // element type of EmptyElement
     if (item == null) {
       if (difference.getMatchingDifference().getElement() instanceof EmptyElement) {
         // if not found then locate the item for the empty element
         item = (TreeItem) findItem(difference.getMatchingDifference().getElement());
       }
     }
     if (item != null && !item.isDisposed()) {
       TreeItem[] topItems = getTree().getItems();
       for (TreeItem top : topItems) {
         if (top == item) {
           return item;
         }
       }
       // else check for expanded state
       if (item.getParentItem().getExpanded() && !item.getBounds().isEmpty()) {
         return item;
       }
     }
   }
   return null;
 }
 /**
  * Clear all sub items.
  *
  * @param item The item root.
  */
 public void clear(TreeItem item) {
   item.setData(null);
   for (final TreeItem current : item.getItems()) {
     clear(current);
   }
   item.dispose();
 }
  private void createWidgets() {
    composite.setLayout(GridLayoutFactory.fillDefaults().create());

    tree = new Tree(composite, SWT.NONE);
    applySmallSize(tree);
    tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    composite.layout();

    TreeItem item = new TreeItem(tree, SWT.NONE);
    item.setText("Special street magic");
    treeViewer = new TreeViewer(tree);
    treeViewer.setLabelProvider(new FileLabelProvider());
    treeViewer.setContentProvider(new FileContentProvider());
    treeViewer.addFilter(
        new ViewerFilter() {

          @Override
          public boolean select(Viewer viewer, Object parentElement, Object element) {
            File file = (File) element;
            return !isBogusFile(file.getName());
          }
        });
    treeViewer.addPostSelectionChangedListener(
        new ISelectionChangedListener() {
          public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            File file = (File) selection.getFirstElement();
            if (file != null) if (!file.isDirectory()) callback.openFile(file);
          }
        });
  }
  /*
   * Sets up in the GUI the subtree that stems from a block index
   */
  private void setupBlockTree(
      TreeItem topLevel,
      Map<Integer, Map<Integer, List<TwoThreadInfo>>> warps,
      int block,
      String lowLevelLabel,
      IProject project) {
    final TreeItem blockTree = new TreeItem(topLevel, SWT.NONE);
    blockTree.setText(Messages.BLOCK + block);

    // sort the warps, as a map is not guaranteed to be sorted
    final Set<Integer> keys = warps.keySet();
    final int[] keysArray = new int[keys.size()];
    final Iterator<Integer> iter = keys.iterator();
    int j;
    for (int i = 0; i < keysArray.length; i++) {
      j = iter.next();
      keysArray[i] = j;
    }
    Arrays.sort(keysArray);

    // setup the each warp
    for (final int warp : keysArray) {
      setupWarpTree(blockTree, warps.get(warp), warp, lowLevelLabel, project);
    }
  }
Example #5
0
  // --------------------------------------------------------------------------------
  private void drawItem(String parentFieldName, TreeItem parentItem, List data, boolean expand) {
    for (int i = 0; i < data.size(); ++i) {
      TreeItem newItem = new TreeItem(parentItem, SWT.NONE);
      Object value = data.get(i);
      newItem.setText(1, getClassName(value));

      String fieldName = parentFieldName + "." + i;
      if (fieldName.startsWith(".")) {
        fieldName = fieldName.substring(1);
      }
      newItem.setData("fieldName", fieldName);
      newItem.setData("value", value);
      fieldNameTreeItemMap.put(fieldName, newItem);

      if (value instanceof Map) {
        newItem.setText("[" + i + "]");
        newItem.setImage(mapImage);
        drawItem(fieldName, newItem, (Map) value, expand);
      } else if (value instanceof List) {
        newItem.setText("[" + i + "]");
        newItem.setImage(listImage);
        drawItem(fieldName, newItem, (List) value, expand);
      } else {
        setItemInfo(newItem, "[" + i + "]", value);
      }

      if (expand) {
        parentItem.setExpanded(expand);
        newItem.setExpanded(expand);
      }
    }
  }
Example #6
0
  /**
   * Get the body of an ApexLog. If that fails, get the toString of an ApexLog.
   *
   * @param selectedTreeItem
   * @param logId
   * @return A string representation of an ApexLog
   */
  public String tryToGetApexLog(TreeItem selectedTreeItem, String logId) {
    if (Utils.isEmpty(forceProject) || Utils.isEmpty(selectedTreeItem) || Utils.isEmpty(logId))
      return null;

    // Do we already have the log body?
    String apexLogBody = (String) selectedTreeItem.getData(TREEDATA_APEX_LOG_BODY);
    if (Utils.isNotEmpty(apexLogBody)) {
      return apexLogBody;
    }

    // Try to get the log body
    apexLogBody = getApexLogBody(forceProject, logId);
    if (Utils.isNotEmpty(apexLogBody)) {
      // Save it for future uses
      selectedTreeItem.setData(TREEDATA_APEX_LOG_BODY, apexLogBody);
      return apexLogBody;
    }

    // There is no ApexLog body, so try to retrieve a saved ApexLog
    ApexLog apexLog = (ApexLog) selectedTreeItem.getData(TREEDATA_APEX_LOG);
    if (Utils.isNotEmpty(apexLog)) {
      return apexLog.toString();
    }

    // Try to get the ApexLog object
    apexLog = getApexLog(forceProject, logId);
    selectedTreeItem.setData(TREEDATA_APEX_LOG, apexLog);
    return (Utils.isNotEmpty(apexLog) ? apexLog.toString() : null);
  }
Example #7
0
 @Override
 public void start(String startMessage) {
   if (ideaCommentTree == null) return;
   TreeItem item = new TreeItem(ideaCommentTree, SWT.NONE);
   item.setText(startMessage);
   treeItems.push(item);
 }
Example #8
0
 public Object getSelectedFromMainTree() {
   TreeItem item = getSelectedItemFromMainTree();
   if (item == null) {
     return null;
   }
   return item.getData();
 }
Example #9
0
  private void reanalyzeStackFileInfo() {
    TreeItem item = getSelectedRootItemFromMainTree();
    if (item == null) {
      return;
    }

    StackFileInfo stackFileInfo = (StackFileInfo) item.getData();
    if (stackFileInfo == null) {
      return;
    }

    try {
      ParserConfigReader reader =
          new ParserConfigReader(stackFileInfo.getParserConfig().getConfigFilename());
      ParserConfig config = reader.read();

      StackParser.removeAllAnalyzedFile(stackFileInfo);

      processStackFile(stackFileInfo, config, null, false, true);
    } catch (RuntimeException ex) {
      closeStackFileInfo();
      throw ex;
    }
    item.removeAll();
    item.setText(stackFileInfo.toTreeInfo());
    addMainTreeSubItem(item, stackFileInfo.getStackAnalyzedInfoList());
    item.setExpanded(true);

    clearTable();
  }
 private void addRow(
     TreeItem item,
     List<String[]> rowData,
     IXViewerLabelProvider labelProv,
     List<XViewerColumn> showCols,
     int level)
     throws XViewerException {
   List<String> cellData = new ArrayList<String>(showCols.size());
   boolean firstCell = true;
   for (XViewerColumn xCol : showCols) {
     StringBuffer str = new StringBuffer();
     if (firstCell) {
       for (int y = 1; y < level; y++) {
         str.append("__INSERT_TAB_HERE__"); // $NON-NLS-1$
       }
       firstCell = false;
     }
     str.append(labelProv.getColumnText(item.getData(), xColToColumnIndex.get(xCol)));
     String html = HtmlUtil.textToHtml(str.toString());
     html =
         html.replaceAll(
             "__INSERT_TAB_HERE__", "&nbsp;&nbsp;&nbsp;&nbsp;"); // $NON-NLS-1$ //$NON-NLS-2$
     cellData.add(html);
   }
   rowData.add(cellData.toArray(new String[cellData.size()]));
   if (item.getExpanded()) {
     for (TreeItem i : item.getItems()) {
       addRow(i, rowData, labelProv, showCols, level + 1);
     }
   }
 }
Example #11
0
 private void fillTree(Composite parent) {
   final HashMap<String, ExampleTab> exampleMap = new HashMap<String, ExampleTab>();
   final BrowserNavigation navigation = RWT.getClient().getService(BrowserNavigation.class);
   for (ExampleTab tab : createExampleTabs()) {
     TreeItem item = new TreeItem(tree, SWT.NONE);
     item.setText(tab.getName());
     item.setData(tab);
     tab.setData(item);
     exampleMap.put(tab.getId(), tab);
   }
   tree.addListener(
       SWT.Selection,
       new Listener() {
         public void handleEvent(Event event) {
           ExampleTab tab = (ExampleTab) event.item.getData();
           selectTab(tab);
           navigation.pushState(tab.getId(), null);
         }
       });
   navigation.addBrowserNavigationListener(
       new BrowserNavigationListener() {
         public void navigated(BrowserNavigationEvent event) {
           ExampleTab tab = exampleMap.get(event.getState());
           if (tab != null) {
             tree.select((TreeItem) tab.getData());
             tree.showSelection();
             selectTab(tab);
           }
         }
       });
   selectTab((ExampleTab) tree.getItem(0).getData());
 }
Example #12
0
 /**
  * 刷新节点(供外部调用)
  *
  * @param explorerTreeView
  * @param treeView
  */
 public static void refreshNode(LFWExplorerTreeView explorerTreeView, Tree tree) {
   TreeItem[] tis = tree.getSelection();
   if (tis == null || tis.length == 0) return;
   TreeItem ti = tis[0];
   ti.removeAll();
   explorerTreeView.refreshDirtoryTreeItem();
 }
Example #13
0
  @Override
  public boolean handleAltLeftClick(TreeColumn treeColumn, TreeItem treeItem) {
    try {
      if (treeItem.getData() instanceof Artifact) {
        Artifact useArt = (Artifact) treeItem.getData();
        if (useArt.isOfType(AtsArtifactTypes.Action)) {
          if (ActionManager.getTeams(useArt).size() == 1) {
            useArt = ActionManager.getFirstTeam(useArt);
          } else {
            return false;
          }
        }
        if (!(useArt instanceof AbstractWorkflowArtifact)) {
          return false;
        }
        AbstractWorkflowArtifact awa = (AbstractWorkflowArtifact) useArt;
        boolean modified = promptChangeAssignees(Arrays.asList(awa), isPersistViewer());
        XViewer xViewer = ((XViewerColumn) treeColumn.getData()).getTreeViewer();
        if (modified && isPersistViewer(xViewer)) {
          AtsChangeSet.execute("persist assignees via alt-left-click", awa);
        }
        if (modified) {
          xViewer.update(awa, null);
          return true;
        }
      }
    } catch (OseeCoreException ex) {
      OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, ex);
    }

    return false;
  }
  /*
   * 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;
    }
  }
 private static TreeItem retrieveTreeItem(final TreeItem[] items, IContextParameter param) {
   if (items == null || param == null) {
     return null;
   }
   for (TreeItem item : items) {
     final Object data = item.getData();
     if (data != null) {
       if (data instanceof ContextVariableTabParentModel) {
         ContextVariableTabParentModel parent = (ContextVariableTabParentModel) data;
         if (parent.getContextParameter() != null
             && param.getName().equals(parent.getContextParameter().getName())) {
           return item;
         }
       } else if (data instanceof ContextVariableTabChildModel) {
         ContextVariableTabChildModel son = (ContextVariableTabChildModel) data;
         if (son.getContextParameter() != null
             && param.getName().equals(son.getContextParameter().getName())) {
           return item;
         }
       }
     }
     // search child item
     TreeItem childItem = retrieveTreeItem(item.getItems(), param);
     if (childItem != null) {
       return childItem;
     }
   }
   return null;
 }
Example #16
0
 /**
  * Update all the children TreeItems of the given parent to be the same check as the parent.
  *
  * @param parent the parent
  */
 protected void updateChildCheckboxes(TreeItem parent) {
   for (TreeItem child : parent.getItems()) {
     child.setChecked(parent.getChecked());
     child.setGrayed(false);
     updateChildCheckboxes(child);
   }
 }
Example #17
0
  @Override
  public void setSources(String... sources) {
    TreeItem[] items = tree.getSelection();
    if (items.length < 1) return;
    TreeItem item = items[0];
    if (lastSelectedItem == item) return;

    if (lastSelectedItem != null && !lastSelectedItem.isDisposed()) {
      lastSelectedItem.setBackground(new Color(getDisplay(), 255, 255, 255));
      lastSelectedItem.setExpanded(false);
      lastSelectedItem.removeAll();
    }
    lastSelectedItem = item;
    lastSelectedItem.setBackground(new Color(getDisplay(), 190, 190, 255));

    if (sources == null || sources.length < 1) return;

    for (String source : sources) {
      item = new TreeItem(lastSelectedItem, SWT.NONE);
      item.setFont(UIDATA.FONT_9);
      int idx = source.indexOf('.');
      if (idx > -1) source = source.substring(idx + 1);
      item.setText(source);
    }
    if (!lastSelectedItem.getExpanded()) lastSelectedItem.setExpanded(true);
  }
  /** Create contents of the dialog. */
  private void createContents() {
    this.shell = new Shell(this.getParent(), SWT.SHELL_TRIM | SWT.PRIMARY_MODAL);
    this.shell.setSize(300, 275);
    this.shell.setText("Columns");
    this.shell.setLayout(new FillLayout(SWT.HORIZONTAL));

    // ヘッダー
    String[] header = this.dialog.getTableHeader();
    // カラム設定を取得
    boolean[] visibles =
        AppConfig.get().getVisibleColumnMap().get(this.dialog.getClass().getName());
    if ((visibles == null) || (visibles.length != header.length)) {
      visibles = new boolean[header.length];
      Arrays.fill(visibles, true);
      AppConfig.get().getVisibleColumnMap().put(this.dialog.getClass().getName(), visibles);
    }

    Tree tree = new Tree(this.shell, SWT.BORDER | SWT.CHECK);

    for (int i = 1; i < header.length; i++) {
      TreeItem column = new TreeItem(tree, SWT.CHECK);
      column.setText(header[i]);
      column.setChecked(visibles[i]);
      column.setExpanded(true);
    }
    this.shell.addShellListener(new TreeShellAdapter(tree, visibles, this.dialog));
  }
Example #19
0
  /**
   * Update the User Debug Log tab with a filtered log.
   *
   * @param selectedTreeItem
   * @param log
   */
  public void showUserLog(TreeItem selectedTreeItem, String log) {
    if (Utils.isEmpty(selectedTreeItem) || Utils.isEmpty(runTestComposite)) {
      return;
    }

    // Do we already have a filtered log?
    String userDebugLog = (String) selectedTreeItem.getData(TREEDATA_APEX_LOG_USER_DEBUG);
    if (Utils.isNotEmpty(userDebugLog)) {
      runTestComposite.setUserLogsTextArea(userDebugLog);
      return;
    }

    // Filter the given log with only DEBUG statements
    if (Utils.isNotEmpty(log) && log.contains("DEBUG")) {
      userDebugLog = "";
      String[] newDateWithSperators = log.split("\\|");
      for (int index = 0; index < newDateWithSperators.length; index++) {
        String newDateWithSperator = newDateWithSperators[index];
        if (newDateWithSperator.contains("USER_DEBUG")) {
          String debugData = newDateWithSperators[index + 3];
          debugData = debugData.substring(0, debugData.lastIndexOf('\n'));
          userDebugLog += "\n" + debugData + "\n";
        }
      }
      // Save it for future uses
      selectedTreeItem.setData(TREEDATA_APEX_LOG_USER_DEBUG, userDebugLog);
      // Update the tab
      runTestComposite.setUserLogsTextArea(userDebugLog);
    }
  }
  public void testFormalizedComponentNames() {
    Component_c component =
        Component_c.ComponentInstance(
            modelRoot,
            new ClassQueryInterface_c() {

              public boolean evaluate(Object candidate) {
                return ((Component_c) candidate).getName().equals(testDomain.getName());
              }
            });
    assertNotNull(component);
    if (!component.Isformal()) formalizeComponent(component);
    TreeItem item = ExplorerUtil.findItem(component);
    TreeItem fileFacade = item.getItem(0);
    assertTrue(
        "The file element in Model Explorer was not named correctly for a formal component.",
        fileFacade.getText().equals(testDomain.getName() + ": Component Diagram"));
    // open the component diagram
    CanvasUtilities.openCanvasEditor(component);
    GraphicalEditor ce =
        ((ModelEditor)
                PlatformUI.getWorkbench()
                    .getActiveWorkbenchWindow()
                    .getActivePage()
                    .getActiveEditor())
            .getGraphicalEditor();
    assertTrue(
        "The opened diagram does not represent the formal contents of the component.",
        ce.getModel().getRepresents() instanceof Domain_c);
    assertTrue(
        "The editor title did not contain component diagram.",
        ((IEditorPart) ce).getTitle().indexOf("Component Diagram") != -1);
  }
Example #21
0
  private static final TreeItem findTreeItem(
      TreeItem grandParent, TreeItem parent, String parentName, String name) {
    if (Const.isEmpty(parentName)) {
      if (parent.getText().equalsIgnoreCase(name)) {
        return parent;
      }
    } else {
      if (grandParent != null && grandParent.getText().equalsIgnoreCase("OTHER")) {
        System.out.println("Other");
      }
      if (grandParent != null
          && grandParent.getText().equalsIgnoreCase(parentName)
          && parent.getText().equalsIgnoreCase(name)) {
        return parent;
      }
    }

    TreeItem ti[] = parent.getItems();
    for (int i = 0; i < ti.length; i++) {
      TreeItem child = findTreeItem(parent, ti[i], parentName, name);
      if (child != null) {
        return child;
      }
    }
    return null;
  }
 private void expandSelect() {
   if (fPathToSelect == null) return;
   if (fPathToSelect.isEmpty()) {
     fPathToSelect = null;
     fFileToSelect = null;
     return;
   }
   do {
     String name = fPathToSelect.getFirst();
     if (name.length() == 0) {
       fPathToSelect.removeFirst();
       continue;
     }
     FileInfo info = findFileInfo(fLastSelectedFileInfo, name);
     if (info == null) break;
     TreeItem item = findItem(info);
     if (item == null) break;
     fPathToSelect.removeFirst();
     if (fPathToSelect.isEmpty()) {
       fileTree.setSelection(item);
       fileTree.showItem(item);
     } else {
       item.setExpanded(true);
       fileTree.showItem(item);
     }
     fLastSelectedFileInfo = info;
   } while (!fPathToSelect.isEmpty());
 }
Example #23
0
  // --------------------------------------------------------------------------------
  private void onTreeItemSelect() {
    TreeItem[] selectedItems = tree.getSelection();
    if (selectedItems.length != 1) {
      return;
    }
    TreeItem selectedItem = selectedItems[0];

    if (selectedItem == tree.getItem(0)) // root
    {
      shell
          .getDisplay()
          .asyncExec(
              new Runnable() {
                public void run() { // *****
                  debug(Thread.currentThread());
                  nameText.setText("");
                  valueText.setText("");
                  typeCombo.select(0);
                  updateButton.setEnabled(false);
                }
              }); // *******
      return;
    }

    String fieldName = (String) selectedItem.getData("fieldName");

    executeAction("mj edit field " + fieldName);
  }
 /**
  * Get the data that are currently displayed in the editor.<br>
  *
  * @param treeViewer TreeViewer
  * @return Editor display data
  */
 private List<JbmEditorMigrationRow> createEditorViewData(TreeViewer treeViewer) {
   List<JbmEditorMigrationRow> list = new ArrayList<JbmEditorMigrationRow>();
   for (TreeItem item : treeViewer.getTree().getItems()) {
     list.add((JbmEditorMigrationRow) item.getData());
   }
   return list;
 }
  private void loaduserInterfaces() {
    DOMUtil util = null;
    File userInterfacesFile = null;
    File dir = null;
    Document interfacesDoc = null;
    LinkedList children = null;
    TreeItem item = null;

    util = new DOMUtil();

    dir = new File(System.getProperty("user.home"), FILE_TOOLBOXUSER_CONFIGURATIONS_DIRECTORY);
    userInterfacesFile = new File(dir, PATH_INTERFACES_DEFINITION_XML);
    try {
      interfacesDoc = util.readerToDocument(new FileReader(userInterfacesFile));

      children = DOMUtil.getChildrenByTagName(interfacesDoc.getDocumentElement(), "interface");

      for (int i = 0; i < children.size(); i++) {
        final String itemtext = this.createItemName((Element) children.get(i));

        item = new TreeItem(this.interfaceTree, SWT.NULL);

        item.setText(itemtext);
      }

    } catch (final Exception e) {

    }
  }
 /** Populate tree. */
 protected void populateTree() {
   if (getTreeViewer() == null
       || getTreeViewer().getTree() == null
       || getViewInfo() == null
       || getDiagram() == null) {
     return;
   }
   Diagram diagram = getDiagram();
   Collection<Integer> filters = MDTUtil.getAllViewsToFilterFromDiagram(diagram);
   for (TreeItem item : getTreeViewer().getTree().getItems()) {
     Object data = item.getData();
     if (data instanceof ViewInfo) {
       ViewInfo info = (ViewInfo) data;
       if (filters.contains(info.getVisualID())) {
         item.setChecked(false);
       } else {
         item.setChecked(true);
       }
       if (((ViewInfo) data).isSelectable() == false) {
         item.setForeground(ColorConstants.gray);
       }
     }
     setChecked(item, filters);
   }
 }
  private TreeItem findElement(TreeItem[] items, TreeItem[] toBeSkipped, boolean allowToGoUp) {
    if (fStringMatcher == null) return items.length > 0 ? items[0] : null;

    ILabelProvider labelProvider = (ILabelProvider) getfTreeViewer().getLabelProvider();

    // First search at same level

    /*for (int i= 0; i < items.length; i++) {
    	final TreeItem item= items[i];
    	IJavaElement element= (IJavaElement)item.getData();
    	if (element != null) {
    		String label= labelProvider.getText(element);
    		if (fStringMatcher.match(label))
    			return item;
    	}
    }*/

    // Go one level down for each item
    for (int i = 0; i < items.length; i++) {
      final TreeItem item = items[i];
      TreeItem foundItem = findElement(selectItems(item.getItems(), toBeSkipped), null, false);
      if (foundItem != null) return foundItem;
    }

    if (!allowToGoUp || items.length == 0) return null;

    // Go one level up (parent is the same for all items)
    TreeItem parentItem = items[0].getParentItem();
    if (parentItem != null) return findElement(new TreeItem[] {parentItem}, items, true);

    // Check root elements
    return findElement(selectItems(items[0].getParent().getItems(), items), null, false);
  }
Example #28
0
  // // testMethods2.cpp
  // #include "testMethods.h"
  // void MyClass::method2() {
  //    method3();
  // }
  // void MyClass::method1() {
  //   method3();
  // }
  public void testMultipleImplsForMethod() throws Exception {
    CharSequence[] content = getContentsForTest(3);
    String header = content[0].toString();
    String source1 = content[1].toString();
    String source2 = content[2].toString();
    IFile headerFile = createFile(getProject(), "testMethods.h", header);
    IFile sourceFile1 = createFile(getProject(), "testMethods1.cpp", source1);
    IFile sourceFile2 = createFile(getProject(), "testMethods2.cpp", source2);

    waitUntilFileIsIndexed(fIndex, sourceFile2);

    CEditor editor = openEditor(sourceFile1);
    editor.selectAndReveal(source1.indexOf("method3"), 2);
    openCallHierarchy(editor);
    TreeViewer tv = getCHTreeViewer();

    TreeItem item = checkTreeNode(tv.getTree(), 0, "MyClass::method3() : void");
    TreeItem item0 = checkTreeNode(tv.getTree(), 0, 0, "MyClass::method1() : void");
    TreeItem item1 = checkTreeNode(tv.getTree(), 0, 1, "MyClass::method2() : void");
    checkTreeNode(tv.getTree(), 0, 2, null);
    item = null;

    // method 1
    tv.setExpandedState(item0.getData(), true);
    checkTreeNode(item0, 0, null);

    // method 2
    tv.setExpandedState(item1.getData(), true);
    TreeItem nextItem = checkTreeNode(item1, 0, "MyClass::method1() : void");
    checkTreeNode(item1, 1, null);
    item1 = nextItem;
    tv.setExpandedState(item1.getData(), true);
    checkTreeNode(item1, 0, null);
  }
Example #29
0
  @Override
  public boolean handleAltLeftClick(TreeColumn treeColumn, TreeItem treeItem) {
    try {
      if (treeItem.getData() instanceof Artifact) {
        Artifact useArt = (Artifact) treeItem.getData();
        if (!(useArt.isOfType(AtsArtifactTypes.AbstractWorkflowArtifact))) {
          return false;
        }

        boolean modified = promptChangeSprint(useArt, isPersistViewer());

        XViewer xViewer = ((XViewerColumn) treeColumn.getData()).getTreeViewer();
        if (modified && isPersistViewer(xViewer)) {
          useArt.persist("persist sprints via alt-left-click");
        }
        if (modified) {
          xViewer.update(useArt, null);
          return true;
        }
      }
    } catch (OseeCoreException ex) {
      OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, ex);
    }

    return false;
  }
  /* (non-Javadoc)
   * @see org.eclipse.jface.viewers.CheckboxTreeViewer#setAllChecked(boolean)
   */
  public void setAllChecked(boolean state) {
    for (TreeItem item : super.getTree().getItems()) item.setChecked(state);
    if (state) {

      // Find all visible children, add only the visible leaf nodes to the check state cache
      Object[] visible = getFilteredChildren(getRoot());

      ITreeContentProvider contentProvider = null;
      if (getContentProvider() instanceof ITreeContentProvider) {
        contentProvider = (ITreeContentProvider) getContentProvider();
      }

      if (contentProvider == null) {
        for (int i = 0; i < visible.length; i++) {
          checkState.add(visible[i]);
        }
      } else {
        Set<Object> toCheck = new HashSet<Object>();
        for (int i = 0; i < visible.length; i++) {
          addFilteredChildren(visible[i], contentProvider, toCheck);
        }
        checkState.addAll(toCheck);
      }
    } else {
      // Remove any item in the check state that is visible (passes the filters)
      if (checkState != null) {
        Object[] visible = filter(checkState.toArray());
        for (int i = 0; i < visible.length; i++) {
          checkState.remove(visible[i]);
        }
      }
    }
  }