- Timestamp:
- 2012-02-20T21:05:09+01:00 (13 years ago)
- Location:
- trunk/src/org/openstreetmap/josm/gui/preferences/shortcut
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/preferences/shortcut/PrefJPanel.java
r4980 r5006 2 2 package org.openstreetmap.josm.gui.preferences.shortcut; 3 3 4 import java.awt.Color; 5 import java.awt.Component; 4 6 import java.awt.Dimension; 5 7 import java.awt.GridBagConstraints; … … 8 10 import java.awt.Toolkit; 9 11 12 import static org.openstreetmap.josm.tools.I18n.marktr; 10 13 import static org.openstreetmap.josm.tools.I18n.tr; 11 14 … … 40 43 import javax.swing.table.AbstractTableModel; 41 44 import javax.swing.table.TableModel; 45 import javax.swing.table.DefaultTableCellRenderer; 46 import javax.swing.table.TableColumnModel; 42 47 43 48 import javax.swing.table.TableRowSorter; … … 144 149 } 145 150 151 private static class ShortcutTableCellRenderer extends DefaultTableCellRenderer { 152 153 private boolean name; 154 155 public ShortcutTableCellRenderer(boolean name) { 156 this.name = name; 157 } 158 159 @Override 160 public Component getTableCellRendererComponent(JTable table, Object value, boolean 161 isSelected, boolean hasFocus, int row, int column) { 162 if(value instanceof Shortcut) 163 { 164 Shortcut sc = (Shortcut) value; 165 JLabel label = (JLabel) super.getTableCellRendererComponent( 166 table, name ? sc.getLongText() : sc.getKeyText(), isSelected, hasFocus, row, column); 167 label.setBackground(Main.pref.getUIColor("Table.background")); 168 if (isSelected) { 169 label.setForeground(Main.pref.getUIColor("Table.foreground")); 170 } 171 if(sc.getAssignedUser()) { 172 label.setBackground(Main.pref.getColor( 173 marktr("Shortcut Background: User"), 174 new Color(200,255,200))); 175 } else if(!sc.getAssignedDefault()) { 176 label.setBackground(Main.pref.getColor( 177 marktr("Shortcut Background: Modified"), 178 new Color(255,255,200))); 179 } 180 return label; 181 } 182 return null; 183 } 184 } 185 146 186 private void initComponents() { 147 187 JPanel listPane = new JPanel(); … … 160 200 shortcutTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); 161 201 shortcutTable.setAutoCreateRowSorter(true); 202 TableColumnModel mod = shortcutTable.getColumnModel(); 203 mod.getColumn(0).setCellRenderer(new ShortcutTableCellRenderer(true)); 204 mod.getColumn(1).setCellRenderer(new ShortcutTableCellRenderer(false)); 162 205 listScrollPane.setViewportView(shortcutTable); 163 206 … … 268 311 actionPerformed(null); 269 312 } 270 model.fireTable CellUpdated(row,1);313 model.fireTableRowsUpdated(row, row); 271 314 } else { 272 315 panel.disableAllModifierCheckboxes(); -
trunk/src/org/openstreetmap/josm/gui/preferences/shortcut/ShortcutPreference.java
r4980 r5006 65 65 } 66 66 public Object getValueAt(int row, int col) { 67 Shortcut sc = data.get(row); 68 if (col == 0) 69 return sc.getLongText(); 70 else if (col == 1) 71 return sc.getKeyText(); 72 else 73 // This is a kind of hack that allows the actions on the editing controls 74 // to access the underlying shortcut object without introducing another 75 // method. I opted to stay within the interface. 76 return sc; 67 return data.get(row); 77 68 } 78 69 @Override
Note:
See TracChangeset
for help on using the changeset viewer.