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}