]> git.llucax.com Git - mecon/meconlib.git/commitdiff
Agrego el nuevo renderer
authorMartín Marrese <marrese@gmail.com>
Mon, 11 Aug 2003 22:20:49 +0000 (22:20 +0000)
committerMartín Marrese <marrese@gmail.com>
Mon, 11 Aug 2003 22:20:49 +0000 (22:20 +0000)
lib/MECON/HTML/QuickForm/Renderer/Tabla_Servicios.php [new file with mode: 0644]
test/Marco/prueba/conf/confSecciones.php
test/Marco/prueba/www/include/prepend.php

diff --git a/lib/MECON/HTML/QuickForm/Renderer/Tabla_Servicios.php b/lib/MECON/HTML/QuickForm/Renderer/Tabla_Servicios.php
new file mode 100644 (file)
index 0000000..c2b267e
--- /dev/null
@@ -0,0 +1,270 @@
+<?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: jue jul 17 15:36:26 ART 2003
+Autor:  Leandro Lucarella <llucar@mecon.gov.ar>
+-------------------------------------------------------------------------------
+$Id$
+-----------------------------------------------------------------------------*/
+
+require_once 'HTML/QuickForm/Renderer.php';
+require_once 'MECON/HTML/Tabla.php';
+
+/**
+ * QuickForm renderer que usa Tabla como backend.
+ * Basado en el QuickForm Renderer basico.
+ * 
+ * @access public
+ */
+class MECON_HTML_QuickForm_Renderer_Tabla_Servicios extends HTML_QuickForm_Renderer {
+
+   /**
+    * Tabla usada para dibujar el formulario.
+    * @var      object Tabla
+    * @access   private
+    */
+    var $_tabla;
+
+   /**
+    * HTML con los scripts para poner antes del formulario (tipicamente
+    * un javascript).
+    * @var      string
+    * @access   private
+    */
+    var $_script = '';
+
+   /**
+    * HTML para agregar antes de la tabla (tipicamente un javascript).
+    * @var      string
+    * @access   private
+    */
+    var $_prepend = '';
+
+   /**
+    * HTML para agregar despues de la tabla.
+    * @var      string
+    * @access   private
+    */
+    var $_append = '';
+
+   /**
+    * True if we are inside a group 
+    * @var      bool
+    * @access   private
+    */
+    var $_inGroup = false;
+
+   /**
+    * Group error related message.
+    * @var      string
+    * @access   private
+    */
+    var $_groupError = '';
+
+   /**
+    * Array with HTML generated for group elements
+    * @var      array
+    * @access   private
+    */
+    var $_groupElements = array();
+
+   /**
+    * Constructor.
+    *
+    * @param  mixed $style Estilo de la tabla.
+    *
+    * @access public
+    */
+    function MECON_HTML_QuickForm_Renderer_Tabla_Servicios($style = array())
+    {
+        $this->HTML_QuickForm_Renderer();
+        $this->_tabla =& new Tabla($style);
+    } // end constructor
+
+   /**
+    * returns the HTML generated for the form
+    *
+    * @access public
+    * @return string
+    */
+    function toHtml()
+    {
+        return  $this->_script . $this->_prepend .
+                $this->_tabla->toHtml() .
+                $this->_append;
+    } // end func toHtml
+    
+   /**
+    * Called when visiting a form, before processing any form elements
+    *
+    * @param    object      An HTML_QuickForm object being visited
+    * @access   public
+    * @return   void
+    */
+    function startForm(&$form)
+    {
+        # FIXME - deberia sacarlo del QuickForm
+        #$this->_prepend = $form->getFormStart();
+        $attrs = $form->getAttributesString();
+        $this->_prepend = "\n<FORM$attrs>\n";
+    } // end func startForm
+
+   /**
+    * Called when visiting a form, after processing all form elements
+    * Adds required note, form attributes, validation javascript and form content.
+    * 
+    * @param    object      An HTML_QuickForm object being visited
+    * @access   public
+    * @return   void
+    */
+    function finishForm(&$form)
+    {
+        // add a required note, if one is needed
+        if (!empty($form->_required) && !$form->_freezeAll) {
+            $id = $this->_tabla->addRow(
+                array($form->getRequiredNote()),
+                array('colspan' => 2, 'align' => 'center')
+            );
+            //$this->_tabla->updateCellAttributes($id, array('colspan' => 2));
+        }
+        // add form attributes and content
+        //$this->_html = str_replace('{content}', $this->_html, $html);
+        // add a validation script
+        $this->_script = strval($form->getValidationScript());
+        # FIXME - deberia sacarlo del QuickForm
+        #$this->_append = $form->getFormEnd();
+        $this->_append = "\n</FORM>\n";
+    } // end func finishForm
+      
+   /**
+    * Called when visiting a header element
+    *
+    * @param    object     An HTML_QuickForm_header element being visited
+    * @access   public
+    * @return   void
+    */
+    function renderHeader(&$header)
+    {
+        $name = $header->getName();
+        $this->_tabla->addRow(
+            array($header->toHtml()),
+            array('colspan' => 2, $name => true, 'align' => 'center')
+        );
+    } // end func renderHeader
+
+   /**
+    * Renders an element Html
+    * Called when visiting an element
+    *
+    * @param object     An HTML_QuickForm_element object being visited
+    * @param bool       Whether an element is required
+    * @param string     An error message associated with an element
+    * @access public
+    * @return void
+    */
+    function renderElement(&$element, $required, $error)
+    {
+        if (!$this->_inGroup) {
+            $id = $this->_tabla->addRow(
+                array(
+                    $element->getLabel() . ($required ? '<FONT color="red">*</FONT>' : ''),
+                    $element->toHtml() . ($error ? "<BR><FONT color=\"red\">$error</FONT>" : ''),
+                )
+            );
+            $this->_tabla->updateCellAttributes($id, 0, array('align' => 'left'));
+            $this->_tabla->updateCellAttributes($id, 1, array('align' => 'left'));
+        } else {
+            $this->_groupElements[] = ($element->getLabel() ? ($element->getLabel().'&nbsp;') : '') . $element->toHtml();
+        }
+    } // end func renderElement
+   
+   /**
+    * Renders an hidden element
+    * Called when visiting a hidden element
+    * 
+    * @param object     An HTML_QuickForm_hidden object being visited
+    * @access public
+    * @return void
+    */
+    function renderHidden(&$element)
+    {
+        $this->_prepend .= "\n\t". $element->toHtml();
+    } // end func renderHidden
+
+   /**
+    * Called when visiting a raw HTML/text pseudo-element
+    * 
+    * @param  object     An HTML_QuickForm_html element being visited
+    * @access public
+    * @return void
+    */
+    function renderHtml(&$data)
+    {
+        $this->_tabla->addRow(
+            array($header->toHtml()),
+            array('colspan' => 2)
+        );
+    } // end func renderHtml
+
+   /**
+    * Called when visiting a group, before processing any group elements
+    *
+    * @param object     An HTML_QuickForm_group object being visited
+    * @param bool       Whether a group is required
+    * @param string     An error message associated with a group
+    * @access public
+    * @return void
+    */
+    function startGroup(&$group, $required, $error)
+    {
+        $this->_groupElements = array();
+        $this->_groupError    = $error;
+        $this->_inGroup       = true;
+    } // end func startGroup
+
+   /**
+    * Called when visiting a group, after processing all group elements
+    *
+    * @param    object      An HTML_QuickForm_group object being visited
+    * @access   public
+    * @return   void
+    */
+    function finishGroup(&$group)
+    {
+        $name = $group->getName();
+        $sep = $group->_separator;
+        if (strtolower($name) == 'botones') {
+            $id = $this->_tabla->addRow(
+                array(join('', $this->_groupElements))
+            );
+            $this->_tabla->updateCellAttributes($id, 0, array('valign' => 'middle', 'align' => 'center', 'colspan' => 2));
+        } else {
+            $id = $this->_tabla->addRow(
+                array($group->getLabel(), join($sep, $this->_groupElements)),
+                array('valign' => 'middle', 'align' => 'left')
+            );
+            $this->_tabla->updateCellAttributes($id, 0, array('titulo' => true, 'align' => 'left'));
+        }
+        $this->_inGroup = false;
+    } // end func finishGroup
+
+} // end class HTML_QuickForm_Renderer_Default
+
+?>
index fcc189861369fcd0d20fb5ad0ec2272b12a50f69..a52398432d96c1d1e9e6c19928d1eeef48fa72cb 100644 (file)
@@ -60,7 +60,7 @@
                     'imagenMouseOn' => '',              //
                     'imagenSelect'  => '',              //
                     'link'          => 'usuarios',      //LINK DE LA SECCION
                     'imagenMouseOn' => '',              //
                     'imagenSelect'  => '',              //
                     'link'          => 'usuarios',      //LINK DE LA SECCION
-                    'tipoMenu'      => 'horizontal',      //TIPO DEL MENU DE HIJOS (vertical, horizontal, oculto)
+                    'tipoMenu'      => 'vertical',      //TIPO DEL MENU DE HIJOS (vertical, horizontal, oculto)
                     'hijos'         =>  array (         //HIJOS PARA EL MENU
                                             array ( 'nombre'        => 'Filtrar Usuario',   //NOMBRE DEL HIJO 1
                                                     'imagenComun'   => 'usuarios-filtrar.gif',   //IMAGEN COMUN
                     'hijos'         =>  array (         //HIJOS PARA EL MENU
                                             array ( 'nombre'        => 'Filtrar Usuario',   //NOMBRE DEL HIJO 1
                                                     'imagenComun'   => 'usuarios-filtrar.gif',   //IMAGEN COMUN
index e858e613308f429cdda73c91a301e9777339e92a..9e15a84d10cd06b694c857374545bc976239fae0 100644 (file)
@@ -4,7 +4,7 @@
 //ARCHIVO DE PRUEBA DEL OBJETO MARCO
 require_once 'MECON/general.php';
 
 //ARCHIVO DE PRUEBA DEL OBJETO MARCO
 require_once 'MECON/general.php';
 
-prepend_include_path('/home/mmarrese/public_html/meconlib/tronco/lib');
+prepend_include_path('/home/mmarrese/public_html/meconlib/lib');
 
 require_once 'MECON/Marco.php';
 require_once 'SAMURAI/Perm.php';
 
 require_once 'MECON/Marco.php';
 require_once 'SAMURAI/Perm.php';