63 #require_once 'Zend/Text/Table/Column.php'; 80 $this->_columns[] = $column;
95 if (!isset($this->_columns[
$index])) {
99 return $this->_columns[
$index];
120 if ($this->_columnWidths ===
null) {
121 #require_once 'Zend/Text/Table/Exception.php'; 137 public function render(array $columnWidths,
142 $this->_columnWidths = array();
146 if (count($this->_columns) === 0) {
147 #require_once 'Zend/Text/Table/Column.php'; 152 $renderedColumns = array();
155 foreach ($this->_columns as $column) {
157 $colSpan = $column->getColSpan();
160 if (($colNum + $colSpan) > count($columnWidths)) {
161 #require_once 'Zend/Text/Table/Exception.php'; 166 $columnWidth = ($colSpan - 1 + array_sum(array_slice($columnWidths,
171 $result = explode(
"\n", $column->render($columnWidth, $padding));
174 $this->_columnWidths[] = $columnWidth;
178 $maxHeight = max($maxHeight, count(
$result));
186 if ($colNum < count($columnWidths)) {
187 $remainingWidth = (count($columnWidths) - $colNum - 1) +
188 array_sum(array_slice($columnWidths,
190 $renderedColumns[] = array(str_repeat(
' ', $remainingWidth));
192 $this->_columnWidths[] = $remainingWidth;
197 for ($line = 0; $line < $maxHeight; $line++) {
200 foreach ($renderedColumns as
$index => $renderedColumn) {
201 if (isset($renderedColumn[$line]) ===
true) {
202 $result .= $renderedColumn[$line];
render(array $columnWidths, Zend_Text_Table_Decorator_Interface $decorator, $padding=0)
createColumn($content, array $options=null)
appendColumn(Zend_Text_Table_Column $column)