package net.dirtyfilthy.Bitten;
import java.util.ArrayList;
import java.util.List;
import org.jdesktop.swingx.treetable.DefaultTreeTableModel;
import org.jdesktop.swingx.treetable.TreeTableNode;
import com.google.bitcoin.core.Accountable;
import com.google.bitcoin.core.GraphTransaction;
public class TransactionTreeTableModel extends DefaultTreeTableModel {
private ControlPanel panel;
public TransactionTreeTableModel() {
// TODO Auto-generated constructor stub
}
public TransactionTreeTableModel(TreeTableNode root) {
super(root);
// TODO Auto-generated constructor stub
}
public TransactionTreeTableModel(TreeTableNode root, List<?> columnNames) {
super(root, columnNames);
// TODO Auto-generated constructor stub
}
public Class<?> getColumnClass(int column) {
switch(column){
case 6:
return Boolean.class;
default:
return Object.class;
}
}
@Override
public boolean isCellEditable(Object arg0, int arg1) {
if(arg1==6){
return true;
}
return false;
}
public void setIncomingVisible(Accountable target, boolean b) {
int count=this.getRoot().getChildCount();
int i=0;
for(i=0;i<count;i++){
TransactionTreeNode t=(TransactionTreeNode) this.getRoot().getChildAt(i);
if(target!=null && target.incomingAmount(t.transaction).compareTo(target.outgoingAmount(t.transaction))>=0){
System.out.println("setting value to "+b);
t.setValueAt(b,6);
}
}
}
public ArrayList<GraphTransaction> transactions(){
return ((RootTransactionTreeNode) this.getRoot()).list;
}
public void setOutgoingVisible(Accountable target, boolean b) {
int count=this.getRoot().getChildCount();
int i=0;
for(i=0;i<count;i++){
TransactionTreeNode t=(TransactionTreeNode) this.getRoot().getChildAt(i);
if(target==null || target.incomingAmount(t.transaction).compareTo(target.outgoingAmount(t.transaction))<0){
System.out.println("setting value to "+b);
t.setValueAt(b,6);
}
}
}
}