]> git.llucax.com Git - mecon/meconlib.git/blob - lib/MECON/HTML/QuickForm.php
Agrego imagenes generales para el nuevo menu vertical del marco
[mecon/meconlib.git] / lib / MECON / HTML / QuickForm.php
1 <?php /* vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80:
2 -------------------------------------------------------------------------------
3                              Ministerio de Economía
4                                     meconlib
5 -------------------------------------------------------------------------------
6 This file is part of meconlib.
7
8 meconlib is free software; you can redistribute it and/or modify it under
9 the terms of the GNU General Public License as published by the Free
10 Software Foundation; either version 2 of the License, or (at your option)
11 any later version.
12
13 meconlib is distributed in the hope that it will be useful, but WITHOUT
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16  
17 You should have received a copy of the GNU General Public License; if not,
18 write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
19 Boston, MA  02111-1307  USA
20 -------------------------------------------------------------------------------
21 Creado: mié jun 18 15:08:05 ART 2003
22 Autor:  Leandro Lucarella <llucar@mecon.gov.ar>
23 -------------------------------------------------------------------------------
24 $Id$
25 -----------------------------------------------------------------------------*/
26
27 require_once 'HTML/QuickForm.php';
28 require_once 'MECON/HTML/QuickForm/Renderer/Tabla.php';
29 require_once 'MECON/HTML/QuickForm/Renderer/Tabla_Servicios.php';
30
31 /**
32  * QuickForm de uso general del MECON.
33  */
34 class MECON_HTML_QuickForm extends HTML_QuickForm {
35     var $_rendererOpts = array();
36     var $_renderer = 'MECON_HTML_QuickForm_Renderer_Tabla';
37 //    var $_renderer = 'MECON_HTML_QuickForm_Renderer_Tabla()';
38     function MECON_HTML_QuickForm($formName='', $method='post', $action='', $target='_self', $attributes=null)
39     {
40         parent::HTML_QuickForm($formName, $method, $action, $target, $attributes);
41         $this->registerElementType('mdate', 'MECON/HTML/QuickForm/mdate.php', 'HTML_QuickForm_mdate');
42         $this->registerRule('fecha', 'function', 'validate', 'HTML_QuickForm_mdate');
43         $this->setRequiredNote('<FONT color="red">*</FONT> indica un campo obligatorio');
44         $this->setJsWarnings('Hay errores en el formulario:', 'Por favor corríjalos antes de continuar.');
45     }
46     function addRule($element, $message, $type, $format='', $validation='client', $reset = false, $force = false)
47     {
48         parent::addRule($element, $message, $type, $format, $validation, $reset, $force);
49     }
50     function addGroupRule($group, $arg1, $type='', $format='', $howmany=0, $validation = 'client')
51     {
52         parent::addGroupRule($group, $arg1, $type, $format, $howmany, $validation);
53     }
54     function toHtml() {
55
56         //AGREGADO por mmarre
57         //TODO ver porque no puedo utilizar $this->_renderer en el new -> es lo
58         //comentado
59         switch ($this->_renderer) {
60             case 'MECON_HTML_QuickForm_Renderer_Tabla': 
61                 $renderer =& new MECON_HTML_QuickForm_Renderer_Tabla($this->_rendererOpts);
62                 break;
63             case 'MECON_HTML_QuickForm_Renderer_Tabla_Servicios': 
64                 $renderer =& new MECON_HTML_QuickForm_Renderer_Tabla_Servicios($this->_rendererOpts); 
65                 break;
66         }
67 //        $renderer =& new $this->_renderer ($this->_rendererOpts);
68        
69         $this->accept($renderer);
70         return $renderer->toHtml();
71     }
72     function setRendererOpts($opts) {
73         $this->_rendererOpts = $opts;
74     }
75     function getRendererOpts($opts) {
76         return $this->_rendererOpts;;
77     }
78     function updateRendererOpts($opts) {
79         $this->_rendererOpts = array_merge($this->_rendererOpts, $opts);
80     }
81     
82     //AGREGADO POR mmarre PARA PODER DECIDIR CUAL DE NUESTROS RENDERES UTILIZAR
83     //Por defecto utiliza el renderer que deja las tablas como estaban en un
84     //principio.
85     function setRenderer($renderer = 'MECON_HTML_QuickForm_Renderer_Tabla') {
86         $this->_renderer = $renderer;
87 //        $this->_renderer = $renderer.'()';
88     }
89
90 }
91
92 ?>