]> git.llucax.com Git - mecon/meconlib.git/blobdiff - lib/MLIB/PDF/Tabla.php
Se agrega un ejemplo sobre la utilizacion de los PDF con la nueva clase
[mecon/meconlib.git] / lib / MLIB / PDF / Tabla.php
index 499c406bc3e0f8af596248045ca31889a83d124c..10f83856f7a31bc51e1de7bd4fbbf7f50e83b8e2 100644 (file)
@@ -1,16 +1,15 @@
 <?php /* vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80:
 -------------------------------------------------------------------------------
-                             Ministerio de Economía
-                                    meconlib
+                                    mlib
 -------------------------------------------------------------------------------
-This file is part of meconlib.
+This file is part of mlib.
 
-meconlib is free software; you can redistribute it and/or modify it under
+mlib 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
+mlib 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.
  
@@ -24,12 +23,12 @@ Autor:  Martin Marrese <mmarre@mecon.gov.ar>
 $Id$
 -----------------------------------------------------------------------------*/
 
-require_once 'MECON/PDF/Contenido.php';
+require_once 'MLIB/PDF/Contenido.php';
 
 /**
  * Libreria que permite agregar una tabla a un pdf.
  */
-class MECON_PDF_Tabla extends MECON_PDF_Contenido {
+class MLIB_PDF_Tabla extends MLIB_PDF_Contenido {
     
     /**
      * Configuracion
@@ -39,14 +38,14 @@ class MECON_PDF_Tabla extends MECON_PDF_Contenido {
     var $_config;
     
     /**
-     * Objeto MECON_HTML_Tabla.
-     * @var &Object $tabla MECON_HTML_Tabla
+     * Objeto MLIB_HTML_Tabla.
+     * @var &Object $tabla MLIB_HTML_Tabla
      * @access protected
      */
     var $_tabla;
     
     /**
-     * Objeto MECON_PDF_Marco
+     * Objeto MLIB_PDF_Marco
      * @var &Object $marco
      * @access protected
      */
@@ -69,17 +68,17 @@ class MECON_PDF_Tabla extends MECON_PDF_Contenido {
     /**
      * Class Constructor
      *
-     * @param &Object $TABLA MECON_HTML_Tabla
+     * @param &Object $TABLA MLIB_HTML_Tabla
      * @param string $orientacion Orientacion que deben tener las nuevas paginas
      * que genere la tabla.
      *
      * @return void
      * @access public
      */
-    function MECON_PDF_Tabla($TABLA, $orientacion = null, $encabezado = true) {
+    function MLIB_PDF_Tabla($TABLA, $orientacion = null, $encabezado = true) {
         $this->_tabla = $TABLA;
         $this->_orientacion = $orientacion;
-        $this->_config = include 'MECON/PDF/Tabla/medidas.php';
+        $this->_config = include 'MLIB/PDF/Tabla/medidas.php';
         $this->_encabezado = $encabezado;
     }
     
@@ -87,7 +86,7 @@ class MECON_PDF_Tabla extends MECON_PDF_Contenido {
      * Funcion que agrega el contenido de la tabla que se este utilizando al
      * PDF.
      *
-     * @param &Object $MARCO MECON_PDF_Marco
+     * @param &Object $MARCO MLIB_PDF_Marco
      *
      * @return void
      * @access public
@@ -146,26 +145,42 @@ class MECON_PDF_Tabla extends MECON_PDF_Contenido {
      */
     function _obtenerEstiloCelda($row, $col) {
         $clase = $this->_tabla->getCellAttributes($row, $col);
-        if (@$clase['cabecera']) {
-            $estilo = $this->_config['celda_cabecera'];
-        }
-        elseif (@$clase['titulo']) {
-            $estilo = $this->_config['celda_titulo'];
-        }
-        elseif (@$clase['oscura']) {
-            $tmp = $this->_config['celda_comun'];
-            $tmp['fillcolor'] = $this->_config['celda_cabecera']['fillcolor'];
-            $tmp['fill'] = $this->_config['celda_cabecera']['fill'];
-            $estilo = $tmp;
-        }
-        elseif (@$clase['clara']) {
-            $tmp = $this->_config['celda_comun'];
-            $tmp['fillcolor'] = $this->_config['celda_titulo']['fillcolor'];
-            $tmp['fill'] = $this->_config['celda_titulo']['fill'];
-            $estilo = $tmp;
-        }
-        else {
-            $estilo = $this->_config['celda_comun'];
+
+        switch (@$clase['mlib_style'])
+        {
+            case 'cabecera':
+                $estilo = $this->_config['celda_cabecera'];
+                break;
+            case 'titulo':
+                $estilo = $this->_config['celda_titulo'];
+                break;
+            case 'oscura':
+                $tmp = $this->_config['celda_comun'];
+                $tmp['fillcolor'] = $this->_config['celda_cabecera']['fillcolor'];
+                $tmp['fill'] = $this->_config['celda_cabecera']['fill'];
+                $estilo = $tmp;
+                break;
+            case 'clara':
+                $tmp = $this->_config['celda_comun'];
+                $tmp['fillcolor'] = $this->_config['celda_titulo']['fillcolor'];
+                $tmp['fill'] = $this->_config['celda_titulo']['fill'];
+                $estilo = $tmp;
+                break;
+            case 'comun':
+                $estilo = $this->_config['celda_comun'];
+                break;
+            default:
+                //Si no encuentro el estilo seteado a mano, le asigno el estilo
+                //seteado por defecto.
+                if (@$this->_config[$clase['mlib_style']])
+                {
+                    $estilo = $this->_config[$clase['mlib_style']];
+                }
+                else
+                {
+                    $estilo = $this->_config['celda_comun'];
+                }
+                break;
         }
         if (@$clase['colspan']) {
             $estilo['colspan'] = $clase['colspan'];
@@ -362,5 +377,17 @@ class MECON_PDF_Tabla extends MECON_PDF_Contenido {
         }
         $this->_marco->espacioDisponible = $alto;
     }
+
+    /**
+     * Funcion que agrega un estilo a los definidos 
+     *
+     * @param &Object $ESTILO MLIB_HTML_Tabla_Estilo
+     *
+     * @return void
+     * @access public
+     */
+    function setStyle($ESTILO) {
+        $this->_config[$ESTILO->name] = $ESTILO->__toArray();
+    }
 }
 ?>
\ No newline at end of file