package mit.sql.ui ;

public class Table
extends mit.swing.ui.SortedTable
implements	mit.sql.event.TableRaiser
{
	private mit.event.RaiserAdapter raiserAdapter = new mit.event.RaiserAdapter( this ) ;
	public mit.event.RaiserAdapter getRaiserAdapter() { return this.raiserAdapter ; }
	public void setRaiserAdapter( mit.event.RaiserAdapter raiserAdapter ) { this.raiserAdapter = raiserAdapter ; }

	private String cell = null ;
	public String getCell() { return this.cell ; }
	public void setCell( String cell ) { this.cell = cell ; }

	private String columnName = null ;
	public String getColumnName() { return this.columnName ; }
	public void setColumnName( String columnName ) { this.columnName = columnName ; }

	private int row = 0 ;
	public int getRow() { return this.row ; }
	public void setRow( int row ) { this.row = row ; }

	public void valueChanged( javax.swing.event.ListSelectionEvent e )
	{
		try
		{
			super.valueChanged( e ) ;
			if( e.getValueIsAdjusting() )
			{
				setCell( ( String ) getModel().getValueAt( getSelectedRow() , getSelectedColumn() ) ) ;
				setColumnName( getModel().getColumnName( getSelectedColumn() ) ) ;
				setRow( getSelectedRow() ) ;
				( new mit.sql.event.TableEvent( this ) ).raise() ;			
			}
		}
		catch( Exception ex )
		{
			ex.printStackTrace() ;
		}
	}

	public void addNotify()
	{
		super.addNotify() ;
		try
		{
			setSelectionMode( javax.swing.ListSelectionModel.SINGLE_SELECTION ) ;
                  getAccessibleContext().setAccessibleName( "Table" ) ;
		}
		catch( Exception ex )
		{
			ex.printStackTrace() ;
		}
	}
}