1: <?php
  2: /**
  3:  * PHPWord
  4:  *
  5:  * Copyright (c) 2013 PHPWord
  6:  *
  7:  * This library is free software; you can redistribute it and/or
  8:  * modify it under the terms of the GNU Lesser General Public
  9:  * License as published by the Free Software Foundation; either
 10:  * version 2.1 of the License, or (at your option) any later version.
 11:  *
 12:  * This library is distributed in the hope that it will be useful,
 13:  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 14:  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15:  * Lesser General Public License for more details.
 16:  *
 17:  * You should have received a copy of the GNU Lesser General Public
 18:  * License along with this library; if not, write to the Free Software
 19:  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 20:  *
 21:  * @category   PHPWord
 22:  * @package    PHPWord
 23:  * @copyright  Copyright (c) 2013 PHPWord
 24:  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL
 25:  * @version    0.7.0
 26:  */
 27: 
 28: /**
 29:  * PHPWord_Section_Table_Row
 30:  */
 31: class PHPWord_Section_Table_Row
 32: {
 33: 
 34:     /**
 35:      * Row height
 36:      *
 37:      * @var int
 38:      */
 39:     private $_height = null;
 40: 
 41:     /**
 42:      * Row style
 43:      *
 44:      * @var PHPWord_Style_Row
 45:      */
 46:     private $_style;
 47: 
 48:     /**
 49:      * Row cells
 50:      *
 51:      * @var array
 52:      */
 53:     private $_cells = array();
 54: 
 55:     /**
 56:      * Table holder
 57:      *
 58:      * @var string
 59:      */
 60:     private $_insideOf;
 61: 
 62:     /**
 63:      * Section/Header/Footer count
 64:      *
 65:      * @var int
 66:      */
 67:     private $_pCount;
 68: 
 69: 
 70:     /**
 71:      * Create a new table row
 72:      *
 73:      * @param string $insideOf
 74:      * @param int $pCount
 75:      * @param int $height
 76:      * @param mixed $style
 77:      */
 78:     public function __construct($insideOf, $pCount, $height = null, $style = null)
 79:     {
 80:         $this->_insideOf = $insideOf;
 81:         $this->_pCount = $pCount;
 82:         $this->_height = $height;
 83:         $this->_style = new PHPWord_Style_Row();
 84: 
 85:         if (!is_null($style)) {
 86:             if (is_array($style)) {
 87: 
 88:                 foreach ($style as $key => $value) {
 89:                     if (substr($key, 0, 1) != '_') {
 90:                         $key = '_' . $key;
 91:                     }
 92:                     $this->_style->setStyleValue($key, $value);
 93:                 }
 94:             }
 95:         }
 96:     }
 97: 
 98:     /**
 99:      * Add a cell
100:      *
101:      * @param int $width
102:      * @param mixed $style
103:      * @return PHPWord_Section_Table_Cell
104:      */
105:     public function addCell($width = null, $style = null)
106:     {
107:         $cell = new PHPWord_Section_Table_Cell($this->_insideOf, $this->_pCount, $width, $style);
108:         $this->_cells[] = $cell;
109:         return $cell;
110:     }
111: 
112:     /**
113:      * Get all cells
114:      *
115:      * @return array
116:      */
117:     public function getCells()
118:     {
119:         return $this->_cells;
120:     }
121: 
122:     /**
123:      * Get row style
124:      *
125:      * @return PHPWord_Style_Row
126:      */
127:     public function getStyle()
128:     {
129:         return $this->_style;
130:     }
131: 
132:     /**
133:      * Get row height
134:      *
135:      * @return int
136:      */
137:     public function getHeight()
138:     {
139:         return $this->_height;
140:     }
141: }