X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/56c363442764a21af0820b0e3dd6e9b771119abf..06cd54ffd3f4a2641a10db316fb08d42c3b8b5ea:/lib/MECON/HTML/QuickForm/Renderer/Tabla.php
diff --git a/lib/MECON/HTML/QuickForm/Renderer/Tabla.php b/lib/MECON/HTML/QuickForm/Renderer/Tabla.php
index a767a19..4ef1fad 100644
--- a/lib/MECON/HTML/QuickForm/Renderer/Tabla.php
+++ b/lib/MECON/HTML/QuickForm/Renderer/Tabla.php
@@ -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
\n";
+ $this->_append = "\n\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 ? '*' : ''),
- $element->toHtml() . ($error ? "
$error" : ''),
+ $element->getLabel() . ($required ? '*' : ''),
+ $element->toHtml() . ($error ? "
$error" : ''),
)
);
- $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().' ') : '') . $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