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();
}
}