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 }