package com.akjava.gwt.lib.client.datalist;
import com.google.gwt.event.dom.client.ContextMenuEvent;
import com.google.gwt.event.dom.client.ContextMenuHandler;
import com.google.gwt.user.client.ui.MenuBar;
import com.google.gwt.user.client.ui.PopupPanel;
public abstract class AbstractContextMenu implements ContextMenuHandler,CellContextMenu{
private PopupPanel contextMenu;
private MenuBar menuBar=new MenuBar(true);
public AbstractContextMenu(){
this.contextMenu = new PopupPanel(true);
contextMenu.add(menuBar);
createMenus(menuBar);
this.contextMenu.hide();
}
public abstract void createMenus(MenuBar menuBar);
@Override
public void onContextMenu(int clientX, int clientY) {
this.contextMenu.setPopupPosition(clientX, clientY);
this.contextMenu.show();
}
@Override
public void onContextMenu(ContextMenuEvent event) {
event.preventDefault();
event.stopPropagation();
onContextMenu(event.getNativeEvent().getClientX(),event.getNativeEvent().getClientY());
}
public void hide(){
contextMenu.hide();
}
}