_setHeightTable($fontSize); // setWidth must me after setHeight, because title // can include table height which changes table width $this->_setWidthTable($font, $fontSize); if ($same_wide_width < $this->width) { $same_wide_width = $this->width; } } /** * Displays an error when the table cannot be found. * * @return void */ protected function showMissingTableError() { ExportRelationSchema::dieSchema( $this->pageNumber, "EPS", sprintf(__('The %s table doesn\'t exist!'), $this->tableName) ); } /** * Sets the width of the table * * @param string $font The font name * @param integer $fontSize The font size * * @return void * * @see PMA_EPS */ private function _setWidthTable($font, $fontSize) { foreach ($this->fields as $field) { $this->width = max( $this->width, Font::getStringWidth($field, $font, $fontSize) ); } $this->width += Font::getStringWidth( ' ', $font, $fontSize ); /* * it is unknown what value must be added, because * table title is affected by the table width value */ while ($this->width < Font::getStringWidth( $this->getTitle(), $font, $fontSize )) { $this->width += 7; } } /** * Sets the height of the table * * @param integer $fontSize The font size * * @return void */ private function _setHeightTable($fontSize) { $this->heightCell = $fontSize + 4; $this->height = (count($this->fields) + 1) * $this->heightCell; } /** * Draw the table * * @param boolean $showColor Whether to display color * * @return void * * @see PMA_EPS,PMA_EPS::line,PMA_EPS::rect */ public function tableDraw($showColor) { //echo $this->tableName.'
'; $this->diagram->rect( $this->x, $this->y + 12, $this->width, $this->heightCell, 1 ); $this->diagram->showXY($this->getTitle(), $this->x + 5, $this->y + 14); foreach ($this->fields as $field) { $this->currentCell += $this->heightCell; $this->diagram->rect( $this->x, $this->y + 12 + $this->currentCell, $this->width, $this->heightCell, 1 ); $this->diagram->showXY( $field, $this->x + 5, $this->y + 14 + $this->currentCell ); } } }