Changeset 13754 in josm


Ignore:
Timestamp:
2018-05-13T13:39:39+02:00 (6 years ago)
Author:
wiktorn
Message:

Fix fixbugs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/layer/imagery/WMTSLayerSelection.java

    r13750 r13754  
    3333 */
    3434public class WMTSLayerSelection extends JPanel {
     35    private final static class AbstractTableModelExtension extends AbstractTableModel {
     36        private final List<Entry<String, List<Layer>>> layers;
     37
     38        private AbstractTableModelExtension(List<Entry<String, List<Layer>>> layers) {
     39            this.layers = layers;
     40        }
     41
     42        @Override
     43        public Object getValueAt(int rowIndex, int columnIndex) {
     44            switch (columnIndex) {
     45            case 0:
     46                return layers.get(rowIndex).getValue()
     47                        .stream()
     48                        .map(Layer::getUserTitle)
     49                        .collect(Collectors.joining(", ")); //this should be only one
     50            case 1:
     51                return layers.get(rowIndex).getValue()
     52                        .stream()
     53                        .map(x -> x.getTileMatrixSet().getCrs())
     54                        .collect(Collectors.joining(", "));
     55            case 2:
     56                return layers.get(rowIndex).getValue()
     57                        .stream()
     58                        .map(x -> x.getTileMatrixSet().getIdentifier())
     59                        .collect(Collectors.joining(", ")); //this should be only one
     60            default:
     61                throw new IllegalArgumentException();
     62            }
     63        }
     64
     65        @Override
     66        public int getRowCount() {
     67            return layers.size();
     68        }
     69
     70        @Override
     71        public int getColumnCount() {
     72            return 3;
     73        }
     74
     75        @Override
     76        public String getColumnName(int column) {
     77            switch (column) {
     78            case 0: return tr("Layer name");
     79            case 1: return tr("Projection");
     80            case 2: return tr("Matrix set identifier");
     81            default:
     82                throw new IllegalArgumentException();
     83            }
     84        }
     85    }
     86
    3587    private List<Entry<String, List<Layer>>> layers;
    3688    private JTable list;
     
    4496        this.layers = layers;
    4597        list = new JTable(
    46                 new AbstractTableModel() {
    47                     @Override
    48                     public Object getValueAt(int rowIndex, int columnIndex) {
    49                         switch (columnIndex) {
    50                         case 0:
    51                             return layers.get(rowIndex).getValue()
    52                                     .stream()
    53                                     .map(Layer::getUserTitle)
    54                                     .collect(Collectors.joining(", ")); //this should be only one
    55                         case 1:
    56                             return layers.get(rowIndex).getValue()
    57                                     .stream()
    58                                     .map(x -> x.getTileMatrixSet().getCrs())
    59                                     .collect(Collectors.joining(", "));
    60                         case 2:
    61                             return layers.get(rowIndex).getValue()
    62                                     .stream()
    63                                     .map(x -> x.getTileMatrixSet().getIdentifier())
    64                                     .collect(Collectors.joining(", ")); //this should be only one
    65                         default:
    66                             throw new IllegalArgumentException();
    67                         }
    68                     }
    69 
    70                     @Override
    71                     public int getRowCount() {
    72                         return layers.size();
    73                     }
    74 
    75                     @Override
    76                     public int getColumnCount() {
    77                         return 3;
    78                     }
    79 
    80                     @Override
    81                     public String getColumnName(int column) {
    82                         switch (column) {
    83                         case 0: return tr("Layer name");
    84                         case 1: return tr("Projection");
    85                         case 2: return tr("Matrix set identifier");
    86                         default:
    87                             throw new IllegalArgumentException();
    88                         }
    89                     }
    90                 });
     98                new AbstractTableModelExtension(layers));
    9199        list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    92100        list.setAutoCreateRowSorter(true);
     
    147155            renderer = list.getCellRenderer(row, column.getModelIndex());
    148156            comp = list.prepareRenderer(renderer, row, column.getModelIndex());
    149             ret = Math.max (comp.getPreferredSize().width, ret);
     157            ret = Math.max(comp.getPreferredSize().width, ret);
    150158        }
    151159        column.setPreferredWidth(ret + 10);
    152160    }
     161
     162    public JTable getTable() {
     163        return list;
     164    }
    153165}
Note: See TracChangeset for help on using the changeset viewer.