Rev 2388 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php/*** PHPExcel** Copyright (c) 2006 - 2013 PHPExcel** This library is free software; you can redistribute it and/or* modify it under the terms of the GNU Lesser General Public* License as published by the Free Software Foundation; either* version 2.1 of the License, or (at your option) any later version.** This library is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU* Lesser General Public License for more details.** You should have received a copy of the GNU Lesser General Public* License along with this library; if not, write to the Free Software* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA** @category PHPExcel* @package PHPExcel_Worksheet* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL* @version ##VERSION##, ##DATE##*//*** PHPExcel_Worksheet_SheetView** @category PHPExcel* @package PHPExcel_Worksheet* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)*/class PHPExcel_Worksheet_SheetView{/* Sheet View types */const SHEETVIEW_NORMAL = 'normal';const SHEETVIEW_PAGE_LAYOUT = 'pageLayout';const SHEETVIEW_PAGE_BREAK_PREVIEW = 'pageBreakPreview';private static $_sheetViewTypes = array(self::SHEETVIEW_NORMAL,self::SHEETVIEW_PAGE_LAYOUT,self::SHEETVIEW_PAGE_BREAK_PREVIEW,);/*** ZoomScale** Valid values range from 10 to 400.** @var int*/private $_zoomScale = 100;/*** ZoomScaleNormal** Valid values range from 10 to 400.** @var int*/private $_zoomScaleNormal = 100;/*** View** Valid values range from 10 to 400.** @var string*/private $_sheetviewType = self::SHEETVIEW_NORMAL;/*** Create a new PHPExcel_Worksheet_SheetView*/public function __construct(){}/*** Get ZoomScale** @return int*/public function getZoomScale() {return $this->_zoomScale;}/*** Set ZoomScale** Valid values range from 10 to 400.** @param int $pValue* @throws PHPExcel_Exception* @return PHPExcel_Worksheet_SheetView*/public function setZoomScale($pValue = 100) {// Microsoft Office Excel 2007 only allows setting a scale between 10 and 400 via the user interface,// but it is apparently still able to handle any scale >= 1if (($pValue >= 1) || is_null($pValue)) {$this->_zoomScale = $pValue;} else {throw new PHPExcel_Exception("Scale must be greater than or equal to 1.");}return $this;}/*** Get ZoomScaleNormal** @return int*/public function getZoomScaleNormal() {return $this->_zoomScaleNormal;}/*** Set ZoomScale** Valid values range from 10 to 400.** @param int $pValue* @throws PHPExcel_Exception* @return PHPExcel_Worksheet_SheetView*/public function setZoomScaleNormal($pValue = 100) {if (($pValue >= 1) || is_null($pValue)) {$this->_zoomScaleNormal = $pValue;} else {throw new PHPExcel_Exception("Scale must be greater than or equal to 1.");}return $this;}/*** Get View** @return string*/public function getView() {return $this->_sheetviewType;}/*** Set View** Valid values are* 'normal' self::SHEETVIEW_NORMAL* 'pageLayout' self::SHEETVIEW_PAGE_LAYOUT* 'pageBreakPreview' self::SHEETVIEW_PAGE_BREAK_PREVIEW** @param string $pValue* @throws PHPExcel_Exception* @return PHPExcel_Worksheet_SheetView*/public function setView($pValue = NULL) {// MS Excel 2007 allows setting the view to 'normal', 'pageLayout' or 'pageBreakPreview'// via the user interfaceif ($pValue === NULL)$pValue = self::SHEETVIEW_NORMAL;if (in_array($pValue, self::$_sheetViewTypes)) {$this->_sheetviewType = $pValue;} else {throw new PHPExcel_Exception("Invalid sheetview layout type.");}return $this;}/*** Implement PHP __clone to create a deep clone, not just a shallow copy.*/public function __clone() {$vars = get_object_vars($this);foreach ($vars as $key => $value) {if (is_object($value)) {$this->$key = clone $value;} else {$this->$key = $value;}}}}