001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.gui.conflict.tags;
003
004import static org.openstreetmap.josm.tools.I18n.tr;
005
006import javax.swing.table.DefaultTableColumnModel;
007import javax.swing.table.TableColumn;
008
009import org.openstreetmap.josm.gui.OsmPrimitivRenderer;
010import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingTextField;
011
012public class RelationMemberConflictResolverColumnModel extends DefaultTableColumnModel{
013
014    protected void createColumns() {
015        OsmPrimitivRenderer primitiveRenderer = new OsmPrimitivRenderer();
016        AutoCompletingTextField roleEditor = new AutoCompletingTextField();
017        RelationMemberConflictDecisionRenderer decisionRenderer = new RelationMemberConflictDecisionRenderer();
018        RelationMemberConflictDecisionEditor decisionEditor = new RelationMemberConflictDecisionEditor();
019
020        TableColumn col = null;
021
022        // column 0 - Relation
023        col = new TableColumn(0);
024        col.setHeaderValue("Relation");
025        col.setResizable(true);
026        col.setWidth(100);
027        col.setPreferredWidth(100);
028        col.setCellRenderer(primitiveRenderer);
029        addColumn(col);
030
031        // column 1 - Position
032        col = new TableColumn(1);
033        col.setHeaderValue(tr("Pos."));
034        col.setResizable(true);
035        col.setWidth(40);
036        col.setPreferredWidth(40);
037        col.setMaxWidth(50);
038        addColumn(col);
039
040        // column 2 - Role
041        col = new TableColumn(2);
042        col.setHeaderValue(tr("Role"));
043        col.setResizable(true);
044        col.setCellEditor(roleEditor);
045        col.setWidth(50);
046        col.setPreferredWidth(50);
047        addColumn(col);
048
049        // column 3 - Original Way
050        col = new TableColumn(3);
051        col.setHeaderValue(tr("Orig. Way"));
052        col.setResizable(true);
053        col.setCellRenderer(primitiveRenderer);
054        col.setWidth(100);
055        col.setPreferredWidth(100);
056        addColumn(col);
057        // column 4 - New Way
058        col = new TableColumn(4);
059        col.setHeaderValue(tr("Decision"));
060        col.setResizable(true);
061        col.setCellRenderer(decisionRenderer);
062        col.setCellEditor(decisionEditor);
063        col.setWidth(100);
064        col.setPreferredWidth(100);
065        col.setMaxWidth(100);
066        addColumn(col);
067    }
068
069    public RelationMemberConflictResolverColumnModel() {
070        createColumns();
071    }
072}