You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
SIPRP/trunk/SIPRPSoft/src/leaf/ui/LeafTableModel.java

180 lines
3.3 KiB

package leaf.ui;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import siprp.database.cayenne.objects.TrabalhadoresEcd;
import com.evolute.adt.OrderedMap;
import com.evolute.utils.tables.BaseTableModel;
import com.evolute.utils.tables.models.SortableModel;
public class LeafTableModel extends BaseTableModel
{
private static final long serialVersionUID = 1L;
private OrderedMap<Object> map = new OrderedMap<Object>();
public LeafTableModel(String n[])
{
super( n, null );
setChangeable( false );
}
public void clearAll()
{
int i = map.rows();
if( i > 0 )
{
map.clear();
fireTableRowsDeleted( 0, i - 1 );
}
}
@Override
public int innerGetRowCount()
{
return map == null ? 0 : map.rows();
}
@Override
public Object innerGetValueAt( int row, int col )
{
return map.getValueAt( row, col );
}
@Override
public void deleteRow( int row )
{
map.deleteRow( row );
}
public Object getKey( int row )
{
Object result = null;
if( row < map.rows() )
{
result = map.getKeyForRow( row );
}
return result;
}
public void setValues( Collection<? extends Object> v )
{
Iterator<? extends Object> iterator = v.iterator();
while( iterator.hasNext() )
{
Object value = iterator.next();
map.putLast( value, value.toString() );
}
fireTableDataChanged();
}
public void setValues( OrderedMap<? extends Object> map )
{
this.map = (OrderedMap<Object>) map;
fireTableDataChanged();
}
public void order(int ... colNumber )
{
if(colNumber != null)
{
map.order(colNumber);
fireTableDataChanged();
}
}
@Override
public void appendEmptyRow()
{
map.putLast( map.rows(), (Object) null );
}
@Override
public void innerSetValueAt( Object obj, int row, int col )
{
if( isCellEditable( row, col ) && map.getValueAt( row, col ) != null )
{
map.setValueAt( row, col, obj );
}
}
@Override
public boolean isRowEmpty( int row )
{
List<Object> line = map.getRow( row );
return line != null && line.size() > 0;
}
@Override
public boolean innerIsCellEditable( int row, int col )
{
return false;
}
public void printContents()
{
for( int r = 0; r < getRowCount(); r++ )
{
for( int c = 0; c < getColumnCount(); c++ )
{
Object val = getValueAt( r, c );
if( val != null )
{
System.out.print( val.toString() + "\t" );
}
}
System.out.println( "" );
}
}
// public void insertRowAt( Object rowObj, int row )
// {
// values.add( row, rowObj );
// fireTableDataChanged();
// }
//
// public void removeRowAt( int row )
// {
// values.remove( row );
// fireTableDataChanged();
// }
//
// public Object getRowAt( int row )
// {
// return values.elementAt( row );
// }
// public void swapRows( int row1, int row2 )
// {
// if( row1 == row2 || row1 < 0 || row2 < 0 || row1 >= getRowCount() || row2
// >= getRowCount() )
// {
// return;
// }
// // Collections.swap( values, row1, row2 );
// Object row1Data = getRowAt( row1 );
// Object row2Data = getRowAt( row2 );
// if( row1 < row2 )
// {
// removeRowAt( row2 );
// removeRowAt( row1 );
// insertRowAt( row2Data, row1 );
// insertRowAt( row1Data, row2 );
// }
// else
// {
// removeRowAt( row1 );
// removeRowAt( row2 );
// insertRowAt( row1Data, row2 );
// insertRowAt( row2Data, row1 );
// }
// }
}