X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/472ebca69079477e0ed0bee662b64c76e7cc2cab..50c9069c8a75496f67e22d2331b785b5b74666fa:/HTML/php/Tabla.php diff --git a/HTML/php/Tabla.php b/HTML/php/Tabla.php index 9b720a6..5be0bd8 100644 --- a/HTML/php/Tabla.php +++ b/HTML/php/Tabla.php @@ -44,6 +44,13 @@ class Tabla extends HTML_Table { * @var Object HTML_Table */ var $_tabla; + + /** + * Atributos de las tablas. + * + * @var array + */ + var $_atribTabla; /** * Constructor. @@ -61,15 +68,27 @@ class Tabla extends HTML_Table { { $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']; - } + $this->_atribTabla = $this->_parseAttributes($this->_conf['atributos']['tabla_comun']); //Genero el objeto HTML_Table - $this->HTML_Table($atributos); + if ($atributos != '') { + $tmp = $this->_parseAttributes($atributos); + if (isset($tmp['width'])) { + $this->_atribTabla['width'] = $tmp['width']; + } + if (isset($tmp['bgcolor'])) { + $this->_atribTabla['bgcolor'] = $tmp['bgcolor']; + } + if (isset($tmp['cellspacing'])) { + $this->_atribTabla['cellspacing'] = $tmp['cellspacing']; + } + if (isset($tmp['cellpadding'])) { + $this->_atribTabla['cellpadding'] = $tmp['cellpadding']; + } + } + $this->HTML_Table($this->_atribTabla); //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']); } /** @@ -88,7 +107,7 @@ class Tabla extends HTML_Table { * * @access public */ - function agregarFilaCabecera ($contenido = '') + function agregarFilaCabecera ($contenido = '', $atributos = '') { return $this->addRow($contenido, $this->_conf['atributos']['celda_cabecera'],'TH'); } @@ -114,21 +133,142 @@ class Tabla extends HTML_Table { 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.'"'); + } + + /** + * Setea una columna como del tipo cabecera + * + * @param int $columna + * + * @access public + */ + function setColCabecera ($columna) + { + return $this->updateColAttributes($columna,$this->_conf['atributos']['celda_cabecera']); + } + + /** + * Setea una columna como del tipo titulo + * + * @param int $columna + * + * @access public + */ + function setColTitulo ($columna) + { + return $this->updateColAttributes($columna,$this->_conf['atributos']['celda_titulo']); + } + + /** + * Alinea una columna entera + * + * @param int $columna + * @param string $valor + * + * @access public + */ + function setColAlign ($columna, $valor) + { + return $this->updateColAttributes($columna,'align="'.$valor.'"'); + } + + /** + * Cambia el tamanio de una columna entera + * + * @param int $columna + * @param string $valor + * + * @access public + */ + function setColWidth ($columna, $valor) + { + return $this->updateColAttributes($columna,'width="'.$valor.'"'); + } + + /** + * Cambia el color de fondo de una celda + * + * @param int $fila + * @param int $columna + * @param string $valor + * + * @access public + */ + function setCellBgcolor ($fila, $columna, $valor) + { + return $this->updateCellAttributes($fila, $columna,'bgcolor="'.$valor.'"'); + } + /** * Devuelve el html de la tabla * * Devuelve el html de la tabla para que sea mostrado. + * Como parametro recibe el indicador de tabla simple. + * Si doble es 0, devuelve el html comun y corriente, si es + * distinto de 0 devuelve una tabla sola + * + * @param int $doble * * @return string Html * * @access public */ - function toHtml () + function toHtml ($doble = 0) { // 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(); + if ($doble == 0 ) { + $tmp = $this->_parseAttributes($this->_conf['atributos']['tabla_contenedora']); + $tmp['width'] = $this->_atribTabla['width']; + $tabla_externa = new HTML_Table($tmp); + $tabla_externa->setCellContents(0,0,parent::toHtml(),$this->_conf['atributos']['celda_comun']); + $result = $tabla_externa->toHtml(); + } + else { + $result = parent::toHtml(); + } + + return $result; } } ?>