package visual.otros;

import java.awt.Color;
import java.awt.Font;

import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.table.DefaultTableModel;

import control.ControlPrincipal;
/**
 * Tabla la cual es usada en el panelCartola.
 * Contiene las columnas de Nº-Fecha-Documento-Fuente/Destino-Descripcion-Ingreso-Egreso-Saldo
 */
public class JTableTable extends JTable{
	
	String usuario;
	
	/**
	 * Constructor que inicia la tabla, asigandole el usuario del cual se obtienen sus datos
	 * @param usuario Usuario del cual se obtienen los datos.
	 */
	public JTableTable(String usuario){
		
		this.usuario = usuario;
		iniciar();
		
	}
	
	/**
	 * Inicia los componentes en la tabla
	 */
	
	private void iniciar(){
		
		setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
		setBackground(new Color(178, 223, 219));
        setFont(new Font("Candara", 0, 13)); // NOI18N
        setForeground(new Color(21, 21, 21));
        setModel(new DefaultTableModel(
            new Object [][] {
                {null, null, null, null, null, null, null, null}
            },
            new String [] {
                "N°", "Fecha", "Documento", "Fuente/Destino", "Descripcion", "Ingreso", "Egreso", "Saldo"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, false, false, false, false, false, false, false
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        setGridColor(new Color(255, 255, 255));
        setOpaque(false);
        setSelectionForeground(new Color(255, 255, 255));
		actTabla();
	}
	/**
	 * Llena con datos la tabla, los cuales son otorgados por la clase ControlPrincipal
	 */
	public void actTabla() {

		ControlPrincipal control = new ControlPrincipal(usuario);
		DefaultTableModel modelo = (DefaultTableModel) getModel();
		
		setModel(modelo);
		modelo.setRowCount(0);
		
		if (control.isFiled()) {
			
			for (int x = 0; x < control.getRowCount(); x++) {
				
				Object[] fila = control.getRow(x);
				modelo.addRow(fila);

			}
			
		}

	}
	
}
