/**

 * Interface EDataTableModel

 * modified by Max Perkins and Dr. J. Hasbun in January 2004

 * @author

 * @version %I%, %G%

 */

/* This class was modified by Max Perkins and Dr. J. Hasbun in February 2004.
 * The only change is the name (DataTableModel to EDataTableModel). It was 
 * modified to accompany the changes in DataTable (now EDataTable).
 * 
 * Max Perkins was sponsored by the NASA Space Grant Consortium through Dr. Ben de Mayo 
 * of the Physics Department at the State University of West Georgia.
 */

package org.opensourcephysics.jahasbun.QE.display;

import javax.swing.table.TableModel;
import org.opensourcephysics.display.*;

public interface EDataTableModel extends TableModel {



  /**

   * Sets the visibility of a column of a TableModel in the DataTable.

   * @param tableModel

   * @param columnIndex

   * @param b

   */

  public void setColumnVisible(TableModel tableModel, int columnIndex, boolean b);



  /**

   * Remove a TableModel object from the table model list.

   * @param tableModel

   */

  public void remove(TableModel tableModel);



  /**

   * Remove all TableModels from the table model list.

   */

  public void clear();  

  /**

   * Add a TableModel object to the table model list.

   * @param tableModel

   */

  public void add(TableModel tableModel);
  
  /**

   * Sets the stride of a TableModel in the DataTable.

   * @param tableModel

   * @param stride

   */

  public void setStride(TableModel tableModel, int stride);



  /**

   * Sets the display row number flag.  Table displays row number.

   * @param rowNumberVisible

   */

  public void setRowNumberVisible(boolean rowNumberVisible);

  /**

   * Gets the display row number flag.

   *

   * @return

   */

  public boolean isRowNumberVisible();

}


