001    // License: GPL. For details, see LICENSE file.
002    package org.openstreetmap.josm.gui.conflict.tags;
003    
004    import static org.openstreetmap.josm.tools.I18n.tr;
005    
006    import javax.swing.table.DefaultTableColumnModel;
007    import javax.swing.table.TableColumn;
008    
009    import org.openstreetmap.josm.gui.OsmPrimitivRenderer;
010    import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingTextField;
011    
012    public 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    }