111 lines
2.7 KiB
PHP
111 lines
2.7 KiB
PHP
<?php
|
|
/**
|
|
* Handle ODT Table row elements.
|
|
*
|
|
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
|
|
* @author LarsDW223
|
|
* @package ODT\Elements\ODTElementTableRow
|
|
*/
|
|
|
|
/** Include ODTStateElement */
|
|
require_once DOKU_PLUGIN.'odt/ODT/elements/ODTStateElement.php';
|
|
|
|
/**
|
|
* ODTElementTableRow:
|
|
* Class for handling the table row element.
|
|
*
|
|
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
|
|
* @author LarsDW223
|
|
*/
|
|
class ODTElementTableRow extends ODTStateElement
|
|
{
|
|
/**
|
|
* Constructor.
|
|
*
|
|
* @param string $style_name Name of the style
|
|
*/
|
|
public function __construct($style_name=NULL) {
|
|
parent::__construct();
|
|
$this->setClass ('table-row');
|
|
if ($style_name != NULL) {
|
|
$this->setStyleName ($style_name);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Return the elements name.
|
|
*
|
|
* @return string The ODT XML element name.
|
|
*/
|
|
public function getElementName () {
|
|
return ('table:table-row');
|
|
}
|
|
|
|
/**
|
|
* Return string with encoded opening tag.
|
|
*
|
|
* @return string The ODT XML code to open this element.
|
|
*/
|
|
public function getOpeningTag () {
|
|
$style_name = $this->getStyleName();
|
|
if ($style_name != NULL) {
|
|
return '<table:table-row table:style-name="'.$style_name.'">';
|
|
}
|
|
return '<table:table-row>';
|
|
}
|
|
|
|
/**
|
|
* Return string with encoded closing tag.
|
|
*
|
|
* @return string The ODT XML code to close this element.
|
|
*/
|
|
public function getClosingTag () {
|
|
return '</table:table-row>';
|
|
}
|
|
|
|
/**
|
|
* Are we in a paragraph or not?
|
|
* As a table row we are not.
|
|
*
|
|
* @return boolean
|
|
*/
|
|
public function getInParagraph() {
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* Determine and set the parent for this element.
|
|
* As a table row our parent is the table element.
|
|
*
|
|
* @param ODTStateElement $previous
|
|
*/
|
|
public function determineParent(ODTStateElement $previous) {
|
|
$table = $previous;
|
|
while ($table != NULL) {
|
|
if ($table->getClass() == 'table') {
|
|
break;
|
|
}
|
|
$table = $table->getParent();
|
|
}
|
|
$this->setParent($table);
|
|
|
|
if ($table == NULL) {
|
|
// ??? Should not be...
|
|
return;
|
|
}
|
|
|
|
// A new row, we are back in the first column again.
|
|
$table->increaseRowCount();
|
|
$table->setTableCurrentColumn(0);
|
|
}
|
|
|
|
/**
|
|
* Return the table to which this column belongs.
|
|
*
|
|
* @return ODTStateElement
|
|
*/
|
|
public function getTable () {
|
|
return $this->getParent();
|
|
}
|
|
}
|