package org.arong.egdownloader.ui.table;
import java.util.List;
import javax.swing.table.AbstractTableModel;
import org.arong.egdownloader.model.Task;
import org.arong.egdownloader.ui.ComponentConst;
/**
* 任务表格数据模型
* @author 阿荣
* @since 2014-05-23
*/
public class TaskTableModel extends AbstractTableModel{
private static final long serialVersionUID = -7062795869810088466L;
private List<Task> tasks;
public TaskTableModel(List<Task> tasks){
this.tasks = tasks;
}
public int getRowCount() {
return tasks == null ? 0 : tasks.size();
}
public int getColumnCount() {
return ComponentConst.TASK_TABLE_HEADER.length;
}
public Class<?> getColumnClass(int columnIndex) {
return java.lang.String.class;
}
//数据显示
public Object getValueAt(int rowIndex, int columnIndex) {
switch(columnIndex){
case 0 :
return "";
case 1 :
return (tasks.get(rowIndex).getTag() == null ? "" : "<html><font color=\"#248FB7\">[<i>" + tasks.get(rowIndex).getTag() + "</i> ]</font>") + tasks.get(rowIndex).getName() + "</html>";
case 2 :
return tasks.get(rowIndex).getTotal();
case 3 :
return tasks.get(rowIndex).getLanguage();
case 4 :
return tasks.get(rowIndex).getCurrent();
case 5 :
return tasks.get(rowIndex).getStatus().getStatus();
default :
return "";
}
}
//表头显示
public String getColumnName(int column) {
if(column == 0){
return tasks.size() + "";
}
return ComponentConst.TASK_TABLE_HEADER[column];
}
public void setTasks(List<Task> tasks) {
this.tasks = tasks;
}
public List<Task> getTasks() {
return tasks;
}
}