| 1 | package com.googlecode.lanterna.gui2.table; |
| 2 | |
| 3 | import com.googlecode.lanterna.TerminalTextUtils; |
| 4 | import com.googlecode.lanterna.TerminalSize; |
| 5 | import com.googlecode.lanterna.gui2.TextGUIGraphics; |
| 6 | |
| 7 | /** |
| 8 | * Default implementation of {@code TableHeaderRenderer} |
| 9 | * @author Martin |
| 10 | */ |
| 11 | public class DefaultTableHeaderRenderer<V> implements TableHeaderRenderer<V> { |
| 12 | @Override |
| 13 | public TerminalSize getPreferredSize(Table<V> table, String label, int columnIndex) { |
| 14 | if(label == null) { |
| 15 | return TerminalSize.ZERO; |
| 16 | } |
| 17 | return new TerminalSize(TerminalTextUtils.getColumnWidth(label), 1); |
| 18 | } |
| 19 | |
| 20 | @Override |
| 21 | public void drawHeader(Table<V> table, String label, int index, TextGUIGraphics textGUIGraphics) { |
| 22 | textGUIGraphics.applyThemeStyle(textGUIGraphics.getThemeDefinition(Table.class).getCustom("HEADER")); |
| 23 | textGUIGraphics.putString(0, 0, label); |
| 24 | } |
| 25 | } |