forked from Coded/SIPRP
				
			
			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.
		
		
		
		
		
			
		
			
				
					
					
						
							180 lines
						
					
					
						
							3.3 KiB
						
					
					
				
			
		
		
	
	
							180 lines
						
					
					
						
							3.3 KiB
						
					
					
				| package leaf.ui;
 | |
| 
 | |
| import java.util.Collection;
 | |
| import java.util.Iterator;
 | |
| import java.util.List;
 | |
| 
 | |
| import leaf.data.OrderedMap;
 | |
| 
 | |
| import siprp.database.cayenne.objects.TrabalhadoresEcd;
 | |
| 
 | |
| 
 | |
| 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 );
 | |
| 	// }
 | |
| 	// }
 | |
| 
 | |
| }
 |