/*
* The contents of this file are subject to the Mozilla Public License
* Version 1.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
* License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is iSQL-Viewer, A Mutli-Platform Database Tool.
*
* The Initial Developer of the Original Code is iSQL-Viewer, A Mutli-Platform Database Tool.
* Portions created by Mark A. Kobold are Copyright (C) 2000-2007. All Rights Reserved.
*
* Contributor(s):
* Mark A. Kobold [mkobold <at> isqlviewer <dot> com].
*
* If you didn't download this code from the following link, you should check
* if you aren't using an obsolete version: http://www.isqlviewer.com
*/
package org.isqlviewer.ui.renderer;
import java.awt.Component;
import java.text.DateFormat;
import java.text.MessageFormat;
import java.util.Date;
import javax.swing.JTable;
import org.isqlviewer.history.HistoricalCommand;
import org.isqlviewer.model.HistoryTreeModel;
import org.isqlviewer.ui.laf.EnhancedTableCellRenderer;
/**
* @author Mark A. Kobold <mkobold at isqlviewer dot com>
* @version 1.0
*/
public class HistoryTableCellRenderer extends EnhancedTableCellRenderer {
private static final long serialVersionUID = -4705227985345615150L;
private MessageFormat childCountFormat = new MessageFormat("({0, number, integer})");
private HistoryTreeModel model = null;
public HistoryTableCellRenderer(HistoryTreeModel model) {
this.model = model;
}
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
int row, int column) {
super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if (value instanceof HistoricalCommand) {
DateFormat timeFormat = DateFormat.getTimeInstance(DateFormat.MEDIUM);
Date date = ((HistoricalCommand) value).getQueryTime();
setText(timeFormat.format(date));
} else if (value instanceof Date) {
int count = model.getChildCount(value);
setText(childCountFormat.format(new Object[]{new Integer(count)}));
}
return this;
}
}
|