package de.roboshock.gui.util.tablegui;

import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;

public class ColumnModelHelper {

	public static void addColumn(final TableColumnModel columnModel, int colNr, int width, String title) {
		addColumn(columnModel, colNr, width, title, true);
	}
	
	public static void addColumn(final TableColumnModel columnModel, int colNr, int width, String title, boolean resizable) {
		TableColumn col = new TableColumn(colNr, width);
		col.setHeaderValue(title);
		if (! resizable) {
			col.setMaxWidth(width);
			col.setPreferredWidth(width);
		}
		columnModel.addColumn(col);
	}

	public static void setOnAllColumns(final TableColumnModel columnModel, TableCellRenderer renderer) {
		for (int i=0; i < columnModel.getColumnCount(); i++) {
			columnModel.getColumn(i).setCellRenderer(renderer);
		}
	}
}
