Changeset 7948 in josm for trunk/src


Ignore:
Timestamp:
2015-01-09T22:18:53+01:00 (5 years ago)
Author:
Don-vip
Message:

fix #10939 - handle line wrapping in changeset discussion comments

Location:
trunk/src/org/openstreetmap/josm/gui/dialogs/changeset
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetDiscussionPanel.java

    r7937 r7948  
    77import java.awt.Component;
    88import java.awt.FlowLayout;
     9import java.awt.Rectangle;
    910import java.awt.event.ActionEvent;
    1011import java.beans.PropertyChangeEvent;
     
    112113        JPanel pnl = new JPanel(new BorderLayout());
    113114        table = new JTable(model, new ChangesetDiscussionTableColumnModel());
     115        table.getColumnModel().getColumn(2).addPropertyChangeListener(new PropertyChangeListener() {
     116            @Override
     117            public void propertyChange(PropertyChangeEvent evt) {
     118                if ("width".equals(evt.getPropertyName())) {
     119                    updateRowHeights();
     120                }
     121            }
     122        });
    114123        pnl.add(new JScrollPane(table), BorderLayout.CENTER);
    115124        return pnl;
     
    122131    protected void updateView(Changeset cs) {
    123132        model.populate(cs.getDiscussion());
     133        updateRowHeights();
     134    }
     135
     136    protected void updateRowHeights() {
     137        int intercellWidth = table.getIntercellSpacing().width;
     138        int colWidth = table.getColumnModel().getColumn(2).getWidth();
    124139        // Update row heights
    125140        for (int row = 0; row < table.getRowCount(); row++) {
     
    127142
    128143            Component comp = table.prepareRenderer(table.getCellRenderer(row, 2), row, 2);
     144            // constrain width of component
     145            comp.setBounds(new Rectangle(0, 0, colWidth - intercellWidth, Integer.MAX_VALUE));
    129146            rowHeight = Math.max(rowHeight, comp.getPreferredSize().height);
    130147
  • trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetDiscussionTableCellRenderer.java

    r7937 r7948  
    3434        case 2:
    3535            comp = new JosmTextArea((String) value);
     36            ((JosmTextArea)comp).setLineWrap(true);
     37            ((JosmTextArea)comp).setWrapStyleWord(true);
    3638            reset(comp, false);
    3739            renderColors(comp, isSelected);
Note: See TracChangeset for help on using the changeset viewer.