Пример #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;
      }
    }
Пример #2
0
 public Color getForeground(Object element) {
   if (element instanceof TagTreeItem) {
     TagTreeItem tti = (TagTreeItem) element;
     if (tti.hasChildren()) {
       return Display.getCurrent().getSystemColor(SWT.COLOR_DARK_CYAN);
     }
   }
   return null;
 }
Пример #3
0
 public void mouseDoubleClick(MouseEvent e) {
   if (e.button == 1) {
     CloudItem item = viewer.getCloud().findItemAt(e.x, e.y);
     TagTreeItem treeItem = (TagTreeItem) item.getData();
     if (treeItem.hasChildren()) {
       viewer.setInput(treeItem);
       refresh();
     }
   }
 }
Пример #4
0
    public String getText(Object element) {
      String text = "";
      if (element instanceof TagTreeItem) {
        TagTreeItem tti = (TagTreeItem) element;
        text = tti.getName();
        if (isHierarchical()) {
          int dot = text.lastIndexOf('.');
          if (dot > 0 && dot < text.length() - 1) {
            text = text.substring(dot + 1);
          }
        }

        text += "(" + tti.getWaypointCount() + ")";

        if (tti.hasChildren()) {
          text += "+";
        }
      }
      return text;
    }
Пример #5
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);
 }
Пример #6
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();
    }