| // +--------------------------------------------------------------------+ // // $Id$ // // $URL$ // $Rev$ // $Date$ // $Author$ require_once 'HTML/Table.php'; /** * Manejo de tablas. * * Libreria para le manejo de las tablas de los sistemas de intranet. * * @version $Rev$ * @author $Author$ */ class Tabla extends HTML_Table { /** * Valores de Configuracion particular * * @var array */ var $_conf; /** * Objeto tabla que voy a utilizar * * @var Object HTML_Table */ var $_tabla; /** * Constructor. * * Puede recibir como parametro un string con los atributos que se * quieren dar a la tabla en cuestion. Estos atributos estan * seteados por default segun el archivo de configuracion. * * @param $atributos Atributos diferentes a los estandares para la * tabla * * @access public */ function Tabla ($atributos = '') { $this->_conf = include 'Tabla/conf_Tabla.php'; // Obtengo los valores particulares de configuracion // Seteo los atributos para la tabla if (!strcmp($atributos,'')) { $atributos = $this->_conf['atributos']['tabla_comun']; } //Genero el objeto HTML_Table $this->HTML_Table($atributos); //Modifico los atributos de todas las tablas //Hay que encontrar o hacer una funcion que setee los atributos para las futuras //inserciones. // $this->setAllAttributes($this->_conf['atributos']['celda_comun']); } /** * Agrega una fila del tipo Cabecera * * Agrega una fila del tipo cabecera, tomando colores y demas del * archivo de configuracion. Recibe como parametro un array con * los datos a incluir en la linea. Agrega tantas columnas como * elementos tenga el array. Si no recibe parametro alguno, * inserta una fila en blanco. Devuelve el identificador de la * fila en donde inserto los datos. * * @param $contenido Contenido de la fila * * @return int Identificador de Linea * * @access public */ function agregarFilaCabecera ($contenido = '', $atributos = '') { return $this->addRow($contenido, $this->_conf['atributos']['celda_cabecera'],'TH'); } /** * Agrega una fila del tipo Comun * * Agrega una fila del tipo comun, tomando colores y demas del * archivo de configuracion. Recibe como parametro un array con * los datos a incluir en la linea. Agrega tantas columnas como * elementos tenga el array. Si no recibe parametro alguno, * inserta una fila en blanco. Devuelve el identificador de la * fila en donde inserto los datos. * * @param $contenido Contenido de la fila * * @return int Identificador de Linea * * @access public */ function agregarFila ($contenido = '') { return $this->addRow($contenido,$this->_conf['atributos']['celda_comun']); } /** * Modifica el atributo rowSpan a la celda pasada por parametro * * @param int $fila * @param int $columna * @param int $valor * * @access public */ function rowSpan ($fila, $columna, $valor) { return $this->updateCellAttributes($fila, $columna, 'rowspan='.$valor); } /** * Modifica el atributo colSpan a la celda pasada por parametro * * @param int $fila * @param int $columna * @param int $valor * * @access public */ function colSpan ($fila, $columna, $valor) { return $this->updateCellAttributes($fila, $columna, 'colspan='.$valor); } /** * Modifica el atributo aling de la celda pasada por parametro * * @param int $fila * @param int $columna * @param string $valor (left, center, right...) * * @access public */ function align ($fila, $columna, $valor) { return $this->updateCellAttributes($fila, $columna, 'align="'.$valor.'"'); } /** * Devuelve el html de la tabla * * Devuelve el html de la tabla para que sea mostrado. * * @return string Html * * @access public */ function toHtml () { // Agregar la tabla de fondo. $tabla_externa = new HTML_Table($this->_conf['atributos']['tabla_contenedora']); $tabla_externa->setCellContents(0,0,parent::toHtml(),$this->_conf['atributos']['celda_comun']); return $tabla_externa->toHtml(); } } ?>