-<?php
-// vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
-// +--------------------------------------------------------------------+
-// | HTML - TABLE |
-// +--------------------------------------------------------------------+
-// | Libreria para la estandarizacion de los elementos html de los |
-// | de la Intranet |
-// | Ministerio de EconomÃa |
-// +--------------------------------------------------------------------+
-// | Creado: fri mar 21 ART 2003 |
-// | Autor: Martin Marrese <mmarre@mecon.gov.ar> |
-// +--------------------------------------------------------------------+
-//
-// $Id$
-//
-// $URL$
-// $Rev$
-// $Date$
-// $Author$
+<?php /* vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80:
+-------------------------------------------------------------------------------
+ Ministerio de EconomÃa
+ meconlib
+-------------------------------------------------------------------------------
+This file is part of meconlib.
+
+meconlib is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2 of the License, or (at your option)
+any later version.
+
+meconlib is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License; if not,
+write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+Boston, MA 02111-1307 USA
+-------------------------------------------------------------------------------
+Creado: fri mar 21 ART 2003
+Autor: Martin Marrese <mmarre@mecon.gov.ar>
+-------------------------------------------------------------------------------
+$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 'Tabla/conf_Tabla.php'; // Obtengo los valores particulares de configuracion
+ $this->_conf = include 'MECON/HTML/Tabla/estilo_'.$estilo.'.php'; // Obtengo los valores particulares de configuracion
// Seteo los atributos para la tabla
$this->_attrs = $this->_conf['atributos']['tabla_comun'];
//Genero el objeto 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
*/
}
/**
- * 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
* 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
*
/**
* 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
/**
* 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
/**
* 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
/**
* Setea una columna como del tipo cabecera
*
- * @param int $columna
+ * @param int $columna Identificador de la columna que se quiere modificar
*
* @access public
* @deprecated
/**
* Setea una columna como del tipo titulo
*
- * @param int $columna
+ * @param int $columna Identificador de la columna que se quiere modificar
*
* @access public
* @deprecated
/**
* 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
/**
* 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
/**
* 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
* 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
*
function toHtml($simple = 0)
{
// Agregar la tabla de fondo.
- if ($simple == 0) {
- $tmp = $this->_parseAttributes($this->_conf['atributos']['tabla_contenedora']);
- $tmp['width'] = $this->_attrs['width'];
- $tabla_externa = new HTML_Table($tmp);
- $tabla_externa->setCellContents(0, 0, parent::toHtml());
- $tabla_externa->setCellAttributes(0, 0, $this->_conf['atributos']['celda_comun']);
- $result = $tabla_externa->toHtml();
- }
- else {
+ if ($simple) {
$result = parent::toHtml();
+ } else {
+ $contenedora = $this->_conf['atributos']['tabla_contenedora'];
+ $contenedora['width'] = $this->getAttribute('width');
+ $this->updateAttributes(array('width' => '100%'));
+ $tabla_externa = new HTML_Table($contenedora);
+ $tabla_externa->addRow(array(parent::toHtml()),
+ $this->_conf['atributos']['celda_contenedora']);
+ $result = $tabla_externa->toHtml();
}
return $result;
* 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
*/
* 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
*/
* 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
*/
* 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 string $attrs Atributos
*
* @return string
* @access private
case 'border':
case 'cellspacing':
case 'cellpadding':
+ case 'nowrap':
$rta[$attr] = $val;
break;
case 'spacing':
case 'padding':
$rta["cell$attr"] = $val;
break;
- case 'nowrap':
case 'th':
$rta[$attr] = '';
break;