ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
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 }
setStartColor(PHPExcel_Style_Color $pValue=null)
Set Start Color.
Definition: Fill.php:261
const FILL_NONE
Definition: Fill.php:39
const FILL_PATTERN_LIGHTHORIZONTAL
Definition: Fill.php:55
__construct($isSupervisor=FALSE, $isConditional=FALSE)
Create a new PHPExcel_Style_Fill.
Definition: Fill.php:99
setRotation($pValue=0)
Set Rotation.
Definition: Fill.php:235
applyFromArray($pStyles=null)
Apply styles from array.
Definition: Fill.php:162
getStartColor()
Get Start Color.
Definition: Fill.php:250
const FILL_GRADIENT_PATH
Definition: Fill.php:42
const FILL_PATTERN_LIGHTGRAY
Definition: Fill.php:53
getStyleArray($array)
Build style array from subcomponents.
Definition: Fill.php:135
const FILL_PATTERN_DARKGRID
Definition: Fill.php:45
const FILL_PATTERN_DARKHORIZONTAL
Definition: Fill.php:46
getSelectedCells()
Get the currently active cell coordinate in currently active sheet.
Definition: Supervisor.php:103
setEndColor(PHPExcel_Style_Color $pValue=null)
Set End Color.
Definition: Fill.php:290
const FILL_PATTERN_LIGHTTRELLIS
Definition: Fill.php:56
getSharedComponent()
Get the shared style component for the currently active cell in currently active sheet.
Definition: Fill.php:124
const FILL_PATTERN_LIGHTDOWN
Definition: Fill.php:52
const FILL_PATTERN_MEDIUMGRAY
Definition: Fill.php:59
getRotation()
Get Rotation.
Definition: Fill.php:222
const FILL_PATTERN_DARKDOWN
Definition: Fill.php:43
const FILL_PATTERN_GRAY125
Definition: Fill.php:51
const FILL_PATTERN_DARKTRELLIS
Definition: Fill.php:47
const FILL_PATTERN_LIGHTVERTICAL
Definition: Fill.php:58
Create styles array
The data for the language used.
getEndColor()
Get End Color.
Definition: Fill.php:279
const FILL_PATTERN_GRAY0625
Definition: Fill.php:50
getFillType()
Get Fill Type.
Definition: Fill.php:194
setFillType($pValue=PHPExcel_Style_Fill::FILL_NONE)
Set Fill Type.
Definition: Fill.php:207
const FILL_PATTERN_LIGHTGRID
Definition: Fill.php:54
const FILL_PATTERN_DARKVERTICAL
Definition: Fill.php:49
const FILL_SOLID
Definition: Fill.php:40
const FILL_PATTERN_DARKGRAY
Definition: Fill.php:44
const FILL_PATTERN_LIGHTUP
Definition: Fill.php:57
getActiveSheet()
Get the currently active sheet.
Definition: Supervisor.php:92
const FILL_PATTERN_DARKUP
Definition: Fill.php:48
getHashCode()
Get hash code.
Definition: Fill.php:308
const FILL_GRADIENT_LINEAR
Definition: Fill.php:41