001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.gui.history;
003
004import static org.openstreetmap.josm.tools.I18n.tr;
005
006import javax.swing.table.DefaultTableColumnModel;
007import javax.swing.table.TableColumn;
008
009/**
010 * The {@link javax.swing.table.TableColumnModel} for the table with the list of tags
011 * @since 1709
012 */
013public class TagTableColumnModel extends DefaultTableColumnModel {
014    protected static final int COLUMN_KEY = 0;
015    protected static final int COLUMN_VALUE = 1;
016    protected static final int COLUMN_VERSION = 2;
017
018    /**
019     * Constructs a new {@code TagTableColumnModel}.
020     */
021    public TagTableColumnModel() {
022        createColumns();
023    }
024
025    protected void createColumns() {
026        TagTableCellRenderer renderer = new TagTableCellRenderer();
027
028        TableColumn col = new TableColumn(COLUMN_KEY);
029        col.setHeaderValue(tr("Key"));
030        col.setCellRenderer(renderer);
031        col.setPreferredWidth(100);
032        addColumn(col);
033
034        col = new TableColumn(COLUMN_VALUE);
035        col.setHeaderValue(tr("Value"));
036        col.setCellRenderer(renderer);
037        col.setPreferredWidth(100);
038        addColumn(col);
039
040        col = new TableColumn(COLUMN_VERSION);
041        col.setHeaderValue(tr("Since"));
042        col.setCellRenderer(renderer);
043        col.setPreferredWidth(10);
044        addColumn(col);
045    }
046}