public Dimension getCellContentSize(Object value) { if (value == null) { return null; } String s = value.toString(); return new Dimension(font.stringWidth(s), font.getHeight()); }
public void paint(GLEx g, Object value, int x, int y, int width, int height) { if (value instanceof BindIcon) { int size = font.getHeight() - 4; BindIcon icon = (BindIcon) value; String s = icon.name; s = font.confineLength(s, width - size - 4); int entryOffset = 4 + alignment.alignX(width - 4, font.stringWidth(s)); g.setFont(font); g.setColor(textColor); if (icon.texture != null) { g.drawTexture(icon.texture, x + 4, y + (font.getHeight() - size) / 2, size, size); g.drawString(s, x + size + entryOffset + 4, y + font.getHeight() - 4); } else { g.drawString(s, x + entryOffset, y + font.getHeight() - 4); } } else { String s = value.toString(); s = font.confineLength(s, width - 4); int entryOffset = 4 + alignment.alignX(width - 4, font.stringWidth(s)); g.setFont(font); g.setColor(textColor); g.drawString(s, x + entryOffset, y + font.getHeight() - 4); } }