package org.limewire.ui.swing.friends.chat; import java.awt.Component; import java.awt.Point; import org.limewire.ui.swing.table.TablePopupHandler; import com.google.inject.Inject; import com.google.inject.Provider; /** * Handles right click events on the list of friends and displays * a popup menu when appropriate. */ class ChatPopupHandler implements TablePopupHandler { private final ChatFriendList chatFriendList; private final Provider<ChatPopupMenu> chatPopupMenu; @Inject public ChatPopupHandler(ChatFriendList chatFiendList, Provider<ChatPopupMenu> chatPopupMenu) { this.chatFriendList = chatFiendList; this.chatPopupMenu = chatPopupMenu; } @Override public boolean isPopupShowing(int row) { return false; } @Override public void maybeShowPopup(Component component, int x, int y) { int popupRow = chatFriendList.rowAtPoint(new Point(x, y)); if(popupRow >= 0 && popupRow < chatFriendList.getRowCount()) chatFriendList.setRowSelectionInterval(popupRow, popupRow); chatPopupMenu.get().show(component, x, y); } }