package com.aionemu.packetsamurai.gui;
import org.jdesktop.swingx.treetable.DefaultTreeTableModel;
import org.jdesktop.swingx.treetable.TreeTableNode;
import com.aionemu.packetsamurai.parser.datatree.DataTreeNode;
import com.aionemu.packetsamurai.parser.datatree.ValuePart;
/**
* @author Ulysses R. Ribeiro
*
*/
class PacketViewTableModel extends DefaultTreeTableModel
{
private static final String[] columnNames = {
"Name",
"Value",
"Lookup"
};
public PacketViewTableModel(TreeTableNode root)
{
super(root);
}
@Override
public int getColumnCount()
{
return columnNames.length;
}
@Override
public String getColumnName(int col)
{
return columnNames[col];
}
public Object getValueAt(Object node, int column)
{
DataTreeNode part = ((DataPartNode)node).getPacketNode();
switch(column)
{
case 0:
return part.treeString();
case 1:
if(part instanceof ValuePart)
{
return ((ValuePart)part).getValueAsString();
}
return "";
case 2:
if(part instanceof ValuePart)
{
return ((ValuePart)part).readValueToComponent();
}
return "";
default:
return "";
}
}
}