Changeset 9847 in josm for trunk


Ignore:
Timestamp:
2016-02-21T14:03:08+01:00 (8 years ago)
Author:
Don-vip
Message:

code refactoring

Location:
trunk/src/org/openstreetmap/josm/gui
Files:
1 added
2 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMerger.java

    r9440 r9847  
    3131import org.openstreetmap.josm.gui.conflict.pair.IConflictResolver;
    3232import org.openstreetmap.josm.gui.conflict.pair.MergeDecisionType;
     33import org.openstreetmap.josm.gui.tagging.TagTableColumnModelBuilder;
    3334import org.openstreetmap.josm.tools.ImageProvider;
    3435
     
    4344    private JTable theirTable;
    4445    private final TagMergeModel model;
     46    private final String[] keyvalue;
    4547    private transient AdjustmentSynchronizer adjustmentSynchronizer;
    4648
     
    5052    public TagMerger() {
    5153        model = new TagMergeModel();
     54        keyvalue = new String[]{tr("Key"), tr("Value")};
    5255        build();
    5356    }
     
    7174     */
    7275    protected JScrollPane buildMineTagTable() {
    73         mineTable = new JTable(
    74                 model,
    75                 new TagMergeColumnModel(
    76                         new MineTableCellRenderer()
    77                 )
    78         );
     76        mineTable = new JTable(model, new TagTableColumnModelBuilder(new MineTableCellRenderer(), keyvalue).build());
    7977        mineTable.setName("table.my");
    8078        return embeddInScrollPane(mineTable);
     
    8785     */
    8886    protected JScrollPane buildTheirTable() {
    89         theirTable = new JTable(
    90                 model,
    91                 new TagMergeColumnModel(
    92                         new TheirTableCellRenderer()
    93                 )
    94         );
     87        theirTable = new JTable(model, new TagTableColumnModelBuilder(new TheirTableCellRenderer(), keyvalue).build());
    9588        theirTable.setName("table.their");
    9689        return embeddInScrollPane(theirTable);
     
    10497
    10598    protected JScrollPane buildMergedTable() {
    106         mergedTable = new JTable(
    107                 model,
    108                 new TagMergeColumnModel(
    109                         new MergedTableCellRenderer()
    110                 )
    111         );
     99        mergedTable = new JTable(model, new TagTableColumnModelBuilder(new MergedTableCellRenderer(), keyvalue).build());
    112100        mergedTable.setName("table.merged");
    113101        return embeddInScrollPane(mergedTable);
  • trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java

    r9543 r9847  
    3333import javax.swing.JTable;
    3434import javax.swing.UIManager;
    35 import javax.swing.table.DefaultTableColumnModel;
    3635import javax.swing.table.DefaultTableModel;
    3736import javax.swing.table.TableCellRenderer;
    38 import javax.swing.table.TableColumn;
    3937
    4038import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
    4139import org.openstreetmap.josm.data.osm.TagCollection;
    4240import org.openstreetmap.josm.gui.SideButton;
     41import org.openstreetmap.josm.gui.tagging.TagTableColumnModelBuilder;
    4342import org.openstreetmap.josm.tools.ImageProvider;
    4443import org.openstreetmap.josm.tools.WindowGeometry;
     
    368367    }
    369368
    370     private static final class StatisticsTableColumnModel extends DefaultTableColumnModel {
    371         private StatisticsTableColumnModel() {
    372             TableCellRenderer renderer = new StatisticsInfoRenderer();
    373             TableColumn col = null;
    374 
    375             // column 0 - Paste
    376             col = new TableColumn(0);
    377             col.setHeaderValue(tr("Paste ..."));
    378             col.setResizable(true);
    379             col.setCellRenderer(renderer);
    380             addColumn(col);
    381 
    382             // column 1 - From
    383             col = new TableColumn(1);
    384             col.setHeaderValue(tr("From ..."));
    385             col.setResizable(true);
    386             col.setCellRenderer(renderer);
    387             addColumn(col);
    388 
    389             // column 2 - To
    390             col = new TableColumn(2);
    391             col.setHeaderValue(tr("To ..."));
    392             col.setResizable(true);
    393             col.setCellRenderer(renderer);
    394             addColumn(col);
    395         }
    396     }
    397 
    398369    private static final class StatisticsTableModel extends DefaultTableModel {
    399370        private static final String[] HEADERS = new String[] {tr("Paste ..."), tr("From ..."), tr("To ...") };
     
    510481
    511482        private StatisticsInfoTable(StatisticsTableModel model) {
    512             JTable infoTable = new JTable(model, new StatisticsTableColumnModel());
     483            JTable infoTable = new JTable(model,
     484                    new TagTableColumnModelBuilder(new StatisticsInfoRenderer(), tr("Paste ..."), tr("From ..."), tr("To ...")).build());
    513485            infoTable.setShowHorizontalLines(true);
    514486            infoTable.setShowVerticalLines(false);
  • trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolverTable.java

    r9497 r9847  
    11// License: GPL. For details, see LICENSE file.
    22package org.openstreetmap.josm.gui.conflict.tags;
     3
     4import static org.openstreetmap.josm.tools.I18n.tr;
    35
    46import javax.swing.JTable;
    57import javax.swing.ListSelectionModel;
    68
     9import org.openstreetmap.josm.gui.tagging.TagTableColumnModelBuilder;
    710import org.openstreetmap.josm.gui.widgets.JosmComboBox;
    811import org.openstreetmap.josm.gui.widgets.JosmTable;
     
    1518     */
    1619    public TagConflictResolverTable(TagConflictResolverModel model) {
    17         super(model, new TagConflictResolverColumnModel());
     20        super(model, new TagTableColumnModelBuilder(new MultiValueCellRenderer(), "", tr("Key"), tr("Value"))
     21                .setWidth(20, 0).setPreferredWidth(20, 0).setMaxWidth(30, 0)
     22                .setCellEditor(new MultiValueCellEditor(), 2).build());
    1823
    1924        setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
  • trunk/src/org/openstreetmap/josm/gui/tagging/TagTable.java

    r9319 r9847  
    2424import javax.swing.AbstractAction;
    2525import javax.swing.CellEditor;
    26 import javax.swing.DefaultListSelectionModel;
    2726import javax.swing.JComponent;
    2827import javax.swing.JTable;
     
    3332import javax.swing.event.ListSelectionEvent;
    3433import javax.swing.event.ListSelectionListener;
    35 import javax.swing.table.DefaultTableColumnModel;
    36 import javax.swing.table.TableColumn;
    3734import javax.swing.text.JTextComponent;
    3835
     
    5350/**
    5451 * This is the tabular editor component for OSM tags.
    55  *
     52 * @since 1762
    5653 */
    5754public class TagTable extends JTable  {
     
    6663    private final CopyOnWriteArrayList<Component> doNotStopCellEditingWhenFocused = new CopyOnWriteArrayList<>();
    6764    private transient CellEditorRemover editorRemover;
    68 
    69     /**
    70      * The table has two columns. The first column is used for editing rendering and
    71      * editing tag keys, the second for rendering and editing tag values.
    72      *
    73      */
    74     static class TagTableColumnModel extends DefaultTableColumnModel {
    75         TagTableColumnModel(DefaultListSelectionModel selectionModel) {
    76             setSelectionModel(selectionModel);
    77             TableColumn col = null;
    78             TagCellRenderer renderer = new TagCellRenderer();
    79 
    80             // column 0 - tag key
    81             col = new TableColumn(0);
    82             col.setHeaderValue(tr("Key"));
    83             col.setResizable(true);
    84             col.setCellRenderer(renderer);
    85             addColumn(col);
    86 
    87             // column 1 - tag value
    88             col = new TableColumn(1);
    89             col.setHeaderValue(tr("Value"));
    90             col.setResizable(true);
    91             col.setCellRenderer(renderer);
    92             addColumn(col);
    93         }
    94     }
    9565
    9666    /**
     
    437407     */
    438408    public TagTable(TagEditorModel model, final int maxCharacters) {
    439         super(model, new TagTableColumnModel(model.getColumnSelectionModel()), model.getRowSelectionModel());
     409        super(model, new TagTableColumnModelBuilder(new TagCellRenderer(), tr("Key"), tr("Value"))
     410                  .setSelectionModel(model.getColumnSelectionModel()).build(),
     411              model.getRowSelectionModel());
    440412        this.model = model;
    441413        init(maxCharacters);
Note: See TracChangeset for help on using the changeset viewer.