-<?php
-/* vim: set expandtab tabstop=4 shiftwidth=4: */
-// +----------------------------------------------------------------------+
-// | PHP version 4.0 |
-// +----------------------------------------------------------------------+
-// | Copyright (c) 1997-2003 The PHP Group |
-// +----------------------------------------------------------------------+
-// | This source file is subject to version 2.0 of the PHP license, |
-// | that is bundled with this package in the file LICENSE, and is |
-// | available at through the world-wide-web at |
-// | http://www.php.net/license/2_02.txt. |
-// | If you did not receive a copy of the PHP license and are unable to |
-// | obtain it through the world-wide-web, please send a note to |
-// | license@php.net so we can mail you a copy immediately. |
-// +----------------------------------------------------------------------+
-// | Authors: Alexey Borzov <borz_off@cs.msu.su> |
-// | Adam Daniel <adaniel1@eesus.jnj.com> |
-// | Bertrand Mansion <bmansion@mamasam.com> |
-// +----------------------------------------------------------------------+
-//
-// $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: 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';
/**
- * A concrete renderer for HTML_QuickForm,
- * based on QuickForm 2.x built-in one
+ * QuickForm renderer que usa Tabla como backend.
+ * Basado en el QuickForm Renderer basico.
*
* @access public
*/
* @var object Tabla
* @access private
*/
- var $_tabla;
+ var $tabla;
/**
* HTML con los scripts para poner antes del formulario (tipicamente
/**
* 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
/**
function toHtml()
{
return $this->_script . $this->_prepend .
- $this->_tabla->toHtml() .
+ $this->tabla->toHtml() .
$this->_append;
} // end func toHtml
{
# FIXME - deberia sacarlo del QuickForm
#$this->_prepend = $form->getFormStart();
- $attrs = $form->getAttributesString();
- $this->_prepend = "\n<FORM$attrs>\n";
+ $attrs = $form->getAttributes(true);
+ $this->_prepend = "\n<form$attrs>\n";
} // end func startForm
/**
{
// 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);
$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
/**
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
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', 'nowrap' => true));
- $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().' ') : '') . $element->toHtml();
}
*/
function renderHtml(&$data)
{
- $this->_tabla->addRow(
+ $this->tabla->addRow(
array($header->toHtml()),
array('colspan' => 2)
);
$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', 'nowrap' => true));
+ $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