X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/a7cb7136067c82f84b1bde313c02d584eb7d39e5..5abd29f291d601abd0bfcedb88c82b1aa723d614:/HTML/php/Tabla.php?ds=inline diff --git a/HTML/php/Tabla.php b/HTML/php/Tabla.php index 39ac0ed..7ff4816 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']); } /** @@ -157,21 +176,87 @@ class Tabla extends HTML_Table { 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']); + } + + /** + * Alinea una columna entera + * + * @param int $columna + * @param strin $valor + * + * @access public + */ + function setColAlign ($columna, $valor) + { + return $this->updateColAttributes($columna,'align="'.$valor.'"'); + } + + /** + * Cambia el tamanio de una columna entera + * + * @param int $columna + * @param strin $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 strin $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; } } ?>