package logbook.gui; import logbook.gui.logic.CreateReportLogic; import logbook.gui.logic.TableItemCreator; import org.eclipse.swt.events.MouseAdapter; import org.eclipse.swt.events.MouseEvent; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableColumn; import org.eclipse.swt.widgets.TableItem; /** * ドロップ報告書 * */ public final class DropReportTable extends AbstractTableDialog { /** * @param parent */ public DropReportTable(Shell parent) { super(parent); } @Override protected void createContents() { this.table.addMouseListener(new MouseAdapter() { @Override public void mouseDoubleClick(MouseEvent e) { TableItem[] items = DropReportTable.this.table.getSelection(); for (TableItem tableItem : items) { new BattleDialog(DropReportTable.this.shell, tableItem.getText(0)).open(); } } }); } @Override protected String getTitle() { return "Drop Report"; } @Override protected Point getSize() { return new Point(600, 350); } @Override protected String[] getTableHeader() { return CreateReportLogic.getBattleResultHeader(); } @Override protected void updateTableBody() { this.body = CreateReportLogic.getBattleResultBody(); } @Override protected TableItemCreator getTableItemCreator() { return CreateReportLogic.DEFAULT_TABLE_ITEM_CREATOR; } @Override protected SelectionListener getHeaderSelectionListener() { return new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (e.getSource() instanceof TableColumn) { DropReportTable.this.sortTableItems((TableColumn) e.getSource()); } } }; } }