diff options
Diffstat (limited to 'platform/platform-api/src/com/intellij/openapi/ui/ComboBoxTableRenderer.java')
-rw-r--r-- | platform/platform-api/src/com/intellij/openapi/ui/ComboBoxTableRenderer.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/platform/platform-api/src/com/intellij/openapi/ui/ComboBoxTableRenderer.java b/platform/platform-api/src/com/intellij/openapi/ui/ComboBoxTableRenderer.java index 9e6c0aa1b965..5d2ecafb1b7e 100644 --- a/platform/platform-api/src/com/intellij/openapi/ui/ComboBoxTableRenderer.java +++ b/platform/platform-api/src/com/intellij/openapi/ui/ComboBoxTableRenderer.java @@ -76,6 +76,10 @@ public class ComboBoxTableRenderer<T> extends JLabel implements TableCellRendere return value.toString(); } + protected Icon getIconFor(@NotNull T value) { + return null; + } + protected Runnable onChosen(@NotNull final T value) { stopCellEditing(value); @@ -137,6 +141,11 @@ public class ComboBoxTableRenderer<T> extends JLabel implements TableCellRendere return ComboBoxTableRenderer.this.getTextFor(value); } + @Override + public Icon getIconFor(T value) { + return ComboBoxTableRenderer.this.getIconFor(value); + } + public PopupStep onChosen(T selectedValue, boolean finalChoice) { myFinalRunnable = ComboBoxTableRenderer.this.onChosen(selectedValue); return FINAL_CHOICE; @@ -169,6 +178,9 @@ public class ComboBoxTableRenderer<T> extends JLabel implements TableCellRendere protected void customizeComponent(final T value, final JTable table, final boolean isSelected) { setOpaque(true); setText(value == null ? "" : getTextFor(value)); + if (value != null) { + setIcon(getIconFor(value)); + } setBackground(isSelected ? table.getSelectionBackground() : table.getBackground()); setForeground(isSelected ? table.getSelectionForeground() : table.getForeground()); } |