ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
Fill.php
Go to the documentation of this file.
1<?php
37{
38 /* Fill types */
39 const FILL_NONE = 'none';
40 const FILL_SOLID = 'solid';
41 const FILL_GRADIENT_LINEAR = 'linear';
42 const FILL_GRADIENT_PATH = 'path';
43 const FILL_PATTERN_DARKDOWN = 'darkDown';
44 const FILL_PATTERN_DARKGRAY = 'darkGray';
45 const FILL_PATTERN_DARKGRID = 'darkGrid';
46 const FILL_PATTERN_DARKHORIZONTAL = 'darkHorizontal';
47 const FILL_PATTERN_DARKTRELLIS = 'darkTrellis';
48 const FILL_PATTERN_DARKUP = 'darkUp';
49 const FILL_PATTERN_DARKVERTICAL = 'darkVertical';
50 const FILL_PATTERN_GRAY0625 = 'gray0625';
51 const FILL_PATTERN_GRAY125 = 'gray125';
52 const FILL_PATTERN_LIGHTDOWN = 'lightDown';
53 const FILL_PATTERN_LIGHTGRAY = 'lightGray';
54 const FILL_PATTERN_LIGHTGRID = 'lightGrid';
55 const FILL_PATTERN_LIGHTHORIZONTAL = 'lightHorizontal';
56 const FILL_PATTERN_LIGHTTRELLIS = 'lightTrellis';
57 const FILL_PATTERN_LIGHTUP = 'lightUp';
58 const FILL_PATTERN_LIGHTVERTICAL = 'lightVertical';
59 const FILL_PATTERN_MEDIUMGRAY = 'mediumGray';
60
67
73 protected $_rotation = 0;
74
80 protected $_startColor;
81
87 protected $_endColor;
88
99 public function __construct($isSupervisor = FALSE, $isConditional = FALSE)
100 {
101 // Supervisor?
102 parent::__construct($isSupervisor);
103
104 // Initialise values
105 if ($isConditional) {
106 $this->_fillType = NULL;
107 }
108 $this->_startColor = new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_WHITE, $isSupervisor, $isConditional);
109 $this->_endColor = new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_BLACK, $isSupervisor, $isConditional);
110
111 // bind parent if we are a supervisor
112 if ($isSupervisor) {
113 $this->_startColor->bindParent($this, '_startColor');
114 $this->_endColor->bindParent($this, '_endColor');
115 }
116 }
117
124 public function getSharedComponent()
125 {
126 return $this->_parent->getSharedComponent()->getFill();
127 }
128
135 public function getStyleArray($array)
136 {
137 return array('fill' => $array);
138 }
139
162 public function applyFromArray($pStyles = null) {
163 if (is_array($pStyles)) {
164 if ($this->_isSupervisor) {
165 $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($pStyles));
166 } else {
167 if (array_key_exists('type', $pStyles)) {
168 $this->setFillType($pStyles['type']);
169 }
170 if (array_key_exists('rotation', $pStyles)) {
171 $this->setRotation($pStyles['rotation']);
172 }
173 if (array_key_exists('startcolor', $pStyles)) {
174 $this->getStartColor()->applyFromArray($pStyles['startcolor']);
175 }
176 if (array_key_exists('endcolor', $pStyles)) {
177 $this->getEndColor()->applyFromArray($pStyles['endcolor']);
178 }
179 if (array_key_exists('color', $pStyles)) {
180 $this->getStartColor()->applyFromArray($pStyles['color']);
181 }
182 }
183 } else {
184 throw new PHPExcel_Exception("Invalid style array passed.");
185 }
186 return $this;
187 }
188
194 public function getFillType() {
195 if ($this->_isSupervisor) {
196 return $this->getSharedComponent()->getFillType();
197 }
198 return $this->_fillType;
199 }
200
207 public function setFillType($pValue = PHPExcel_Style_Fill::FILL_NONE) {
208 if ($this->_isSupervisor) {
209 $styleArray = $this->getStyleArray(array('type' => $pValue));
210 $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray);
211 } else {
212 $this->_fillType = $pValue;
213 }
214 return $this;
215 }
216
222 public function getRotation() {
223 if ($this->_isSupervisor) {
224 return $this->getSharedComponent()->getRotation();
225 }
226 return $this->_rotation;
227 }
228
235 public function setRotation($pValue = 0) {
236 if ($this->_isSupervisor) {
237 $styleArray = $this->getStyleArray(array('rotation' => $pValue));
238 $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray);
239 } else {
240 $this->_rotation = $pValue;
241 }
242 return $this;
243 }
244
250 public function getStartColor() {
251 return $this->_startColor;
252 }
253
261 public function setStartColor(PHPExcel_Style_Color $pValue = null) {
262 // make sure parameter is a real color and not a supervisor
263 $color = $pValue->getIsSupervisor() ? $pValue->getSharedComponent() : $pValue;
264
265 if ($this->_isSupervisor) {
266 $styleArray = $this->getStartColor()->getStyleArray(array('argb' => $color->getARGB()));
267 $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray);
268 } else {
269 $this->_startColor = $color;
270 }
271 return $this;
272 }
273
279 public function getEndColor() {
280 return $this->_endColor;
281 }
282
290 public function setEndColor(PHPExcel_Style_Color $pValue = null) {
291 // make sure parameter is a real color and not a supervisor
292 $color = $pValue->getIsSupervisor() ? $pValue->getSharedComponent() : $pValue;
293
294 if ($this->_isSupervisor) {
295 $styleArray = $this->getEndColor()->getStyleArray(array('argb' => $color->getARGB()));
296 $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray);
297 } else {
298 $this->_endColor = $color;
299 }
300 return $this;
301 }
302
308 public function getHashCode() {
309 if ($this->_isSupervisor) {
310 return $this->getSharedComponent()->getHashCode();
311 }
312 return md5(
313 $this->getFillType()
314 . $this->getRotation()
315 . $this->getStartColor()->getHashCode()
316 . $this->getEndColor()->getHashCode()
317 . __CLASS__
318 );
319 }
320
321}
An exception for terminatinating execution or to throw for unit testing.
const FILL_PATTERN_LIGHTUP
Definition: Fill.php:57
getStartColor()
Get Start Color.
Definition: Fill.php:250
const FILL_SOLID
Definition: Fill.php:40
const FILL_PATTERN_DARKDOWN
Definition: Fill.php:43
const FILL_PATTERN_DARKUP
Definition: Fill.php:48
const FILL_PATTERN_LIGHTVERTICAL
Definition: Fill.php:58
applyFromArray($pStyles=null)
Apply styles from array.
Definition: Fill.php:162
const FILL_PATTERN_LIGHTGRAY
Definition: Fill.php:53
const FILL_PATTERN_LIGHTDOWN
Definition: Fill.php:52
getFillType()
Get Fill Type.
Definition: Fill.php:194
getRotation()
Get Rotation.
Definition: Fill.php:222
const FILL_PATTERN_DARKGRAY
Definition: Fill.php:44
const FILL_PATTERN_GRAY125
Definition: Fill.php:51
const FILL_PATTERN_LIGHTHORIZONTAL
Definition: Fill.php:55
const FILL_PATTERN_DARKTRELLIS
Definition: Fill.php:47
const FILL_PATTERN_GRAY0625
Definition: Fill.php:50
getSharedComponent()
Get the shared style component for the currently active cell in currently active sheet.
Definition: Fill.php:124
getEndColor()
Get End Color.
Definition: Fill.php:279
getHashCode()
Get hash code.
Definition: Fill.php:308
setFillType($pValue=PHPExcel_Style_Fill::FILL_NONE)
Set Fill Type.
Definition: Fill.php:207
const FILL_NONE
Definition: Fill.php:39
setRotation($pValue=0)
Set Rotation.
Definition: Fill.php:235
setStartColor(PHPExcel_Style_Color $pValue=null)
Set Start Color.
Definition: Fill.php:261
const FILL_PATTERN_MEDIUMGRAY
Definition: Fill.php:59
const FILL_GRADIENT_PATH
Definition: Fill.php:42
setEndColor(PHPExcel_Style_Color $pValue=null)
Set End Color.
Definition: Fill.php:290
const FILL_GRADIENT_LINEAR
Definition: Fill.php:41
const FILL_PATTERN_DARKVERTICAL
Definition: Fill.php:49
const FILL_PATTERN_DARKHORIZONTAL
Definition: Fill.php:46
const FILL_PATTERN_LIGHTGRID
Definition: Fill.php:54
const FILL_PATTERN_LIGHTTRELLIS
Definition: Fill.php:56
__construct($isSupervisor=FALSE, $isConditional=FALSE)
Create a new PHPExcel_Style_Fill.
Definition: Fill.php:99
const FILL_PATTERN_DARKGRID
Definition: Fill.php:45
getStyleArray($array)
Build style array from subcomponents.
Definition: Fill.php:135
getActiveSheet()
Get the currently active sheet.
Definition: Supervisor.php:92
getSelectedCells()
Get the currently active cell coordinate in currently active sheet.
Definition: Supervisor.php:103