You are using the older method of event handling. This method works fine for me:
addDomHandler(new ContextMenuHandler() { @Override public void onContextMenu(ContextMenuEvent event) { showMenu(); event.preventDefault(); } }, ContextMenuEvent.getType()); On Jul 30, 11:16 am, BrianP <brifo...@gmail.com> wrote: > I'm trying to capture right-clicks on a widget, to popup my own > context menu instead of the browser's. I've researched it a bit and > pieced together bits and I've got it working in Chrome and FF but not > IE. In IE it doesn't display the default browser context menu, but it > doesn't display my popup menu either. I'm just getting into GWT so I'm > assuming I'm not doing something right with the right kinds of > handlers or events. I'm also using the gwt-graphics module, that's > where the Rectangle class that I'm extending comes from, in case > that's relevant. > > Here's my code: > > public class RectangleRightClickable extends Rectangle { > > public RectangleRightClickable(int x, int y, int width, int height) { > super(x, y, width, height); > sinkEvents(Event.ONCONTEXTMENU); > > } > > public void onBrowserEvent(Event event) { > GWT.log("onBrowserEvent"); > event.stopPropagation(); > event.preventDefault(); > GWT.log("event type : " + DOM.eventGetType(event)); > switch(DOM.eventGetType(event)) { > case Event.ONCONTEXTMENU: > if (DOM.eventGetButton(event) == Event.BUTTON_RIGHT) { > GWT.log("Event.BUTTON_RIGHT", null); > showMenu(); > } > break; > default: > GWT.log(event.toString()); > break; > } > > } > > protected void showMenu() { > final RectangleRightClickable parent = this; > final PopupMenu popMenu = new PopupMenu(); > popMenu.addMenuItem(new Label("Add thing")); > popMenu.setPopupPositionAndShow(new PopupPanel.PositionCallback() > { > public void setPosition(int offsetWidth, int offsetHeight) { > int left = parent.getX() + parent.getWidth(); > int top = parent.getY() + parent.getWidth(); > popMenu.setPopupPosition(left, top); > } > }); > > } > } -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.