public void mouseDown()

in uimaj-ep-cev/src/main/java/org/apache/uima/cev/views/CEVAnnotationTreeViewPage.java [399:475]


  public void mouseDown(final MouseEvent mouseEvent) {
    if (mouseEvent.button == 3) {
      Display display = Display.getCurrent();
      Menu menu = new Menu(display.getActiveShell(), SWT.POP_UP);
      MenuItem itemFgC = new MenuItem(menu, SWT.PUSH);

      itemFgC.setText("Change Font Color");
      itemFgC.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
          TreeItem item = treeView.getTree().getItem(new Point(mouseEvent.x, mouseEvent.y));

          if (item != null && item.getData() instanceof ICEVTreeNode) {
            Type type = ((ICEVTreeNode) item.getData()).getType();
            ColorDialog cd = new ColorDialog(Display.getCurrent().getActiveShell());
            cd.setRGB(casData.getForegroundColor(type).getRGB());

            RGB rgb = cd.open();

            if (rgb != null)
              casData.setForegroundColor(type, new Color(Display.getCurrent(), rgb));
          }
        }
      });

      MenuItem itemBgC = new MenuItem(menu, SWT.PUSH);
      itemBgC.setText("Change Background Color");
      itemBgC.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
          TreeItem item = treeView.getTree().getItem(new Point(mouseEvent.x, mouseEvent.y));

          if (item != null && item.getData() instanceof ICEVTreeNode) {
            Type type = ((ICEVTreeNode) item.getData()).getType();

            ColorDialog cd = new ColorDialog(Display.getCurrent().getActiveShell());
            cd.setRGB(casData.getBackgroundColor(type).getRGB());

            RGB rgb = cd.open();

            if (rgb != null)
              casData.setBackgroundColor(type, new Color(Display.getCurrent(), rgb));
          }
        }
      });

      TreeItem item = treeView.getTree().getItem(new Point(mouseEvent.x, mouseEvent.y));
      if (item != null && item.getData() instanceof CEVFeatureTreeNode) {
        itemBgC.setEnabled(false);
        itemFgC.setEnabled(false);
      }

      new MenuItem(menu, SWT.SEPARATOR);

      MenuItem itemDelA = new MenuItem(menu, SWT.PUSH);
      itemDelA.setText("Delete selected Items");
      itemDelA.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
          deleteSelectedAnnotations();
        }
      });

      itemDelA.setEnabled(false);
      TreeItem[] items = treeView.getTree().getSelection();
      for (TreeItem ti : items)
        if (!(ti.getData() instanceof CEVFeatureTreeNode)) {
          itemDelA.setEnabled(true);
          break;
        }

      menu.setVisible(true);

      while (!menu.isDisposed() && menu.isVisible()) {
        if (!display.readAndDispatch())
          display.sleep();
      }
      menu.dispose();
    }
  }