[ Index ]
 

Code source de PRADO 3.0.6

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/framework/Web/UI/WebControls/ -> TTableRow.php (source)

   1  <?php
   2  /**
   3   * TTableRow and TTableCellCollection class file
   4   *
   5   * @author Qiang Xue <qiang.xue@gmail.com>
   6   * @link http://www.pradosoft.com/
   7   * @copyright Copyright &copy; 2005 PradoSoft
   8   * @license http://www.pradosoft.com/license/
   9   * @version $Id: TTableRow.php 1397 2006-09-07 07:55:53Z wei $
  10   * @package System.Web.UI.WebControls
  11   */
  12  
  13  /**
  14   * Includes TTableCell class
  15   */
  16  Prado::using('System.Web.UI.WebControls.TTableCell');
  17  
  18  /**
  19   * TTableRow class.
  20   *
  21   * TTableRow displays a table row. The table cells in the row can be accessed
  22   * via {@link getCells Cells}. The horizontal and vertical alignments of the row
  23   * are specified via {@link setHorizontalAlign HorizontalAlign} and
  24   * {@link setVerticalAlign VerticalAlign} properties, respectively.
  25   *
  26   * @author Qiang Xue <qiang.xue@gmail.com>
  27   * @version $Id: TTableRow.php 1397 2006-09-07 07:55:53Z wei $
  28   * @package System.Web.UI.WebControls
  29   * @since 3.0
  30   */
  31  class TTableRow extends TWebControl
  32  {
  33      /**
  34       * @return string tag name for the table
  35       */
  36  	protected function getTagName()
  37      {
  38          return 'tr';
  39      }
  40  
  41      /**
  42       * Adds object parsed from template to the control.
  43       * This method adds only {@link TTableCell} objects into the {@link getCells Cells} collection.
  44       * All other objects are ignored.
  45       * @param mixed object parsed from template
  46       */
  47  	public function addParsedObject($object)
  48      {
  49          if($object instanceof TTableCell)
  50              $this->getCells()->add($object);
  51      }
  52  
  53      /**
  54       * Creates a style object for the control.
  55       * This method creates a {@link TTableItemStyle} to be used by the table row.
  56       * @return TStyle control style to be used
  57       */
  58  	protected function createStyle()
  59      {
  60          return new TTableItemStyle;
  61      }
  62  
  63      /**
  64       * Creates a control collection object that is to be used to hold child controls
  65       * @return TTableCellCollection control collection
  66       * @see getControls
  67       */
  68  	protected function createControlCollection()
  69      {
  70          return new TTableCellCollection($this);
  71      }
  72  
  73      /**
  74       * @return TTableCellCollection list of {@link TTableCell} controls
  75       */
  76  	public function getCells()
  77      {
  78          return $this->getControls();
  79      }
  80  
  81      /**
  82       * @return string the horizontal alignment of the contents within the table item, defaults to 'NotSet'.
  83       */
  84  	public function getHorizontalAlign()
  85      {
  86          if($this->getHasStyle())
  87              return $this->getStyle()->getHorizontalAlign();
  88          else
  89              return 'NotSet';
  90      }
  91  
  92      /**
  93       * Sets the horizontal alignment of the contents within the table item.
  94       * Valid values include 'NotSet', 'Justify', 'Left', 'Right', 'Center'
  95       * @param string the horizontal alignment
  96       */
  97  	public function setHorizontalAlign($value)
  98      {
  99          $this->getStyle()->setHorizontalAlign($value);
 100      }
 101  
 102      /**
 103       * @return string the vertical alignment of the contents within the table item, defaults to 'NotSet'.
 104       */
 105  	public function getVerticalAlign()
 106      {
 107          if($this->getHasStyle())
 108              return $this->getStyle()->getVerticalAlign();
 109          else
 110              return 'NotSet';
 111      }
 112  
 113      /**
 114       * Sets the vertical alignment of the contents within the table item.
 115       * Valid values include 'NotSet','Top','Bottom','Middle'
 116       * @param string the horizontal alignment
 117       */
 118  	public function setVerticalAlign($value)
 119      {
 120          $this->getStyle()->setVerticalAlign($value);
 121      }
 122  
 123      /**
 124       * @return TTableRowSection location of a row in a table. Defaults to TTableRowSection::Body.
 125       */
 126  	public function getTableSection()
 127      {
 128          return $this->getViewState('TableSection',TTableRowSection::Body);
 129      }
 130  
 131      /**
 132       * @param TTableRowSection location of a row in a table.
 133       */
 134  	public function setTableSection($value)
 135      {
 136          $this->setViewState('TableSection',TPropertyValue::ensureEnum($value,'TTableRowSection'),TTableRowSection::Body);
 137      }
 138  
 139      /**
 140       * Renders body contents of the table row
 141       * @param THtmlWriter writer for the rendering purpose
 142       */
 143  	public function renderContents($writer)
 144      {
 145          if($this->getHasControls())
 146          {
 147              $writer->writeLine();
 148              foreach($this->getControls() as $cell)
 149              {
 150                  $cell->renderControl($writer);
 151                  $writer->writeLine();
 152              }
 153          }
 154      }
 155  }
 156  
 157  /**
 158   * TTableCellCollection class.
 159   *
 160   * TTableCellCollection is used to maintain a list of cells belong to a table row.
 161   *
 162   * @author Qiang Xue <qiang.xue@gmail.com>
 163   * @version $Id: TTableRow.php 1397 2006-09-07 07:55:53Z wei $
 164   * @package System.Web.UI.WebControls
 165   * @since 3.0
 166   */
 167  class TTableCellCollection extends TControlCollection
 168  {
 169      /**
 170       * Inserts an item at the specified position.
 171       * This overrides the parent implementation by performing additional
 172       * operations for each newly added table cell.
 173       * @param integer the speicified position.
 174       * @param mixed new item
 175       * @throws TInvalidDataTypeException if the item to be inserted is not a TTableCell object.
 176       */
 177  	public function insertAt($index,$item)
 178      {
 179          if($item instanceof TTableCell)
 180              parent::insertAt($index,$item);
 181          else
 182              throw new TInvalidDataTypeException('tablecellcollection_tablecell_required');
 183      }
 184  }
 185  
 186  
 187  /**
 188   * TTableRowSection class.
 189   * TTableRowSection defines the enumerable type for the possible table sections
 190   * that a {@link TTableRow} can be within.
 191   *
 192   * The following enumerable values are defined:
 193   * - Header: in table header
 194   * - Body: in table body
 195   * - Footer: in table footer
 196   *
 197   * @author Qiang Xue <qiang.xue@gmail.com>
 198   * @version $Id: TTableRow.php 1397 2006-09-07 07:55:53Z wei $
 199   * @package System.Web.UI.WebControls
 200   * @since 3.0.4
 201   */
 202  class TTableRowSection extends TEnumerable
 203  {
 204      const Header='Header';
 205      const Body='Body';
 206      const Footer='Footer';
 207  }
 208  
 209  ?>


Généré le : Sun Feb 25 21:07:04 2007 par Balluche grâce à PHPXref 0.7