Example #1
0
    public void keyPressed(KeyEvent e) {
      IStructuredSelection s = (IStructuredSelection) getSelection();

      switch (e.keyCode) {
        case SWT.CR:
          if (isHierarchical()) {
            if (s.size() == 1) {
              TagTreeItem selected = (TagTreeItem) s.getFirstElement();
              if (selected.hasChildren()) {
                viewer.setInput(selected);
                refresh();
              }
            }
          }
          break;
        case SWT.BS:
          if (isHierarchical()) {
            TagTreeItem current = (TagTreeItem) viewer.getInput();
            if (current.getParent() != null) {
              viewer.setInput(current.getParent());
              refresh();
            }
          }
          break;
      }
    }
Example #2
0
 private void refreshBreadCrumb() {
   String linkText = "";
   TagTreeItem current = (TagTreeItem) viewer.getInput();
   int parentNum = 0;
   while (current != null) {
     String text = current.getName();
     int dot = text.lastIndexOf('.');
     if (dot > 0 && dot < text.length() - 1) {
       text = text.substring(dot + 1);
     }
     linkText = "<a href=\"" + parentNum + "\">" + text + "</a>" + linkText;
     if (current.getParent() != null && current.getParent() != input.getRoot()) {
       linkText = "." + linkText;
     } else {
       linkText = " " + linkText;
     }
     current = current.getParent();
     parentNum++;
   }
   formText.setText("<form><p>" + linkText + "</p></form>", true, false);
 }
Example #3
0
    public void linkActivated(HyperlinkEvent e) {
      String ref = (String) e.getHref();
      int number = Integer.parseInt(ref);
      if (number == 0) {
        // Clear the selection if root is selected
        if (viewer.getInput() == input.getRoot())
          viewer.setSelection(new StructuredSelection(new Object[0]), true);

        return;
      }
      // get the parent numbered "number"
      TagTreeItem current = (TagTreeItem) viewer.getInput();
      while (current != null && number > 0) {
        current = current.getParent();
        number--;
      }
      if (current == null) {
        viewer.setInput(input.getRoot());
      } else {
        viewer.setInput(current);
      }
      refresh();
    }