X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/e7b590cdbf44f5e9c8dab58f13b45b685c211a30..6e11ec23d5aa6e7de4292bf176be4e139b416dc7:/lib/MECON/HTML/Tabla.php diff --git a/lib/MECON/HTML/Tabla.php b/lib/MECON/HTML/Tabla.php index a4eb4d8..d12cacf 100644 --- a/lib/MECON/HTML/Tabla.php +++ b/lib/MECON/HTML/Tabla.php @@ -27,46 +27,43 @@ $Id$ 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 { - +class MECON_HTML_Tabla extends HTML_Table { + /** * Valores de Configuracion particular * - * @var array + * @var array() $conf + * @access protected */ var $_conf; /** * Atributos de las tablas. * - * @var array + * @var array() attrs + * @access protected */ var $_attrs; /** * 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. + * Ademas puede recibir la indicacion de algun estilo en particular. * - * @param mixed $atributos Atributos diferentes a los estandares para la - * tabla - * @param string $estilo Tipo de tabla. (comun, servicio) + * @param mixed $atributos Atributos diferentes a los estandares para la tabla + * @param string $estilo Tipo de tabla * * @access public */ - function Tabla($attrs = null, $estilo = 'comun') + function MECON_HTML_Tabla($attrs = null, $estilo = 'comun') { - $this->_conf = include 'MECON/HTML/Tabla/estilo_'.$estilo.'.php'; // Obtengo los valores particulares de configuracion + // Obtengo los valores particulares de configuracion. + $this->_conf = include(dirname(__FILE__) . '/Tabla/estilo_' . $estilo . '.php'); // Seteo los atributos para la tabla $this->_attrs = $this->_conf['atributos']['tabla_comun']; //Genero el objeto HTML_Table @@ -77,6 +74,9 @@ class Tabla extends HTML_Table { if (isset($attrs['width'])) { $this->_attrs['width'] = $attrs['width']; } + if (isset($attrs['align'])) { + $this->_attrs['align'] = $attrs['align']; + } if (isset($attrs['bgcolor'])) { $this->_attrs['bgcolor'] = $attrs['bgcolor']; } @@ -91,19 +91,16 @@ class Tabla extends HTML_Table { } /** - * Agrega una fila del tipo Cabecera - * - * Agrega una fila del tipo cabecera, tomando colores y demas del + * 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 + * @param array() $contenido Contenido de la fila * * @return int Identificador de Linea - * * @access public * @deprecated */ @@ -113,8 +110,6 @@ class Tabla extends HTML_Table { } /** - * 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 @@ -122,7 +117,7 @@ class Tabla extends HTML_Table { * inserta una fila en blanco. Devuelve el identificador de la * fila en donde inserto los datos. * - * @param $contenido Contenido de la fila + * @param array() $contenido Contenido de la fila * * @return int Identificador de Linea * @@ -137,9 +132,9 @@ class Tabla extends HTML_Table { /** * Modifica el atributo rowSpan a la celda pasada por parametro * - * @param int $fila - * @param int $columna - * @param int $valor + * @param int $fila Identificador de la fila que se quiere modificar + * @param int $columna Identificador de la columna que se quiere modificar + * @param int $valor Atributo a modificar * * @access public * @deprecated @@ -152,9 +147,9 @@ class Tabla extends HTML_Table { /** * Modifica el atributo colSpan a la celda pasada por parametro * - * @param int $fila - * @param int $columna - * @param int $valor + * @param int $fila Identificador de la fila que se quiere modificar + * @param int $columna Identificador de la columna que se quiere modificar + * @param int $valor Atributo a modificar * * @access public * @deprecated @@ -167,9 +162,9 @@ class Tabla extends HTML_Table { /** * Modifica el atributo aling de la celda pasada por parametro * - * @param int $fila - * @param int $columna - * @param string $valor (left, center, right...) + * @param int $fila Identificador de la fila que se quiere modificar + * @param int $columna Identificador de la columna que se quiere modificar + * @param string $valor Atributo a modificar * * @access public * @deprecated @@ -182,7 +177,7 @@ class Tabla extends HTML_Table { /** * Setea una columna como del tipo cabecera * - * @param int $columna + * @param int $columna Identificador de la columna que se quiere modificar * * @access public * @deprecated @@ -195,7 +190,7 @@ class Tabla extends HTML_Table { /** * Setea una columna como del tipo titulo * - * @param int $columna + * @param int $columna Identificador de la columna que se quiere modificar * * @access public * @deprecated @@ -208,8 +203,8 @@ class Tabla extends HTML_Table { /** * Alinea una columna entera * - * @param int $columna - * @param string $valor + * @param int $columna Identificador de la columna que se quiere modificar + * @param string $valor Valor * * @access public * @deprecated @@ -222,8 +217,8 @@ class Tabla extends HTML_Table { /** * Cambia el tamanio de una columna entera * - * @param int $columna - * @param string $valor + * @param int $columna Identificadore de la columna que se quiere modificar + * @param string $valor Valor * * @access public * @deprecated @@ -236,9 +231,9 @@ class Tabla extends HTML_Table { /** * Cambia el color de fondo de una celda * - * @param int $fila - * @param int $columna - * @param string $valor + * @param int $fila Identificador de la fila que se quiere modificar + * @param int $columna Identificador de la columna que se quiere modificar + * @param string $valor Atributo a modificar * * @access public * @deprecated @@ -256,7 +251,7 @@ class Tabla extends HTML_Table { * Si $simple es falso, devuelve el html comun y corriente (con 2 * tablas), si es false devuelve una tabla sola. * - * @param bool $simple + * @param bool $simple Tipo de tabla que se quiere recibir. * * @return string Html * @@ -264,12 +259,14 @@ class Tabla extends HTML_Table { */ function toHtml($simple = 0) { + // Agregar la tabla de fondo. if ($simple) { $result = parent::toHtml(); } else { $contenedora = $this->_conf['atributos']['tabla_contenedora']; $contenedora['width'] = $this->getAttribute('width'); + $contenedora['align'] = $this->getAttribute('align'); $this->updateAttributes(array('width' => '100%')); $tabla_externa = new HTML_Table($contenedora); $tabla_externa->addRow(array(parent::toHtml()), @@ -287,15 +284,15 @@ class Tabla extends HTML_Table { * asociativo, se setean los atributos representados por las claves * con los valores. * - * @param int $row - * @param int $col - * @param mixed $attrs + * @param int $row Identificador de la fila que se quiere modificar + * @param int $col Identificador de la columna que se quiere modificar + * @param mixed $attrs Atributo a modificar * * @access public */ function updateCellAttributes($row, $col, $attrs) { - return parent::updateCellAttributes($row, $col, $this->_translateAttributes($attrs)); + return parent::updateCellAttributes($row, $col, $this->_translateAttributes($attrs, false)); } /** @@ -305,15 +302,15 @@ class Tabla extends HTML_Table { * asociativo, se setean los atributos representados por las claves * con los valores. * - * @param int $row - * @param int $col - * @param mixed $attrs + * @param int $row Identificador de la fila que se quiere modificar + * @param int $col Identificador de la columna que se quiere modificar + * @param mixed $attrs Atributo a modificar * * @access public */ function setCellAttributes($row, $col, $attrs) { - return parent::setCellAttributes($row, $col, $this->_translateAttributes($attrs)); + return parent::setCellAttributes($row, $col, $this->_translateAttributes($attrs, true)); } /** @@ -322,10 +319,10 @@ class Tabla extends HTML_Table { * Agrega una fila. El contenido es el que viene representado por * el array $content. Recibe los atributos en la variable $attrs * - * @param mixed $content - * @param mixed $attrs + * @param mixed $content Contenido + * @param mixed $attrs Atributos * - * @return int $rowId + * @return int $rowId Identificador de la fila * * @access public */ @@ -340,12 +337,13 @@ class Tabla extends HTML_Table { * Convierte un atributo HTML al string para pasar a los metodos de HTML_Table * Recibe en $attrs los atributos a modificar. * - * @param string $attrs + * @param mixed $attrs Atributos. + * @param bool $isSet Indica si hay que setear. * - * @return string + * @return array * @access private */ - function _translateAttributes($attrs) + function _translateAttributes($attrs, $isSet) { if (!$attrs) { return array(); @@ -353,9 +351,11 @@ class Tabla extends HTML_Table { if (is_string($attrs)) { $attrs = $this->_parseAttributes($attrs); } - #$rta = array(); - $rta = $this->_conf['atributos']['celda_comun']; - #$sin_estilo = true; + if ($isSet) { + $rta = $this->_conf['atributos']['celda_comun']; + } else { + $rta = array(); + } foreach ($attrs as $attr => $val) { $attr = strtolower($attr); switch ($attr) { @@ -363,7 +363,6 @@ class Tabla extends HTML_Table { case 'comun': case 'cabecera': case 'titulo': - #$sin_estilo = false; $rta = array_merge($rta, $this->_conf['atributos']["celda_$attr"]); break; case 'align': @@ -391,13 +390,18 @@ class Tabla extends HTML_Table { trigger_error("No se permite setear el atributo $attr", E_USER_ERROR); } } - // Si no tiene estilo, agrego estilo comun. - #if ($sin_estilo) { - #$rta = $this->_conf['atributos']['celda_comun']; - #} return $rta; } + /** + * Obtiene la Cascade Style Sheet para esta tabla. + * + * @return string Path 'web' a la css. + */ + function getCSS() { + return $this->_conf['css']; + } + } ?>