Changeset 4072 in josm for trunk/src


Ignore:
Timestamp:
2011-05-04T07:09:56+02:00 (14 years ago)
Author:
jttt
Message:

Fix #6301 Check for null mandatory in TableCellRenderer.getTableCellRendererComponent

Location:
trunk/src/org/openstreetmap/josm/gui
Files:
26 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListTableCellRenderer.java

    r3083 r4072  
    164164        Node node = (Node)value;
    165165        reset();
     166        if (value == null)
     167            return this;
    166168        switch(column) {
    167169        case 0:
  • trunk/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberTableCellRenderer.java

    r3844 r4072  
    88
    99import javax.swing.BorderFactory;
    10 import javax.swing.ImageIcon;
    1110import javax.swing.JLabel;
    1211import javax.swing.JTable;
     
    165164        RelationMember member = (RelationMember)value;
    166165        reset();
     166        if (value == null)
     167            return this;
     168
    167169        renderBackground(getModel(table), member, row, column, isSelected);
    168170        renderForeground(getModel(table), member, row, column, isSelected);
  • trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMergeTableCellRenderer.java

    r3083 r4072  
    2626
    2727        reset();
     28        if (value == null)
     29            return this;
     30
    2831        TagMergeItem item = (TagMergeItem)value;
    2932        switch(col) {
  • trunk/src/org/openstreetmap/josm/gui/conflict/tags/MultiValueCellRenderer.java

    r3083 r4072  
    4444        } else{
    4545            switch(decision.getDecisionType()) {
    46                 case UNDECIDED:
    47                     setForeground(UIManager.getColor("Table.foreground"));
    48                     setBackground(BGCOLOR_UNDECIDED);
    49                     break;
    50                 case KEEP_NONE:
    51                     setForeground(UIManager.getColor("Panel.foreground"));
    52                     setBackground(UIManager.getColor("Panel.background"));
    53                     break;
    54                 default:
    55                     setForeground(UIManager.getColor("Table.foreground"));
    56                     setBackground(UIManager.getColor("Table.background"));
    57                     break;
     46            case UNDECIDED:
     47                setForeground(UIManager.getColor("Table.foreground"));
     48                setBackground(BGCOLOR_UNDECIDED);
     49                break;
     50            case KEEP_NONE:
     51                setForeground(UIManager.getColor("Panel.foreground"));
     52                setBackground(UIManager.getColor("Panel.background"));
     53                break;
     54            default:
     55                setForeground(UIManager.getColor("Table.foreground"));
     56                setBackground(UIManager.getColor("Table.background"));
     57                break;
    5858            }
    5959        }
     
    6363        model.removeAllElements();
    6464        switch(decision.getDecisionType()) {
    65             case UNDECIDED:
    66                 model.addElement(tr("Choose a value"));
    67                 setFont(getFont().deriveFont(Font.ITALIC));
    68                 setToolTipText(tr("Please decide which values to keep"));
    69                 cbDecisionRenderer.setSelectedIndex(0);
    70                 break;
    71             case KEEP_ONE:
    72                 model.addElement(decision.getChosenValue());
    73                 setToolTipText(tr("Value ''{0}'' is going to be applied for key ''{1}''", decision.getChosenValue(), decision.getKey()));
    74                 cbDecisionRenderer.setSelectedIndex(0);
    75                 break;
    76             case KEEP_NONE:
    77                 model.addElement(tr("deleted"));
    78                 setFont(getFont().deriveFont(Font.ITALIC));
    79                 setToolTipText(tr("The key ''{0}'' and all its values are going to be removed", decision.getKey()));
    80                 cbDecisionRenderer.setSelectedIndex(0);
    81                 break;
    82             case KEEP_ALL:
    83                 model.addElement(decision.getChosenValue());
    84                 setToolTipText(tr("All values joined as ''{0}'' are going to be applied for key ''{1}''", decision.getChosenValue(), decision.getKey()));
    85                 cbDecisionRenderer.setSelectedIndex(0);
    86                 break;
     65        case UNDECIDED:
     66            model.addElement(tr("Choose a value"));
     67            setFont(getFont().deriveFont(Font.ITALIC));
     68            setToolTipText(tr("Please decide which values to keep"));
     69            cbDecisionRenderer.setSelectedIndex(0);
     70            break;
     71        case KEEP_ONE:
     72            model.addElement(decision.getChosenValue());
     73            setToolTipText(tr("Value ''{0}'' is going to be applied for key ''{1}''", decision.getChosenValue(), decision.getKey()));
     74            cbDecisionRenderer.setSelectedIndex(0);
     75            break;
     76        case KEEP_NONE:
     77            model.addElement(tr("deleted"));
     78            setFont(getFont().deriveFont(Font.ITALIC));
     79            setToolTipText(tr("The key ''{0}'' and all its values are going to be removed", decision.getKey()));
     80            cbDecisionRenderer.setSelectedIndex(0);
     81            break;
     82        case KEEP_ALL:
     83            model.addElement(decision.getChosenValue());
     84            setToolTipText(tr("All values joined as ''{0}'' are going to be applied for key ''{1}''", decision.getChosenValue(), decision.getKey()));
     85            cbDecisionRenderer.setSelectedIndex(0);
     86            break;
    8787        }
    8888    }
     
    9898
    9999        reset();
     100        if (value == null)
     101            return this;
     102
    100103        MultiValueResolutionDecision decision = (MultiValueResolutionDecision)value;
    101104        renderColors(decision,isSelected);
    102105        switch(column) {
    103             case 0:
    104                 if (decision.isDecided()) {
    105                     setIcon(iconDecided);
    106                 } else {
    107                     setIcon(iconUndecided);
    108                 }
    109                 return this;
     106        case 0:
     107            if (decision.isDecided()) {
     108                setIcon(iconDecided);
     109            } else {
     110                setIcon(iconUndecided);
     111            }
     112            return this;
    110113
    111             case 1:
    112                 setText(decision.getKey());
    113                 return this;
     114        case 1:
     115            setText(decision.getKey());
     116            return this;
    114117
    115             case 2:
    116                 renderValue(decision);
    117                 return cbDecisionRenderer;
     118        case 2:
     119            renderValue(decision);
     120            return cbDecisionRenderer;
    118121        }
    119122        return this;
  • trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java

    r3501 r4072  
    478478                boolean hasFocus, int row, int column) {
    479479            reset();
     480            if (value == null)
     481                return this;
     482
    480483            if (row == 0) {
    481484                setFont(getFont().deriveFont(Font.BOLD));
  • trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictDecisionRenderer.java

    r3083 r4072  
    4747            int row, int column) {
    4848        resetTableRenderer();
     49        if (value == null)
     50            return this;
     51
    4952        if (isSelected) {
    5053            setBackground(UIManager.getColor("Table.selectionBackground"));
  • trunk/src/org/openstreetmap/josm/gui/dialogs/FilterDialog.java

    r3375 r4072  
    3838import org.openstreetmap.josm.data.osm.event.DataSetListener;
    3939import org.openstreetmap.josm.data.osm.event.DatasetEventManager;
     40import org.openstreetmap.josm.data.osm.event.DatasetEventManager.FireMode;
    4041import org.openstreetmap.josm.data.osm.event.NodeMovedEvent;
    4142import org.openstreetmap.josm.data.osm.event.PrimitivesAddedEvent;
     
    4445import org.openstreetmap.josm.data.osm.event.TagsChangedEvent;
    4546import org.openstreetmap.josm.data.osm.event.WayNodesChangedEvent;
    46 import org.openstreetmap.josm.data.osm.event.DatasetEventManager.FireMode;
    4747import org.openstreetmap.josm.gui.SideButton;
    4848import org.openstreetmap.josm.tools.Shortcut;
     
    206206        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,int row,int column) {
    207207            FilterTableModel model = (FilterTableModel)table.getModel();
    208             setSelected((Boolean)value);
     208            setSelected(value != null && (Boolean)value);
    209209            setEnabled(model.isCellEnabled(row, column));
    210210            setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
  • trunk/src/org/openstreetmap/josm/gui/dialogs/HistoryDialog.java

    r3764 r4072  
    109109            @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
    110110                JComponent c = (JComponent)oldRenderer.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
    111                 if (!value.equals(""))
     111                if (!"".equals(value))
    112112                    return c;
    113113                JLabel l = new JLabel(ImageProvider.get("misc","showhide"));
  • trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java

    r3941 r4072  
    6060import org.openstreetmap.josm.gui.io.SaveLayersDialog;
    6161import org.openstreetmap.josm.gui.layer.Layer;
     62import org.openstreetmap.josm.gui.layer.Layer.LayerAction;
    6263import org.openstreetmap.josm.gui.layer.OsmDataLayer;
    63 import org.openstreetmap.josm.gui.layer.Layer.LayerAction;
    6464import org.openstreetmap.josm.gui.widgets.PopupMenuLauncher;
    6565import org.openstreetmap.josm.tools.CheckParameterUtil;
     
    787787        @Override
    788788        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
    789             boolean active = (Boolean) value;
     789            boolean active =  value != null && (Boolean) value;
    790790            cb.setSelected(active);
    791791            cb.setToolTipText(active ? tr("this layer is the active layer") : tr("this layer is not currently active (click to activate)"));
     
    802802        @Override
    803803        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
    804             cb.updateStatus((Layer)value);
     804            if (value != null) {
     805                cb.updateStatus((Layer)value);
     806            }
    805807            return cb;
    806808        }
     
    831833        @Override
    832834        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
     835            if (value == null)
     836                return this;
    833837            Layer layer = (Layer)value;
    834838            JLabel label = (JLabel)super.getTableCellRendererComponent(table,
  • trunk/src/org/openstreetmap/josm/gui/dialogs/MapPaintDialog.java

    r3940 r4072  
    2121import java.io.File;
    2222import java.io.FileOutputStream;
     23import java.io.IOException;
    2324import java.io.InputStream;
    2425import java.io.InputStreamReader;
    25 import java.io.IOException;
    2626import java.util.ArrayList;
    2727import java.util.List;
     
    116116        });
    117117        cbWireframe.setBorder(new EmptyBorder(new Insets(1,1,1,1)));
    118        
     118
    119119        tblStyles = new StylesTable(model);
    120120        tblStyles.setSelectionModel(selectionModel= new DefaultListSelectionModel());
     
    211211            return data.size();
    212212        }
    213        
     213
    214214        @Override
    215215        public Object getValueAt(int row, int column) {
     
    280280
    281281        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,int row,int column) {
     282            if (value == null)
     283                return this;
    282284            boolean b = (Boolean) value;
    283285            setSelected(b);
     
    290292        @Override
    291293        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
     294            if (value == null)
     295                return this;
    292296            StyleSource s = (StyleSource) value;
    293297            JLabel label = (JLabel)super.getTableCellRendererComponent(table,
     
    362366        }
    363367    }
    364    
     368
    365369    /**
    366370     * Opens preferences window and selects the mappaint tab.
     
    426430        }
    427431    }
    428    
     432
    429433    protected class SaveAsAction extends AbstractAction {
    430434
  • trunk/src/org/openstreetmap/josm/gui/dialogs/UserListDialog.java

    r4031 r4072  
    120120            public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
    121121                final JLabel label = (JLabel) super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
     122                if (value == null)
     123                    return this;
    122124                label.setIcon((ImageIcon)value);
    123125                label.setText("");
  • trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetCacheTableCellRenderer.java

    r3083 r4072  
    9090    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
    9191            int row, int column) {
     92        if (value == null)
     93            return this;
    9294        reset();
    9395        renderColors(isSelected);
  • trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetContentTableCellRenderer.java

    r3083 r4072  
    5757    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
    5858            int row, int column) {
     59        if (value == null)
     60            return this;
    5961        reset();
    6062        renderColors(isSelected);
  • trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java

    r3970 r4072  
    563563                    boolean isSelected, boolean hasFocus, int row, int column) {
    564564                Component c = super.getTableCellRendererComponent(table, value, isSelected, false, row, column);
     565                if (value == null)
     566                    return this;
    565567                if (c instanceof JLabel) {
    566568                    String str = null;
     
    610612                    boolean isSelected, boolean hasFocus, int row, int column) {
    611613                Component c = super.getTableCellRendererComponent(table, value, isSelected, false, row, column);
     614                if (value == null)
     615                    return this;
    612616                if (c instanceof JLabel) {
    613617                    JLabel label = (JLabel)c;
     
    625629            @Override public Component getTableCellRendererComponent(JTable table, Object value,
    626630                    boolean isSelected, boolean hasFocus, int row, int column) {
     631                if (value == null)
     632                    return this;
    627633                Component c = super.getTableCellRendererComponent(table, value, isSelected, false, row, column);
    628634                boolean isDisabledAndHidden = (((Relation)table.getValueAt(row, 0))).isDisabledAndHidden();
  • trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableLinkedCellRenderer.java

    r3788 r4072  
    2626    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
    2727            int row, int column) {
     28
    2829        reset();
     30        if (value == null)
     31            return this;
     32
    2933        this.value = (WayConnectionType) value;
    3034        renderForeground(isSelected);
     
    4448        int xloop = 10;
    4549        int xowloop = 0;
    46         if(value.isOnewayLoopForwardPart) xowloop = -3;
    47         if(value.isOnewayLoopBackwardPart) xowloop = 3;
    48        
     50        if(value.isOnewayLoopForwardPart) {
     51            xowloop = -3;
     52        }
     53        if(value.isOnewayLoopBackwardPart) {
     54            xowloop = 3;
     55        }
     56
    4957        int xoff = this.getSize().width / 2;
    5058        if (value.isLoop) {
     
    5866        if (value.linkPrev) {
    5967            g.setColor(Color.black);
    60             if(value.isOnewayHead)
     68            if(value.isOnewayHead) {
    6169                g.fillRect(xoff - 1, 0, 3, 1);
    62             else
     70            } else {
    6371                g.fillRect(xoff - 1 + xowloop, 0, 3, 1);
     72            }
    6473            y1 = 0;
    6574        } else {
     
    7382            else {
    7483                g.setColor(Color.red);
    75                 if(value.isOnewayHead)
     84                if(value.isOnewayHead) {
    7685                    g.drawRect(xoff-1, p - 3 - w, w, w);
    77                 else
     86                } else {
    7887                    g.drawRect(xoff-1 + xowloop, p - 1 - w, w, w);
     88                }
    7989                y1 = p;
    8090            }
     
    8393        if (value.linkNext) {
    8494            g.setColor(Color.black);
    85             if(value.isOnewayTail)
     95            if(value.isOnewayTail) {
    8696                g.fillRect(xoff - 1, ymax, 3, 1);
    87             else
     97            } else {
    8898                g.fillRect(xoff - 1 + xowloop, ymax, 3, 1);
     99            }
    89100            y2 = ymax;
    90101        } else {
     
    99110            else {
    100111                g.setColor(Color.red);
    101                 if(value.isOnewayTail)
     112                if(value.isOnewayTail) {
    102113                    g.drawRect(xoff-1, ymax - p + 3, w, w);
    103                 else
     114                } else {
    104115                    g.drawRect(xoff-1 + xowloop, ymax - p + 1, w, w);
     116                }
    105117                y2 = ymax - p;
    106118            }
     
    144156            g.drawLine(xoff, y1, xoff, y2);
    145157        }
    146        
     158
    147159        g.drawLine(xoff+xowloop, y1, xoff+xowloop, y2);
    148      
     160
    149161        /* special icons */
    150162        Image arrow = null;
     
    169181
    170182        if (value.isOnewayLoopBackwardPart && value.isOnewayLoopForwardPart) {
    171             if(arrow == arrowDown)
     183            if(arrow == arrowDown) {
    172184                arrow = arrowUp;
    173             else if (arrow == arrowUp)
     185            } else if (arrow == arrowUp) {
    174186                arrow = arrowDown;
     187            }
    175188        }
    176189
     
    182195    private void setDotted(Graphics g) {
    183196        ((Graphics2D)g).setStroke(new BasicStroke(
    184               1f,
    185               BasicStroke.CAP_BUTT,
    186               BasicStroke.CAP_BUTT,
    187               5f,
    188               new float[] {1f, 2f},
    189               0f));
     197                1f,
     198                BasicStroke.CAP_BUTT,
     199                BasicStroke.CAP_BUTT,
     200                5f,
     201                new float[] {1f, 2f},
     202                0f));
    190203    }
    191204
  • trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableMemberCellRenderer.java

    r3083 r4072  
    2727
    2828        reset();
     29        if (value == null)
     30            return this;
    2931
    3032        renderForeground(isSelected);
  • trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableRoleCellRenderer.java

    r3083 r4072  
    1212
    1313        reset();
     14        if (value == null)
     15            return this;
    1416
    1517        renderForeground(isSelected);
  • trunk/src/org/openstreetmap/josm/gui/dialogs/relation/SelectionTableCellRenderer.java

    r3083 r4072  
    6868
    6969        reset();
     70        if (value == null)
     71            return this;
     72
    7073        renderBackground((OsmPrimitive)value, isSelected);
    7174        renderPrimitive((OsmPrimitive)value);
  • trunk/src/org/openstreetmap/josm/gui/history/NodeListTableCellRenderer.java

    r3083 r4072  
    6161    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
    6262            int row, int column) {
     63        if (value == null)
     64            return this;
     65
    6366        HistoryBrowserModel.NodeListTableModel model = getNodeListTableModel(table);
    6467        Long nodeId = (Long)value;
  • trunk/src/org/openstreetmap/josm/gui/history/RelationMemberListTableCellRenderer.java

    r3083 r4072  
    9494    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
    9595            int row, int column) {
     96        if (value == null)
     97            return this;
     98
    9699        HistoryBrowserModel.RelationMemberTableModel model = gteRelationMemberTableModel(table);
    97100        RelationMember member = (RelationMember)value;
  • trunk/src/org/openstreetmap/josm/gui/history/TagTableCellRenderer.java

    r3083 r4072  
    8282            int row, int column) {
    8383
     84        if (value == null)
     85            return this;
     86
    8487        String key = (String)value;
    8588        HistoryBrowserModel.TagTableModel model = getTagTableModel(table);
  • trunk/src/org/openstreetmap/josm/gui/history/VersionTableCellRenderer.java

    r3083 r4072  
    149149    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
    150150            int row, int column) {
     151
     152        if (value == null)
     153            return this;
     154
    151155        if (getModel(table).isLatest(row)) {
    152156            renderLatest(getModel(table).getLatest(),table, row, isSelected);
  • trunk/src/org/openstreetmap/josm/gui/io/SaveLayerInfoCellRenderer.java

    r3083 r4072  
    134134
    135135        resetRenderers();
     136        if (value == null)
     137            return null;
     138
    136139        SaveLayerInfo info = (SaveLayerInfo)value;
    137140        switch(column) {
    138             case 0: return prepareLayerNameRenderer(info);
    139             case 1: return prepareUploadRequiredRenderer(info);
    140             case 2: return prepareSaveToFileRequired(info);
    141             case 3: return prepareFileNameRenderer(info);
    142             case 4: return prepareUploadRenderer(info);
    143             case 5: return prepareSaveToFileRenderer(info);
     141        case 0: return prepareLayerNameRenderer(info);
     142        case 1: return prepareUploadRequiredRenderer(info);
     143        case 2: return prepareSaveToFileRequired(info);
     144        case 3: return prepareFileNameRenderer(info);
     145        case 4: return prepareUploadRenderer(info);
     146        case 5: return prepareSaveToFileRenderer(info);
    144147        }
    145148        return null;
  • trunk/src/org/openstreetmap/josm/gui/preferences/ColorPreference.java

    r3896 r4072  
    1313import java.util.HashMap;
    1414import java.util.Map;
     15import java.util.Map.Entry;
    1516import java.util.TreeMap;
    1617import java.util.Vector;
    17 import java.util.Map.Entry;
    1818import java.util.regex.Matcher;
    1919import java.util.regex.Pattern;
     
    3838import org.openstreetmap.josm.gui.dialogs.ConflictDialog;
    3939import org.openstreetmap.josm.gui.layer.GpxLayer;
     40import org.openstreetmap.josm.gui.layer.OsmDataLayer;
    4041import org.openstreetmap.josm.gui.layer.markerlayer.MarkerLayer;
    41 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
    4242import org.openstreetmap.josm.tools.ColorHelper;
    4343import org.openstreetmap.josm.tools.GBC;
     
    220220        colors.setDefaultRenderer(Object.class, new TableCellRenderer(){
    221221            public Component getTableCellRendererComponent(JTable t, Object o, boolean selected, boolean focus, int row, int column) {
     222                if (o == null)
     223                    return new JLabel();
    222224                if (column == 1) {
    223225                    JLabel l = new JLabel(ColorHelper.color2html((Color)o));
  • trunk/src/org/openstreetmap/josm/gui/preferences/SourceEditor.java

    r4041 r4072  
    8484
    8585    final protected boolean isMapPaint;
    86    
     86
    8787    protected JTable tblActiveSources;
    8888    protected ActiveSourcesModel activeSourcesModel;
     
    113113            // some kind of hack to prevent the table from scrolling slightly to the
    114114            // right when clicking on the text
     115            @Override
    115116            public void scrollRectToVisible(Rectangle aRect) {
    116117                super.scrollRectToVisible(new Rectangle(0, aRect.y, aRect.width, aRect.height));
     
    142143        });
    143144        activeSourcesModel.setActiveSources(getInitialSourcesList());
    144        
     145
    145146        final EditActiveSourceAction editActiveSourceAction = new EditActiveSourceAction();
    146147        tblActiveSources.getSelectionModel().addListSelectionListener(editActiveSourceAction);
     
    368369     */
    369370    protected enum I18nString { AVAILABLE_SOURCES, ACTIVE_SOURCES, NEW_SOURCE_ENTRY_TOOLTIP, NEW_SOURCE_ENTRY,
    370             REMOVE_SOURCE_TOOLTIP, EDIT_SOURCE_TOOLTIP, ACTIVATE_TOOLTIP, RELOAD_ALL_AVAILABLE,
    371             LOADING_SOURCES_FROM, FAILED_TO_LOAD_SOURCES_FROM, FAILED_TO_LOAD_SOURCES_FROM_HELP_TOPIC,
    372             ILLEGAL_FORMAT_OF_ENTRY }
     371        REMOVE_SOURCE_TOOLTIP, EDIT_SOURCE_TOOLTIP, ACTIVATE_TOOLTIP, RELOAD_ALL_AVAILABLE,
     372        LOADING_SOURCES_FROM, FAILED_TO_LOAD_SOURCES_FROM, FAILED_TO_LOAD_SOURCES_FROM_HELP_TOPIC,
     373        ILLEGAL_FORMAT_OF_ENTRY }
    373374
    374375    /**
     
    378379    private static void adjustColumnWidth(JTable tbl, int col) {
    379380        int maxwidth = 0;
    380                 for (int row=0; row<tbl.getRowCount(); row++) {
     381        for (int row=0; row<tbl.getRowCount(); row++) {
    381382            TableCellRenderer tcr = tbl.getCellRenderer(row, col);
    382                 Object val = tbl.getValueAt(row, col);
    383                 Component comp = tcr.getTableCellRendererComponent(tbl, val, false, false, row, col);
    384                 maxwidth = Math.max(comp.getPreferredSize().width, maxwidth);
    385                 }
    386                 tbl.getColumnModel().getColumn(col).setPreferredWidth(maxwidth);
     383            Object val = tbl.getValueAt(row, col);
     384            Component comp = tcr.getTableCellRendererComponent(tbl, val, false, false, row, col);
     385            maxwidth = Math.max(comp.getPreferredSize().width, maxwidth);
     386        }
     387        tbl.getColumnModel().getColumn(col).setPreferredWidth(maxwidth);
    387388    }
    388389
     
    587588            if (sel.length == 0)
    588589                return false;
    589             if (i < 0) { // Up
     590            if (i < 0)
    590591                return sel[0] >= -i;
    591             } else if (i > 0) { // Down
    592                 return sel[sel.length-1] <= getRowCount()-1 - i;
    593             } else
    594                 return true;
     592                else if (i > 0)
     593                    return sel[sel.length-1] <= getRowCount()-1 - i;
     594                else
     595                    return true;
    595596        }
    596597
     
    735736        }
    736737
     738        @Override
    737739        public String getTitle() {
    738740            return tfTitle.getText();
     
    12111213        }
    12121214    }
    1213    
     1215
    12141216    class SourceEntryTableCellRenderer extends DefaultTableCellRenderer {
    12151217        @Override
    12161218        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
     1219            if (value == null)
     1220                return this;
    12171221            SourceEntry se = (SourceEntry) value;
    12181222            JLabel label = (JLabel)super.getTableCellRendererComponent(table,
     
    14901494        public Collection<? extends SourceEntry> readNewFormat() {
    14911495            List<SourceEntry> entries = readNewFormatImpl();
    1492             if (entries == null) {
     1496            if (entries == null)
    14931497                return getDefault();
    1494             }
    14951498            return entries;
    14961499        }
     
    15001503            Collection<Collection<String>> mappaintSrc = Main.pref.getArray(pref, null);
    15011504            if (mappaintSrc == null || mappaintSrc.isEmpty()) {
    1502                 if (Main.pref.getBoolean(pref + "._empty_", false)) {
     1505                if (Main.pref.getBoolean(pref + "._empty_", false))
    15031506                    return Collections.<SourceEntry>emptyList();
    1504                 }
    15051507                return null;
    15061508            }
  • trunk/src/org/openstreetmap/josm/gui/tagging/TagCellRenderer.java

    r3083 r4072  
    8989            boolean isSelected, boolean hasFocus, int rowIndex, int vColIndex) {
    9090        resetRenderer();
     91        if (value == null)
     92            return this;
    9193
    9294        // set background color
Note: See TracChangeset for help on using the changeset viewer.