package com.approximatrix.draco.main.ui;

import com.approximatrix.draco.application.ChildFrameRegistrar;
import com.approximatrix.draco.datamodel.StatTableModel;

public interface WorksheetHandler extends ChildFrameRegistrar {

	/** Sets the model of the main table to the specified StatTableModel
	 * as long as it is not null.  The routine also fires off some
	 * table updates.
	 * 
	 * @param model the model to become the new table model
	 */
	public abstract void setWindowTableModel(StatTableModel model);

	/** Sets the model of the main table to the specified StatTableModel
	 * as long as it is not null.  The routine also fires off some
	 * table updates.  This version then sets the current_filename value
	 * to the passed String, updating the window title appropriately.
	 * 
	 * @param model the model to become the new table model 
	 * @param filename the filename to set as the current_filename value
	 */
	public abstract void setWindowTableModel(StatTableModel model,
			String filename);

	/** Returns the model of the main table of this window
	 * 
	 * @return the model used by the main table
	 */
	public abstract StatTableModel getWindowTableModel();

	public abstract void setVisibleDesktop(boolean value);
	
	public void setUpdatableTable(boolean value);
	
}