]> git.llucax.com Git - mecon/meconlib.git/blobdiff - lib/MECON/HTML/QuickForm/Renderer/Tabla.php
Se agregan opciones al renderer:
[mecon/meconlib.git] / lib / MECON / HTML / QuickForm / Renderer / Tabla.php
index a767a19c5b88feeeb4dfdc68e2fdab2bf55a8465..4ef1fade5b5ee88c15e5f05f402bdf285bde8ca0 100644 (file)
@@ -40,7 +40,7 @@ class MECON_HTML_QuickForm_Renderer_Tabla extends HTML_QuickForm_Renderer {
     * @var      object Tabla
     * @access   private
     */
-    var $_tabla;
+    var $tabla;
 
    /**
     * HTML con los scripts para poner antes del formulario (tipicamente
@@ -88,14 +88,20 @@ class MECON_HTML_QuickForm_Renderer_Tabla extends HTML_QuickForm_Renderer {
    /**
     * Constructor.
     *
-    * @param  mixed $style Estilo de la tabla.
+    * @param  mixed $param Array o sting con el estilo de la tabla u objeto
+    * tabla alternativo para usar.
     *
     * @access public
     */
-    function MECON_HTML_QuickForm_Renderer_Tabla($style = array())
+    function MECON_HTML_QuickForm_Renderer_Tabla($param = array())
     {
         $this->HTML_QuickForm_Renderer();
-        $this->_tabla =& new Tabla($style);
+        if (is_a($param, 'Tabla')) {
+            $this->setTable($param);
+        }
+        else {
+            $this->tabla =& new MECON_HTML_Tabla($param);
+        }
     } // end constructor
 
    /**
@@ -107,7 +113,7 @@ class MECON_HTML_QuickForm_Renderer_Tabla extends HTML_QuickForm_Renderer {
     function toHtml()
     {
         return  $this->_script . $this->_prepend .
-                $this->_tabla->toHtml() .
+                $this->tabla->toHtml() .
                 $this->_append;
     } // end func toHtml
     
@@ -122,8 +128,10 @@ class MECON_HTML_QuickForm_Renderer_Tabla extends HTML_QuickForm_Renderer {
     {
         # FIXME - deberia sacarlo del QuickForm
         #$this->_prepend = $form->getFormStart();
-        $attrs = $form->getAttributesString();
-        $this->_prepend = "\n<FORM$attrs>\n";
+#        $attrs = $form->getAttributesString();
+        $attrs = $form->getAttributes(true);
+        $this->_prepend = "\n<form$attrs>\n";
+
     } // end func startForm
 
    /**
@@ -138,11 +146,11 @@ class MECON_HTML_QuickForm_Renderer_Tabla extends HTML_QuickForm_Renderer {
     {
         // 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', 'cabecera' => true)
+            $id = $this->tabla->addRow(
+                array('<font size="-2">'.$form->getRequiredNote().'</font>'),
+                array('colspan' => 2, 'cabecera' => true)
             );
-            //$this->_tabla->updateCellAttributes($id, array('colspan' => 2));
+            //$this->tabla->updateCellAttributes($id, array('colspan' => 2));
         }
         // add form attributes and content
         //$this->_html = str_replace('{content}', $this->_html, $html);
@@ -150,7 +158,7 @@ class MECON_HTML_QuickForm_Renderer_Tabla extends HTML_QuickForm_Renderer {
         $this->_script = strval($form->getValidationScript());
         # FIXME - deberia sacarlo del QuickForm
         #$this->_append = $form->getFormEnd();
-        $this->_append = "\n</FORM>\n";
+        $this->_append = "\n</form>\n";
     } // end func finishForm
       
    /**
@@ -163,9 +171,9 @@ class MECON_HTML_QuickForm_Renderer_Tabla extends HTML_QuickForm_Renderer {
     function renderHeader(&$header)
     {
         $name = $header->getName();
-        $this->_tabla->addRow(
+        $this->tabla->addRow(
             array($header->toHtml()),
-            array('colspan' => 2, $name => true, 'align' => 'center')
+            array('colspan' => 2, $name => true)
         );
     } // end func renderHeader
 
@@ -182,14 +190,14 @@ class MECON_HTML_QuickForm_Renderer_Tabla extends HTML_QuickForm_Renderer {
     function renderElement(&$element, $required, $error)
     {
         if (!$this->_inGroup) {
-            $id = $this->_tabla->addRow(
+            $id = $this->tabla->addRow(
                 array(
-                    $element->getLabel() . ($required ? '<FONT color="red">*</FONT>' : ''),
-                    $element->toHtml() . ($error ? "<BR><FONT color=\"red\">$error</FONT>" : ''),
+                    $element->getLabel() . ($required ? '<font color="red">*</FONT>' : ''),
+                    $element->toHtml() . ($error ? "<br><font color=\"red\">$error</FONT>" : ''),
                 )
             );
-            $this->_tabla->updateCellAttributes($id, 0, array('titulo' => true, 'align' => 'left'));
-            $this->_tabla->updateCellAttributes($id, 1, array('align' => 'left'));
+            $this->tabla->updateCellAttributes($id, 0, array('titulo' => true, 'align' => 'left'));
+            $this->tabla->updateCellAttributes($id, 1, array('align' => 'left'));
         } else {
             $this->_groupElements[] = ($element->getLabel() ? ($element->getLabel().'&nbsp;') : '') . $element->toHtml();
         }
@@ -217,7 +225,7 @@ class MECON_HTML_QuickForm_Renderer_Tabla extends HTML_QuickForm_Renderer {
     */
     function renderHtml(&$data)
     {
-        $this->_tabla->addRow(
+        $this->tabla->addRow(
             array($header->toHtml()),
             array('colspan' => 2)
         );
@@ -251,19 +259,69 @@ class MECON_HTML_QuickForm_Renderer_Tabla extends HTML_QuickForm_Renderer {
         $name = $group->getName();
         $sep = $group->_separator;
         if (strtolower($name) == 'botones') {
-            $id = $this->_tabla->addRow(
+            $id = $this->tabla->addRow(
                 array(join('', $this->_groupElements))
             );
-            $this->_tabla->updateCellAttributes($id, 0, array('valign' => 'middle', 'align' => 'center', 'colspan' => 2));
+            $this->tabla->updateCellAttributes($id, 0, array('valign' => 'middle', 'align' => 'center', 'colspan' => 2));
         } else {
-            $id = $this->_tabla->addRow(
+            $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->tabla->updateCellAttributes($id, 0, array('titulo' => true, 'align' => 'left'));
         }
         $this->_inGroup = false;
     } // end func finishGroup
+    
+   /**
+    * Actualiza atributos de la tabla interna.
+    *
+    * @param    mixed   $attrs Html attributes
+    * @access   public
+    * @return   void
+    * @deprecated Usar $renderer->tabla->updateAttributes().
+    */
+    function updateAttributes($attrs) {
+        $this->tabla->updateAttributes($attrs);
+    }
+   /**
+    * Setea atributos.
+    *
+    * @param    mixed   $attrs Html attributes
+    * @access   public
+    * @return   void
+    * @deprecated Usar $renderer->tabla->setAttributes().
+    */
+    function setAttributes($attrs) {
+        $this->tabla->setAttributes($attrs);
+    }
+   /**
+    * Obtiene atributos.
+    *
+    * @access   public
+    * @return   mixed
+    * @deprecated Usar $renderer->tabla->getAttributes().
+    */
+    function getAttributes() {
+        return $this->tabla->getAttributes();
+    }
+
+   /**
+    * Setea la tabla que utilizará el renderer.
+    *
+    * @param Tabla $param Objeto tabla alternativo para utilizar
+    *
+    * @access   public
+    *
+    * @deprecated Usar $renderer->tabla.
+    */
+    function setTable(&$param) {
+        $this->tabla =& $param;
+    }
+
+    function getCSS() {
+        return $this->tabla->getCSS();
+    }
 
 } // end class HTML_QuickForm_Renderer_Default