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 }