@Override
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
JLabel label = (JLabel) super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
final int tableSize = list.getModel().getSize();
if (tableSize == 0) {
label.setText("<No table found>");
return label;
} else {
if (index == -1) {
label.setText("<Select database table>");
return label;
} else {
if (value instanceof DatabaseRelationDefinition) {
DatabaseRelationDefinition td = (DatabaseRelationDefinition) value;
ImageIcon icon = IconLoader.getImageIcon("images/db_table.png");
label.setIcon(icon);
label.setText(td.getID().getSQLRendering());
} else if (value instanceof ParserViewDefinition) {
ParserViewDefinition vd = (ParserViewDefinition) value;
ImageIcon icon = IconLoader.getImageIcon("images/db_view.png");
label.setIcon(icon);
label.setText(vd.getID().getSQLRendering());
}
return label;
}
}
}
}