001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.gui.conflict.pair.relation; 003 004import static org.openstreetmap.josm.tools.I18n.tr; 005 006import javax.swing.table.DefaultTableColumnModel; 007import javax.swing.table.TableColumn; 008 009/** 010 * Column model used in {@link RelationMemberTable}. 011 * @since 1622 012 */ 013public class RelationMemberListColumnModel extends DefaultTableColumnModel { 014 015 /** 016 * Constructs a new {@code RelationMemberListColumnModel}. 017 */ 018 public RelationMemberListColumnModel() { 019 createColumns(); 020 } 021 022 protected final void createColumns() { 023 RelationMemberTableCellRenderer renderer = new RelationMemberTableCellRenderer(); 024 025 // column 0 - Row num 026 TableColumn col = new TableColumn(0); 027 col.setHeaderValue(""); 028 col.setResizable(true); 029 col.setPreferredWidth(32); 030 col.setMaxWidth(40); // Up to 5 digits 031 col.setCellRenderer(renderer); 032 addColumn(col); 033 034 // column 1 - Role 035 col = new TableColumn(1); 036 col.setHeaderValue(tr("Role")); 037 col.setResizable(true); 038 col.setCellRenderer(renderer); 039 col.setMaxWidth(100); 040 col.setCellEditor(new RelationMemberTableCellEditor()); 041 addColumn(col); 042 043 // column 2 - Primitive 044 col = new TableColumn(2); 045 col.setHeaderValue(tr("Primitive")); 046 col.setResizable(true); 047 col.setCellRenderer(renderer); 048 addColumn(col); 049 } 050}