package asandatabasebrowser.view;

import java.awt.Color;
import java.awt.Component;
import javax.swing.*;
import javax.swing.table.*;

import asandatabasebrowser.model.VvDatabase;


/**
 * カラム名を表示するクラス.
 */
public class DbColumnNameRenderer extends DefaultTableCellRenderer/* implements TableCellRenderer*/ {
	private final VvDatabase db;
	DbColumnNameRenderer(VvDatabase db) {
		this.db = db;
	}

	public Component getTableCellRendererComponent(JTable table,
				Object value, boolean isSelected, boolean hasFocus, int row, int column) {
		// フォーカスのある場所の情報を表示する。
//		if(hasFocus) System.out.println("getTableCellRendererComponent("+value+":"+
//						((value!=null)?(value.getClass().toString()):("null"))+","+
//						row+","+column+")");
		// 基本的にはデフォルトの描画を行う。
		Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
		JLabel label = (JLabel) c;
//		DbRecordView view = (DbRecordView) table;
//		// プライマリキーか？
//		boolean isPrimaryKey = false;
//		if (view.tableInfo instanceof TableInfo) {
//			TableInfo tableInfo = (TableInfo) view.tableInfo;
//			ColumnInfo col = tableInfo.getColumnInfo(row);
//			isPrimaryKey = tableInfo.pkList.contains(col.columnName);
//		}
//		if (isPrimaryKey) {
//			label.setIcon(Global.getImageIcon("/resources/PK.png"));
//		} else {
//			label.setIcon(null);
//		}
//		c.setForeground(Color.black);
		if (! isSelected) {
//			c.setBackground(Global.localization.getColumnColor((String)value));
			//System.out.println("value="+value);
			label.setBackground(Color.WHITE);
			if (db.highlightList != null) {
				db.highlightList.setHighlight(value.toString(), label);
			}
		}
		label.setHorizontalAlignment(JLabel.LEFT);
		label.setOpaque(true);
//		label.setText(value);
		return c;
	}
}


