source: josm/trunk/src/org/openstreetmap/josm/corrector/CorrectionTable.java @ 5241

Revision 3083, 1.9 KB checked in by bastiK, 2 years ago (diff)

added svn:eol-style=native to source files

  • Property svn:eol-style set to native
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.corrector;
3
4import java.awt.Component;
5import java.awt.Dimension;
6import java.awt.Font;
7
8import javax.swing.JLabel;
9import javax.swing.JTable;
10import javax.swing.table.TableCellRenderer;
11
12public abstract class CorrectionTable<TM extends CorrectionTableModel<?>>
13        extends JTable {
14
15    private static final int MAX_VISIBLE_LINES = 10;
16
17    public static class BoldRenderer extends JLabel implements
18            TableCellRenderer {
19
20        public Component getTableCellRendererComponent(JTable table,
21                Object value, boolean isSelected, boolean hasFocus, int row,
22                int column) {
23
24            Font f = getFont();
25            setFont(new Font(f.getName(), f.getStyle() | Font.BOLD, f.getSize()));
26
27            setText((String)value);
28
29            return this;
30        }
31    }
32
33    private static BoldRenderer boldRenderer = null;
34
35    protected CorrectionTable(TM correctionTableModel) {
36        super(correctionTableModel);
37
38        final int correctionsSize = correctionTableModel.getCorrections().size();
39        final int lines = correctionsSize > MAX_VISIBLE_LINES ? MAX_VISIBLE_LINES
40                : correctionsSize;
41        setPreferredScrollableViewportSize(new Dimension(400, lines
42                * getRowHeight()));
43        getColumnModel().getColumn(correctionTableModel.getApplyColumn())
44                .setPreferredWidth(40);
45        setRowSelectionAllowed(false);
46    }
47
48    public TableCellRenderer getCellRenderer(int row, int column) {
49        if (getCorrectionTableModel().isBoldCell(row, column)) {
50            if (boldRenderer == null)
51                boldRenderer = new BoldRenderer();
52            return boldRenderer;
53        }
54        return super.getCellRenderer(row, column);
55    }
56
57    @SuppressWarnings("unchecked")
58    public TM getCorrectionTableModel() {
59        return (TM)getModel();
60    }
61
62}
Note: See TracBrowser for help on using the repository browser.