]> git.llucax.com Git - mecon/meconlib.git/blobdiff - lib/MECON/HTML/QuickForm.php
Termine de armar el nuevo renderer
[mecon/meconlib.git] / lib / MECON / HTML / QuickForm.php
index 407e5c967206b1b288ccaa9e1c12cba8c69e0e68..a6310db17022be65dcaec8fa827d5368bb8473ce 100644 (file)
@@ -1,45 +1,86 @@
-<?php
-// vim: set expandtab tabstop=4 shiftwidth=4:
-// +--------------------------------------------------------------------+
-// |                      Ministerio de Economía                        |
-// |                     QuickForm Tabla Renderer                       |
-// +--------------------------------------------------------------------+
-// | This file is part of AI.                                           |
-// |                                                                    |
-// | This program 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.                    |
-// |                                                                    |
-// | This program 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  |
-// | along with Hooks; if not, write to the Free Software Foundation,   |
-// | Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA      |
-// +--------------------------------------------------------------------+
-// | Creado: Tue Jun 24 16:22:07 2003                                   |
-// | Autor:  Leandro Lucarella <llucar@mecon.gov.ar>                    |
-// +--------------------------------------------------------------------+
-//
-// $Id$
-//
+<?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: mié jun 18 15:08:05 ART 2003
+Autor:  Leandro Lucarella <llucar@mecon.gov.ar>
+-------------------------------------------------------------------------------
+$Id$
+-----------------------------------------------------------------------------*/
 
 require_once 'HTML/QuickForm.php';
+require_once 'MECON/HTML/QuickForm/Renderer/Tabla.php';
+require_once 'MECON/HTML/QuickForm/Renderer/Tabla_Servicios.php';
 
 /**
  * QuickForm de uso general del MECON.
  */
 class MECON_HTML_QuickForm extends HTML_QuickForm {
+    var $_rendererOpts = array();
+    var $_renderer = 'MECON_HTML_QuickForm_Renderer_Tabla';
     function MECON_HTML_QuickForm($formName='', $method='post', $action='', $target='_self', $attributes=null)
     {
         parent::HTML_QuickForm($formName, $method, $action, $target, $attributes);
         $this->registerElementType('mdate', 'MECON/HTML/QuickForm/mdate.php', 'HTML_QuickForm_mdate');
         $this->registerRule('fecha', 'function', 'validate', 'HTML_QuickForm_mdate');
         $this->setRequiredNote('<FONT color="red">*</FONT> indica un campo obligatorio');
+        $this->setJsWarnings('Hay errores en el formulario:', 'Por favor corríjalos antes de continuar.');
+    }
+    function addRule($element, $message, $type, $format='', $validation='client', $reset = false, $force = false)
+    {
+        parent::addRule($element, $message, $type, $format, $validation, $reset, $force);
     }
+    function addGroupRule($group, $arg1, $type='', $format='', $howmany=0, $validation = 'client')
+    {
+        parent::addGroupRule($group, $arg1, $type, $format, $howmany, $validation);
+    }
+    function toHtml() {
+
+        switch ($this->_renderer) {
+            case 'MECON_HTML_QuickForm_Renderer_Tabla': 
+                $renderer =& new MECON_HTML_QuickForm_Renderer_Tabla($this->_rendererOpts);
+                break;
+            case 'MECON_HTML_QuickForm_Renderer_Tabla_Servicios': 
+                $renderer =& new MECON_HTML_QuickForm_Renderer_Tabla_Servicios($this->_rendererOpts); 
+                break;
+        }
+        
+        $this->accept($renderer);
+        return $renderer->toHtml();
+    }
+    function setRendererOpts($opts) {
+        $this->_rendererOpts = $opts;
+    }
+    function getRendererOpts($opts) {
+        return $this->_rendererOpts;;
+    }
+    function updateRendererOpts($opts) {
+        $this->_rendererOpts = array_merge($this->_rendererOpts, $opts);
+    }
+    
+    //AGREGADO POR mmarre PARA PODER DECIDIR CUAL DE NUESTROS RENDERES UTILIZAR
+    //Por defecto utiliza el renderer que deja las tablas como estaban en un
+    //principio.
+    function setRenderer($renderer = 'MECON_HTML_QuickForm_Renderer_Tabla') {
+        $this->_renderer = $renderer;
+    }
+
 }
 
-?>
+?>
\ No newline at end of file