001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.gui.conflict.pair.nodes; 003 004import static org.openstreetmap.josm.tools.I18n.tr; 005 006import javax.swing.table.DefaultTableColumnModel; 007import javax.swing.table.TableCellRenderer; 008import javax.swing.table.TableColumn; 009 010/** 011 * Column model used in {@link NodeListTable}. 012 * @since 1622 013 */ 014public class NodeListColumnModel extends DefaultTableColumnModel { 015 016 /** 017 * Constructs a new {@code NodeListColumnModel}. 018 * @param renderer table cell renderer 019 */ 020 public NodeListColumnModel(TableCellRenderer renderer) { 021 createColumns(renderer); 022 } 023 024 protected final void createColumns(TableCellRenderer renderer) { 025 026 // column 0 - Row num 027 TableColumn col = new TableColumn(0); 028 col.setHeaderValue(""); 029 col.setResizable(true); 030 col.setPreferredWidth(32); 031 col.setMaxWidth(32); // Up to 4 digits (OSM API capabilities -> waynodes maximum set to 2000) 032 col.setCellRenderer(renderer); 033 addColumn(col); 034 035 // column 1 - Node 036 col = new TableColumn(1); 037 col.setHeaderValue(tr("Node")); 038 col.setResizable(true); 039 col.setCellRenderer(renderer); 040 addColumn(col); 041 } 042}