X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/56c363442764a21af0820b0e3dd6e9b771119abf..1d3c53baf8ad9cbd840eda961b507160e307c2b8:/lib/MECON/HTML/Tabla.php?ds=sidebyside diff --git a/lib/MECON/HTML/Tabla.php b/lib/MECON/HTML/Tabla.php index d67711c..cd14896 100644 --- a/lib/MECON/HTML/Tabla.php +++ b/lib/MECON/HTML/Tabla.php @@ -27,45 +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 $atributos Atributos diferentes a los estandares para la - * tabla + * @param mixed $atributos Atributos diferentes a los estandares para la tabla + * @param string $estilo Tipo de tabla * * @access public */ - function Tabla($attrs = null) + function MECON_HTML_Tabla($attrs = null, $estilo = 'comun') { - $this->_conf = include 'MECON/HTML/Tabla/conf_Tabla.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 @@ -87,22 +85,23 @@ class Tabla extends HTML_Table { } } $this->HTML_Table($this->_attrs); + if (isset($attrs['align'])) { + $this->_attrs['align'] = $attrs['align']; + } + } /** - * 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 */ @@ -112,8 +111,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 @@ -121,7 +118,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 * @@ -136,9 +133,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 @@ -151,9 +148,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 @@ -166,9 +163,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 @@ -181,7 +178,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 @@ -194,7 +191,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 @@ -207,8 +204,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 @@ -221,8 +218,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 @@ -235,9 +232,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 @@ -255,7 +252,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 * @@ -263,12 +260,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->_attrs['align']; $this->updateAttributes(array('width' => '100%')); $tabla_externa = new HTML_Table($contenedora); $tabla_externa->addRow(array(parent::toHtml()), @@ -286,15 +285,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)); } /** @@ -304,15 +303,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)); } /** @@ -321,10 +320,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 */ @@ -339,12 +338,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(); @@ -352,9 +352,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) { @@ -362,7 +364,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': @@ -390,13 +391,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']; + } + } ?>