/* * WPCleaner: A tool to help on Wikipedia maintenance tasks. * Copyright (C) 2013 Nicolas Vervelle * * See README.txt file for licensing information. */ package org.wikipediacleaner.gui.swing.pagelist; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JTable; import org.wikipediacleaner.api.data.Page; import org.wikipediacleaner.gui.swing.Controller; import org.wikipediacleaner.gui.swing.basic.Utilities; /** * Mouse listener on a list of pages. */ public class PageListMouseListener extends MouseAdapter { /** * @param e Event. * @see java.awt.event.MouseAdapter#mouseClicked(java.awt.event.MouseEvent) */ @Override public void mouseClicked(MouseEvent e) { if ((!e.isConsumed()) && (e.getButton() == MouseEvent.BUTTON1) && (e.getClickCount() == 2)) { if (e.getSource() instanceof JTable) { JTable table = (JTable) e.getSource(); if (table.getModel() instanceof PageListTableModel) { PageListTableModel model = (PageListTableModel) table.getModel(); int column = table.columnAtPoint(e.getPoint()); int row = table.rowAtPoint(e.getPoint()); if ((column >= 0) && (row >= 0)) { row = Utilities.convertRowIndexToModel(table, row); Page page = model.getPage(row); if (Boolean.TRUE.equals(page.isDisambiguationPage())) { Controller.runDisambiguationAnalysis(page.getTitle(), page.getWikipedia()); } else { Controller.runFullAnalysis(page.getTitle(), null, page.getWikipedia()); } e.consume(); } } } } super.mouseClicked(e); } }