@Override
  public void onBrowserEvent(Event event) {
    GWT.log("slider mouse event: " + DOM.eventGetTypeString(event));
    if (DOM.eventGetType(event) == Event.ONCONTEXTMENU) {

      event.stopPropagation();
      event.preventDefault();

      int x = event.getClientX();
      int y = event.getClientY();
      NodeList<Node> children = getChildren().get(0).getElement().getChildNodes();
      for (int i = 0; i < children.getLength(); i++) {
        Node child = children.getItem(i);
        Element widget = (Element) child;
        String id = widget.getId();
        GWT.log("checking " + id + " to see if its the rightclicked element");
        int left = widget.getAbsoluteLeft();
        int width = widget.getOffsetWidth();
        int top = widget.getAbsoluteTop();
        int height = widget.getOffsetHeight();

        if (left < x && left + width > x && top < y && top + height > y) {

          this.clickedElement = DOM.getElementById(id);

          GWT.log(editor.getElement().getId() + " context menu for " + id);
          GWT.log("positioning context menu at " + event.getClientX() + "x" + event.getClientY());
          contextMenu.show(event.getClientX(), event.getClientY(), menu);
          break;
        }
      }

    } else if (DOM.eventGetType(event) == Event.ONCLICK) {
      ContextMenu.hide();
    }
    super.onBrowserEvent(event);
  }