]> git.llucax.com Git - mecon/meconlib.git/blobdiff - HTML/php/Tabla.php
- Modificaciones y agregados.
[mecon/meconlib.git] / HTML / php / Tabla.php
index 39ac0ed6baac242327507d6ef26256211c86f713..f1d6002ad69cf2039d14c27c48ffe96b40997687 100644 (file)
@@ -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,21 @@ 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'];
+            }
+        }        
+        $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 +170,74 @@ 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 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;
     }
 }  
 ?>