setClass ('table-cell'); if (isset($style_name)) { $this->setStyleName ($style_name); } $this->setColumnSpan($colspan); $this->setRowSpan($rowspan); } /** * Return the elements name. * * @return string The ODT XML element name. */ public function getElementName () { return ('table:table-cell'); } /** * Return string with encoded opening tag. * * @return string The ODT XML code to open this element. */ public function getOpeningTag () { $colspan = $this->getColumnSpan(); $rowspan = $this->getRowSpan(); $encoded = 'getStyleName().'"'; if ( $colspan > 1 ) { $encoded .= ' table:number-columns-spanned="'.$colspan.'"'; } if ($rowspan > 1) { $encoded .= ' table:number-rows-spanned="'.$rowspan.'"'; } $encoded .= '>'; return $encoded; } /** * Return string with encoded closing tag. * * @return string The ODT XML code to close this element. */ public function getClosingTag () { $content = ''; $colspan = $this->getColumnSpan(); for ($i = 1 ; $i < $colspan ; $i++) { $content .= ''; } return $content; } /** * Are we in a paragraph or not? * As a table cell we are not. * * @return boolean */ public function getInParagraph() { return false; } /** * Determine and set the parent for this element. * As a table cell our parent is the table element. * * @param ODTStateElement $previous */ public function determineParent(ODTStateElement $previous) { while (isset($previous)) { if ($previous->getClass() == 'table') { break; } $previous = $previous->getParent(); } $this->setParent($previous); $curr_column = $previous->getTableCurrentColumn(); $curr_column++; $previous->setTableCurrentColumn($curr_column); // Eventually increase max columns if out range $max_columns = $previous->getTableMaxColumns(); if ( $curr_column > $max_columns ) { $previous->setTableMaxColumns($max_columns + 1); } } /** * Return the table to which this column belongs. * * @return ODTStateElement */ public function getTable () { return $this->getParent(); } /** * Set the number of columns spanned by this cell. * * @param integer $value */ public function setColumnSpan($value) { $this->colspan = $value; } /** * Get the number of columns spanned by this cell. * * @return integer */ public function getColumnSpan() { return $this->colspan; } /** * Set the number of rows spanned by this cell. * * @param integer $value */ public function setRowSpan($value) { $this->rowspan = $value; } /** * Get the number of rows spanned by this cell. * * @return integer */ public function getRowSpan() { return $this->rowspan; } /** * Set the office value type for this cell. * * @param string $value */ public function setValueType($value) { $this->value_type = $value; } /** * Get the office value type for this cell. * * @return string */ public function getValueType() { return $this->value_type; } }