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 relation members.
011 * @since 1709
012 */
013public class RelationMemberTableColumnModel extends DefaultTableColumnModel {
014
015    static final int INDEX_COLUMN = 0;
016    static final int ROLE_COLUMN = 1;
017    static final int OBJECT_COLUMN = 2;
018
019    /**
020     * Constructs a new {@code RelationMemberTableColumnModel}.
021     */
022    public RelationMemberTableColumnModel() {
023        createColumns();
024    }
025
026    protected void createColumns() {
027        RelationMemberListTableCellRenderer renderer = new RelationMemberListTableCellRenderer();
028
029        TableColumn col = new TableColumn(INDEX_COLUMN, 0);
030        col.setHeaderValue(tr("\u2116"));
031        col.setCellRenderer(renderer);
032        addColumn(col);
033
034        col = new TableColumn(ROLE_COLUMN);
035        col.setHeaderValue(tr("Role"));
036        col.setCellRenderer(renderer);
037        addColumn(col);
038
039        col = new TableColumn(OBJECT_COLUMN);
040        col.setHeaderValue(tr("Object"));
041        col.setCellRenderer(renderer);
042        addColumn(col);
043    }
044}