2 // vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
3 // +--------------------------------------------------------------------+
5 // +--------------------------------------------------------------------+
6 // | Libreria para la estandarizacion de los elementos html de los |
8 // | Ministerio de EconomÃa |
9 // +--------------------------------------------------------------------+
10 // | Creado: fri mar 21 ART 2003 |
11 // | Autor: Martin Marrese <mmarre@mecon.gov.ar> |
12 // +--------------------------------------------------------------------+
21 require_once 'HTML/Table.php';
26 * Libreria para le manejo de las tablas de los sistemas de intranet.
32 class Tabla extends HTML_Table {
35 * Valores de Configuracion particular
42 * Objeto tabla que voy a utilizar
44 * @var Object HTML_Table
51 * Puede recibir como parametro un string con los atributos que se
52 * quieren dar a la tabla en cuestion. Estos atributos estan
53 * seteados por default segun el archivo de configuracion.
55 * @param $atributos Atributos diferentes a los estandares para la
60 function Tabla ($atributos = '')
62 $this->_conf = include 'Tabla/conf_Tabla.php'; // Obtengo los valores particulares de configuracion
63 // Seteo los atributos para la tabla
64 if (!strcmp($atributos,'')) {
65 $atributos = $this->_conf['atributos']['tabla_comun'];
67 //Genero el objeto HTML_Table
68 $this->HTML_Table($atributos);
69 //Modifico los atributos de todas las tablas
70 //Hay que encontrar o hacer una funcion que setee los atributos para las futuras
72 // $this->setAllAttributes($this->_conf['atributos']['celda_comun']);
76 * Agrega una fila del tipo Cabecera
78 * Agrega una fila del tipo cabecera, tomando colores y demas del
79 * archivo de configuracion. Recibe como parametro un array con
80 * los datos a incluir en la linea. Agrega tantas columnas como
81 * elementos tenga el array. Si no recibe parametro alguno,
82 * inserta una fila en blanco. Devuelve el identificador de la
83 * fila en donde inserto los datos.
85 * @param $contenido Contenido de la fila
87 * @return int Identificador de Linea
91 function agregarFilaCabecera ($contenido = '', $atributos = '')
93 return $this->addRow($contenido, $this->_conf['atributos']['celda_cabecera'],'TH');
97 * Agrega una fila del tipo Comun
99 * Agrega una fila del tipo comun, tomando colores y demas del
100 * archivo de configuracion. Recibe como parametro un array con
101 * los datos a incluir en la linea. Agrega tantas columnas como
102 * elementos tenga el array. Si no recibe parametro alguno,
103 * inserta una fila en blanco. Devuelve el identificador de la
104 * fila en donde inserto los datos.
106 * @param $contenido Contenido de la fila
108 * @return int Identificador de Linea
112 function agregarFila ($contenido = '')
114 return $this->addRow($contenido,$this->_conf['atributos']['celda_comun']);
119 * Modifica el atributo rowSpan a la celda pasada por parametro
122 * @param int $columna
127 function rowSpan ($fila, $columna, $valor)
129 return $this->updateCellAttributes($fila, $columna, 'rowspan='.$valor);
133 * Modifica el atributo colSpan a la celda pasada por parametro
136 * @param int $columna
141 function colSpan ($fila, $columna, $valor)
143 return $this->updateCellAttributes($fila, $columna, 'colspan='.$valor);
147 * Modifica el atributo aling de la celda pasada por parametro
150 * @param int $columna
151 * @param string $valor (left, center, right...)
155 function align ($fila, $columna, $valor)
157 return $this->updateCellAttributes($fila, $columna, 'align="'.$valor.'"');
161 * Setea una columna como del tipo cabecera
163 * @param int $columna
167 function setColCabecera ($columna)
169 return $this->updateColAttributes($columna,$this->_conf['atributos']['celda_cabecera']);
173 * Alinea una columna entera
175 * @param int $columna
176 * @param strin $valor
180 function setColAlign ($columna, $valor)
182 return $this->updateColAttributes($columna,'align="'.$valor.'"');
186 * Cambia el color de fondo de una celda
189 * @param int $columna
190 * @param strin $valor
194 function setCellBgcolor ($fila, $columna, $valor)
196 return $this->updateCellAttributes($fila, $columna,'bgcolor="'.$valor.'"');
200 * Devuelve el html de la tabla
202 * Devuelve el html de la tabla para que sea mostrado.
203 * Como parametro recibe el indicador de tabla simple.
204 * Si doble es 0, devuelve el html comun y corriente, si es
205 * distinto de 0 devuelve una tabla sola
209 * @return string Html
213 function toHtml ($doble = 0)
215 // Agregar la tabla de fondo.
217 $tabla_externa = new HTML_Table($this->_conf['atributos']['tabla_contenedora']);
218 $tabla_externa->setCellContents(0,0,parent::toHtml(),$this->_conf['atributos']['celda_comun']);
219 $result = $tabla_externa->toHtml();
222 $result = parent::toHtml();