Blame | Letzte Änderung | Log anzeigen | RSS feed
<?php/*** TTableRow and TTableCellCollection class file** @author Qiang Xue <qiang.xue@gmail.com>* @link http://www.pradosoft.com/* @copyright Copyright © 2005-2008 PradoSoft* @license http://www.pradosoft.com/license/* @version $Id: TTableRow.php 2541 2008-10-21 15:05:13Z qiang.xue $* @package System.Web.UI.WebControls*//*** Includes TTableCell class*/Prado::using('System.Web.UI.WebControls.TTableCell');/*** TTableRow class.** TTableRow displays a table row. The table cells in the row can be accessed* via {@link getCells Cells}. The horizontal and vertical alignments of the row* are specified via {@link setHorizontalAlign HorizontalAlign} and* {@link setVerticalAlign VerticalAlign} properties, respectively.** @author Qiang Xue <qiang.xue@gmail.com>* @version $Id: TTableRow.php 2541 2008-10-21 15:05:13Z qiang.xue $* @package System.Web.UI.WebControls* @since 3.0*/class TTableRow extends TWebControl{/*** @return string tag name for the table*/protected function getTagName(){return 'tr';}/*** Adds object parsed from template to the control.* This method adds only {@link TTableCell} objects into the {@link getCells Cells} collection.* All other objects are ignored.* @param mixed object parsed from template*/public function addParsedObject($object){if($object instanceof TTableCell)$this->getCells()->add($object);}/*** Creates a style object for the control.* This method creates a {@link TTableItemStyle} to be used by the table row.* @return TStyle control style to be used*/protected function createStyle(){return new TTableItemStyle;}/*** Creates a control collection object that is to be used to hold child controls* @return TTableCellCollection control collection* @see getControls*/protected function createControlCollection(){return new TTableCellCollection($this);}/*** @return TTableCellCollection list of {@link TTableCell} controls*/public function getCells(){return $this->getControls();}/*** @return string the horizontal alignment of the contents within the table item, defaults to 'NotSet'.*/public function getHorizontalAlign(){if($this->getHasStyle())return $this->getStyle()->getHorizontalAlign();elsereturn 'NotSet';}/*** Sets the horizontal alignment of the contents within the table item.* Valid values include 'NotSet', 'Justify', 'Left', 'Right', 'Center'* @param string the horizontal alignment*/public function setHorizontalAlign($value){$this->getStyle()->setHorizontalAlign($value);}/*** @return string the vertical alignment of the contents within the table item, defaults to 'NotSet'.*/public function getVerticalAlign(){if($this->getHasStyle())return $this->getStyle()->getVerticalAlign();elsereturn 'NotSet';}/*** Sets the vertical alignment of the contents within the table item.* Valid values include 'NotSet','Top','Bottom','Middle'* @param string the horizontal alignment*/public function setVerticalAlign($value){$this->getStyle()->setVerticalAlign($value);}/*** @return TTableRowSection location of a row in a table. Defaults to TTableRowSection::Body.*/public function getTableSection(){return $this->getViewState('TableSection',TTableRowSection::Body);}/*** @param TTableRowSection location of a row in a table.*/public function setTableSection($value){$this->setViewState('TableSection',TPropertyValue::ensureEnum($value,'TTableRowSection'),TTableRowSection::Body);}/*** Renders body contents of the table row* @param THtmlWriter writer for the rendering purpose*/public function renderContents($writer){if($this->getHasControls()){$writer->writeLine();foreach($this->getControls() as $cell){$cell->renderControl($writer);$writer->writeLine();}}}}/*** TTableCellCollection class.** TTableCellCollection is used to maintain a list of cells belong to a table row.** @author Qiang Xue <qiang.xue@gmail.com>* @version $Id: TTableRow.php 2541 2008-10-21 15:05:13Z qiang.xue $* @package System.Web.UI.WebControls* @since 3.0*/class TTableCellCollection extends TControlCollection{/*** Inserts an item at the specified position.* This overrides the parent implementation by performing additional* operations for each newly added table cell.* @param integer the speicified position.* @param mixed new item* @throws TInvalidDataTypeException if the item to be inserted is not a TTableCell object.*/public function insertAt($index,$item){if($item instanceof TTableCell)parent::insertAt($index,$item);elsethrow new TInvalidDataTypeException('tablecellcollection_tablecell_required');}}/*** TTableRowSection class.* TTableRowSection defines the enumerable type for the possible table sections* that a {@link TTableRow} can be within.** The following enumerable values are defined:* - Header: in table header* - Body: in table body* - Footer: in table footer** @author Qiang Xue <qiang.xue@gmail.com>* @version $Id: TTableRow.php 2541 2008-10-21 15:05:13Z qiang.xue $* @package System.Web.UI.WebControls* @since 3.0.4*/class TTableRowSection extends TEnumerable{const Header='Header';const Body='Body';const Footer='Footer';}