| 
									
										
										
										
											2010-08-26 19:14:53 +00:00
										 |  |  | <?php | 
					
						
							| 
									
										
										
										
											2015-05-17 09:22:51 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-08-26 19:14:53 +00:00
										 |  |  | /** | 
					
						
							| 
									
										
										
										
											2015-05-17 09:22:51 +00:00
										 |  |  |  * PHPExcel_Worksheet_SheetView | 
					
						
							| 
									
										
										
										
											2010-08-26 19:14:53 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2015-05-02 22:50:37 +00:00
										 |  |  |  * Copyright (c) 2006 - 2015 PHPExcel | 
					
						
							| 
									
										
										
										
											2010-08-26 19:14:53 +00:00
										 |  |  |  * | 
					
						
							|  |  |  |  * 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 | 
					
						
							| 
									
										
										
										
											2015-05-02 22:50:37 +00:00
										 |  |  |  * @copyright  Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) | 
					
						
							| 
									
										
										
										
											2015-05-12 09:22:06 +00:00
										 |  |  |  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL | 
					
						
							| 
									
										
										
										
											2010-08-26 19:14:53 +00:00
										 |  |  |  * @version    ##VERSION##, ##DATE##
 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | class PHPExcel_Worksheet_SheetView | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2012-08-09 01:13:05 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-12 09:22:06 +00:00
										 |  |  |     /* Sheet View types */ | 
					
						
							| 
									
										
										
										
											2015-05-17 09:22:51 +00:00
										 |  |  |     const SHEETVIEW_NORMAL             = 'normal'; | 
					
						
							|  |  |  |     const SHEETVIEW_PAGE_LAYOUT        = 'pageLayout'; | 
					
						
							|  |  |  |     const SHEETVIEW_PAGE_BREAK_PREVIEW = 'pageBreakPreview'; | 
					
						
							| 
									
										
										
										
											2015-05-12 09:22:06 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-19 23:20:20 +00:00
										 |  |  |     private static $sheetViewTypes = array( | 
					
						
							| 
									
										
										
										
											2015-05-12 09:22:06 +00:00
										 |  |  |         self::SHEETVIEW_NORMAL, | 
					
						
							|  |  |  |         self::SHEETVIEW_PAGE_LAYOUT, | 
					
						
							|  |  |  |         self::SHEETVIEW_PAGE_BREAK_PREVIEW, | 
					
						
							|  |  |  |     ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * ZoomScale | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * Valid values range from 10 to 400. | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @var int | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2015-05-17 09:22:51 +00:00
										 |  |  |     private $zoomScale = 100; | 
					
						
							| 
									
										
										
										
											2015-05-12 09:22:06 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * ZoomScaleNormal | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * Valid values range from 10 to 400. | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @var int | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2015-05-17 09:22:51 +00:00
										 |  |  |     private $zoomScaleNormal = 100; | 
					
						
							| 
									
										
										
										
											2015-05-12 09:22:06 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * View | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * Valid values range from 10 to 400. | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @var string | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2015-05-17 09:22:51 +00:00
										 |  |  |     private $sheetviewType = self::SHEETVIEW_NORMAL; | 
					
						
							| 
									
										
										
										
											2012-08-09 01:13:05 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-08-26 19:14:53 +00:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Create a new PHPExcel_Worksheet_SheetView | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     public function __construct() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-12 09:22:06 +00:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Get ZoomScale | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @return int | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2015-05-13 11:36:53 +00:00
										 |  |  |     public function getZoomScale() | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2015-05-17 09:22:51 +00:00
										 |  |  |         return $this->zoomScale; | 
					
						
							| 
									
										
										
										
											2015-05-12 09:22:06 +00:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Set ZoomScale | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * Valid values range from 10 to 400. | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @param     int     $pValue | 
					
						
							|  |  |  |      * @throws     PHPExcel_Exception | 
					
						
							|  |  |  |      * @return PHPExcel_Worksheet_SheetView | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2015-05-13 11:36:53 +00:00
										 |  |  |     public function setZoomScale($pValue = 100) | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2015-05-12 09:22:06 +00:00
										 |  |  |         // 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 >= 1
 | 
					
						
							|  |  |  |         if (($pValue >= 1) || is_null($pValue)) { | 
					
						
							| 
									
										
										
										
											2015-05-17 09:22:51 +00:00
										 |  |  |             $this->zoomScale = $pValue; | 
					
						
							| 
									
										
										
										
											2015-05-12 09:22:06 +00:00
										 |  |  |         } else { | 
					
						
							|  |  |  |             throw new PHPExcel_Exception("Scale must be greater than or equal to 1."); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         return $this; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Get ZoomScaleNormal | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @return int | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2015-05-13 11:36:53 +00:00
										 |  |  |     public function getZoomScaleNormal() | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2015-05-17 09:22:51 +00:00
										 |  |  |         return $this->zoomScaleNormal; | 
					
						
							| 
									
										
										
										
											2015-05-12 09:22:06 +00:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Set ZoomScale | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * Valid values range from 10 to 400. | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @param     int     $pValue | 
					
						
							|  |  |  |      * @throws     PHPExcel_Exception | 
					
						
							|  |  |  |      * @return PHPExcel_Worksheet_SheetView | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2015-05-13 11:36:53 +00:00
										 |  |  |     public function setZoomScaleNormal($pValue = 100) | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2015-05-12 09:22:06 +00:00
										 |  |  |         if (($pValue >= 1) || is_null($pValue)) { | 
					
						
							| 
									
										
										
										
											2015-05-17 09:22:51 +00:00
										 |  |  |             $this->zoomScaleNormal = $pValue; | 
					
						
							| 
									
										
										
										
											2015-05-12 09:22:06 +00:00
										 |  |  |         } else { | 
					
						
							|  |  |  |             throw new PHPExcel_Exception("Scale must be greater than or equal to 1."); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         return $this; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Get View | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @return string | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2015-05-13 11:36:53 +00:00
										 |  |  |     public function getView() | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2015-05-17 09:22:51 +00:00
										 |  |  |         return $this->sheetviewType; | 
					
						
							| 
									
										
										
										
											2015-05-12 09:22:06 +00:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Set View | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * Valid values are | 
					
						
							|  |  |  |      *        'normal'            self::SHEETVIEW_NORMAL | 
					
						
							|  |  |  |      *        'pageLayout'        self::SHEETVIEW_PAGE_LAYOUT | 
					
						
							| 
									
										
										
										
											2015-05-17 09:22:51 +00:00
										 |  |  |      *        'pageBreakPreview'  self::SHEETVIEW_PAGE_BREAK_PREVIEW | 
					
						
							| 
									
										
										
										
											2015-05-12 09:22:06 +00:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @param     string     $pValue | 
					
						
							|  |  |  |      * @throws     PHPExcel_Exception | 
					
						
							|  |  |  |      * @return PHPExcel_Worksheet_SheetView | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2015-05-13 11:36:53 +00:00
										 |  |  |     public function setView($pValue = null) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         // MS Excel 2007 allows setting the view to 'normal', 'pageLayout' or 'pageBreakPreview' via the user interface
 | 
					
						
							|  |  |  |         if ($pValue === null) { | 
					
						
							| 
									
										
										
										
											2015-05-12 09:22:06 +00:00
										 |  |  |             $pValue = self::SHEETVIEW_NORMAL; | 
					
						
							| 
									
										
										
										
											2015-05-13 11:36:53 +00:00
										 |  |  |         } | 
					
						
							| 
									
										
										
										
											2015-05-19 23:20:20 +00:00
										 |  |  |         if (in_array($pValue, self::$sheetViewTypes)) { | 
					
						
							| 
									
										
										
										
											2015-05-17 09:22:51 +00:00
										 |  |  |             $this->sheetviewType = $pValue; | 
					
						
							| 
									
										
										
										
											2015-05-12 09:22:06 +00:00
										 |  |  |         } else { | 
					
						
							|  |  |  |             throw new PHPExcel_Exception("Invalid sheetview layout type."); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         return $this; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Implement PHP __clone to create a deep clone, not just a shallow copy. | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2015-05-13 11:36:53 +00:00
										 |  |  |     public function __clone() | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2015-05-12 09:22:06 +00:00
										 |  |  |         $vars = get_object_vars($this); | 
					
						
							|  |  |  |         foreach ($vars as $key => $value) { | 
					
						
							|  |  |  |             if (is_object($value)) { | 
					
						
							|  |  |  |                 $this->$key = clone $value; | 
					
						
							|  |  |  |             } else { | 
					
						
							|  |  |  |                 $this->$key = $value; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2010-08-26 19:14:53 +00:00
										 |  |  | } |