[ Index ] |
PHP Cross Reference of moodle-2.8 |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * PHPExcel 4 * 5 * Copyright (c) 2006 - 2014 PHPExcel 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 PHPExcel 22 * @package PHPExcel_Chart 23 * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) 24 * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL 25 * @version ##VERSION##, ##DATE## 26 */ 27 28 29 /** 30 * PHPExcel_Chart 31 * 32 * @category PHPExcel 33 * @package PHPExcel_Chart 34 * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) 35 */ 36 class PHPExcel_Chart 37 { 38 /** 39 * Chart Name 40 * 41 * @var string 42 */ 43 private $_name = ''; 44 45 /** 46 * Worksheet 47 * 48 * @var PHPExcel_Worksheet 49 */ 50 private $_worksheet = null; 51 52 /** 53 * Chart Title 54 * 55 * @var PHPExcel_Chart_Title 56 */ 57 private $_title = null; 58 59 /** 60 * Chart Legend 61 * 62 * @var PHPExcel_Chart_Legend 63 */ 64 private $_legend = null; 65 66 /** 67 * X-Axis Label 68 * 69 * @var PHPExcel_Chart_Title 70 */ 71 private $_xAxisLabel = null; 72 73 /** 74 * Y-Axis Label 75 * 76 * @var PHPExcel_Chart_Title 77 */ 78 private $_yAxisLabel = null; 79 80 /** 81 * Chart Plot Area 82 * 83 * @var PHPExcel_Chart_PlotArea 84 */ 85 private $_plotArea = null; 86 87 /** 88 * Plot Visible Only 89 * 90 * @var boolean 91 */ 92 private $_plotVisibleOnly = true; 93 94 /** 95 * Display Blanks as 96 * 97 * @var string 98 */ 99 private $_displayBlanksAs = '0'; 100 101 102 /** 103 * Top-Left Cell Position 104 * 105 * @var string 106 */ 107 private $_topLeftCellRef = 'A1'; 108 109 110 /** 111 * Top-Left X-Offset 112 * 113 * @var integer 114 */ 115 private $_topLeftXOffset = 0; 116 117 118 /** 119 * Top-Left Y-Offset 120 * 121 * @var integer 122 */ 123 private $_topLeftYOffset = 0; 124 125 126 /** 127 * Bottom-Right Cell Position 128 * 129 * @var string 130 */ 131 private $_bottomRightCellRef = 'A1'; 132 133 134 /** 135 * Bottom-Right X-Offset 136 * 137 * @var integer 138 */ 139 private $_bottomRightXOffset = 10; 140 141 142 /** 143 * Bottom-Right Y-Offset 144 * 145 * @var integer 146 */ 147 private $_bottomRightYOffset = 10; 148 149 150 /** 151 * Create a new PHPExcel_Chart 152 */ 153 public function __construct($name, PHPExcel_Chart_Title $title = null, PHPExcel_Chart_Legend $legend = null, PHPExcel_Chart_PlotArea $plotArea = null, $plotVisibleOnly = true, $displayBlanksAs = '0', PHPExcel_Chart_Title $xAxisLabel = null, PHPExcel_Chart_Title $yAxisLabel = null) 154 { 155 $this->_name = $name; 156 $this->_title = $title; 157 $this->_legend = $legend; 158 $this->_xAxisLabel = $xAxisLabel; 159 $this->_yAxisLabel = $yAxisLabel; 160 $this->_plotArea = $plotArea; 161 $this->_plotVisibleOnly = $plotVisibleOnly; 162 $this->_displayBlanksAs = $displayBlanksAs; 163 } 164 165 /** 166 * Get Name 167 * 168 * @return string 169 */ 170 public function getName() { 171 return $this->_name; 172 } 173 174 /** 175 * Get Worksheet 176 * 177 * @return PHPExcel_Worksheet 178 */ 179 public function getWorksheet() { 180 return $this->_worksheet; 181 } 182 183 /** 184 * Set Worksheet 185 * 186 * @param PHPExcel_Worksheet $pValue 187 * @throws PHPExcel_Chart_Exception 188 * @return PHPExcel_Chart 189 */ 190 public function setWorksheet(PHPExcel_Worksheet $pValue = null) { 191 $this->_worksheet = $pValue; 192 193 return $this; 194 } 195 196 /** 197 * Get Title 198 * 199 * @return PHPExcel_Chart_Title 200 */ 201 public function getTitle() { 202 return $this->_title; 203 } 204 205 /** 206 * Set Title 207 * 208 * @param PHPExcel_Chart_Title $title 209 * @return PHPExcel_Chart 210 */ 211 public function setTitle(PHPExcel_Chart_Title $title) { 212 $this->_title = $title; 213 214 return $this; 215 } 216 217 /** 218 * Get Legend 219 * 220 * @return PHPExcel_Chart_Legend 221 */ 222 public function getLegend() { 223 return $this->_legend; 224 } 225 226 /** 227 * Set Legend 228 * 229 * @param PHPExcel_Chart_Legend $legend 230 * @return PHPExcel_Chart 231 */ 232 public function setLegend(PHPExcel_Chart_Legend $legend) { 233 $this->_legend = $legend; 234 235 return $this; 236 } 237 238 /** 239 * Get X-Axis Label 240 * 241 * @return PHPExcel_Chart_Title 242 */ 243 public function getXAxisLabel() { 244 return $this->_xAxisLabel; 245 } 246 247 /** 248 * Set X-Axis Label 249 * 250 * @param PHPExcel_Chart_Title $label 251 * @return PHPExcel_Chart 252 */ 253 public function setXAxisLabel(PHPExcel_Chart_Title $label) { 254 $this->_xAxisLabel = $label; 255 256 return $this; 257 } 258 259 /** 260 * Get Y-Axis Label 261 * 262 * @return PHPExcel_Chart_Title 263 */ 264 public function getYAxisLabel() { 265 return $this->_yAxisLabel; 266 } 267 268 /** 269 * Set Y-Axis Label 270 * 271 * @param PHPExcel_Chart_Title $label 272 * @return PHPExcel_Chart 273 */ 274 public function setYAxisLabel(PHPExcel_Chart_Title $label) { 275 $this->_yAxisLabel = $label; 276 277 return $this; 278 } 279 280 /** 281 * Get Plot Area 282 * 283 * @return PHPExcel_Chart_PlotArea 284 */ 285 public function getPlotArea() { 286 return $this->_plotArea; 287 } 288 289 /** 290 * Get Plot Visible Only 291 * 292 * @return boolean 293 */ 294 public function getPlotVisibleOnly() { 295 return $this->_plotVisibleOnly; 296 } 297 298 /** 299 * Set Plot Visible Only 300 * 301 * @param boolean $plotVisibleOnly 302 * @return PHPExcel_Chart 303 */ 304 public function setPlotVisibleOnly($plotVisibleOnly = true) { 305 $this->_plotVisibleOnly = $plotVisibleOnly; 306 307 return $this; 308 } 309 310 /** 311 * Get Display Blanks as 312 * 313 * @return string 314 */ 315 public function getDisplayBlanksAs() { 316 return $this->_displayBlanksAs; 317 } 318 319 /** 320 * Set Display Blanks as 321 * 322 * @param string $displayBlanksAs 323 * @return PHPExcel_Chart 324 */ 325 public function setDisplayBlanksAs($displayBlanksAs = '0') { 326 $this->_displayBlanksAs = $displayBlanksAs; 327 } 328 329 330 /** 331 * Set the Top Left position for the chart 332 * 333 * @param string $cell 334 * @param integer $xOffset 335 * @param integer $yOffset 336 * @return PHPExcel_Chart 337 */ 338 public function setTopLeftPosition($cell, $xOffset=null, $yOffset=null) { 339 $this->_topLeftCellRef = $cell; 340 if (!is_null($xOffset)) 341 $this->setTopLeftXOffset($xOffset); 342 if (!is_null($yOffset)) 343 $this->setTopLeftYOffset($yOffset); 344 345 return $this; 346 } 347 348 /** 349 * Get the top left position of the chart 350 * 351 * @return array an associative array containing the cell address, X-Offset and Y-Offset from the top left of that cell 352 */ 353 public function getTopLeftPosition() { 354 return array( 'cell' => $this->_topLeftCellRef, 355 'xOffset' => $this->_topLeftXOffset, 356 'yOffset' => $this->_topLeftYOffset 357 ); 358 } 359 360 /** 361 * Get the cell address where the top left of the chart is fixed 362 * 363 * @return string 364 */ 365 public function getTopLeftCell() { 366 return $this->_topLeftCellRef; 367 } 368 369 /** 370 * Set the Top Left cell position for the chart 371 * 372 * @param string $cell 373 * @return PHPExcel_Chart 374 */ 375 public function setTopLeftCell($cell) { 376 $this->_topLeftCellRef = $cell; 377 378 return $this; 379 } 380 381 /** 382 * Set the offset position within the Top Left cell for the chart 383 * 384 * @param integer $xOffset 385 * @param integer $yOffset 386 * @return PHPExcel_Chart 387 */ 388 public function setTopLeftOffset($xOffset=null,$yOffset=null) { 389 if (!is_null($xOffset)) 390 $this->setTopLeftXOffset($xOffset); 391 if (!is_null($yOffset)) 392 $this->setTopLeftYOffset($yOffset); 393 394 return $this; 395 } 396 397 /** 398 * Get the offset position within the Top Left cell for the chart 399 * 400 * @return integer[] 401 */ 402 public function getTopLeftOffset() { 403 return array( 'X' => $this->_topLeftXOffset, 404 'Y' => $this->_topLeftYOffset 405 ); 406 } 407 408 public function setTopLeftXOffset($xOffset) { 409 $this->_topLeftXOffset = $xOffset; 410 411 return $this; 412 } 413 414 public function getTopLeftXOffset() { 415 return $this->_topLeftXOffset; 416 } 417 418 public function setTopLeftYOffset($yOffset) { 419 $this->_topLeftYOffset = $yOffset; 420 421 return $this; 422 } 423 424 public function getTopLeftYOffset() { 425 return $this->_topLeftYOffset; 426 } 427 428 /** 429 * Set the Bottom Right position of the chart 430 * 431 * @param string $cell 432 * @param integer $xOffset 433 * @param integer $yOffset 434 * @return PHPExcel_Chart 435 */ 436 public function setBottomRightPosition($cell, $xOffset=null, $yOffset=null) { 437 $this->_bottomRightCellRef = $cell; 438 if (!is_null($xOffset)) 439 $this->setBottomRightXOffset($xOffset); 440 if (!is_null($yOffset)) 441 $this->setBottomRightYOffset($yOffset); 442 443 return $this; 444 } 445 446 /** 447 * Get the bottom right position of the chart 448 * 449 * @return array an associative array containing the cell address, X-Offset and Y-Offset from the top left of that cell 450 */ 451 public function getBottomRightPosition() { 452 return array( 'cell' => $this->_bottomRightCellRef, 453 'xOffset' => $this->_bottomRightXOffset, 454 'yOffset' => $this->_bottomRightYOffset 455 ); 456 } 457 458 public function setBottomRightCell($cell) { 459 $this->_bottomRightCellRef = $cell; 460 461 return $this; 462 } 463 464 /** 465 * Get the cell address where the bottom right of the chart is fixed 466 * 467 * @return string 468 */ 469 public function getBottomRightCell() { 470 return $this->_bottomRightCellRef; 471 } 472 473 /** 474 * Set the offset position within the Bottom Right cell for the chart 475 * 476 * @param integer $xOffset 477 * @param integer $yOffset 478 * @return PHPExcel_Chart 479 */ 480 public function setBottomRightOffset($xOffset=null,$yOffset=null) { 481 if (!is_null($xOffset)) 482 $this->setBottomRightXOffset($xOffset); 483 if (!is_null($yOffset)) 484 $this->setBottomRightYOffset($yOffset); 485 486 return $this; 487 } 488 489 /** 490 * Get the offset position within the Bottom Right cell for the chart 491 * 492 * @return integer[] 493 */ 494 public function getBottomRightOffset() { 495 return array( 'X' => $this->_bottomRightXOffset, 496 'Y' => $this->_bottomRightYOffset 497 ); 498 } 499 500 public function setBottomRightXOffset($xOffset) { 501 $this->_bottomRightXOffset = $xOffset; 502 503 return $this; 504 } 505 506 public function getBottomRightXOffset() { 507 return $this->_bottomRightXOffset; 508 } 509 510 public function setBottomRightYOffset($yOffset) { 511 $this->_bottomRightYOffset = $yOffset; 512 513 return $this; 514 } 515 516 public function getBottomRightYOffset() { 517 return $this->_bottomRightYOffset; 518 } 519 520 521 public function refresh() { 522 if ($this->_worksheet !== NULL) { 523 $this->_plotArea->refresh($this->_worksheet); 524 } 525 } 526 527 public function render($outputDestination = null) { 528 $libraryName = PHPExcel_Settings::getChartRendererName(); 529 if (is_null($libraryName)) { 530 return false; 531 } 532 // Ensure that data series values are up-to-date before we render 533 $this->refresh(); 534 535 $libraryPath = PHPExcel_Settings::getChartRendererPath(); 536 $includePath = str_replace('\\','/',get_include_path()); 537 $rendererPath = str_replace('\\','/',$libraryPath); 538 if (strpos($rendererPath,$includePath) === false) { 539 set_include_path(get_include_path() . PATH_SEPARATOR . $libraryPath); 540 } 541 542 $rendererName = 'PHPExcel_Chart_Renderer_'.$libraryName; 543 $renderer = new $rendererName($this); 544 545 if ($outputDestination == 'php://output') { 546 $outputDestination = null; 547 } 548 return $renderer->render($outputDestination); 549 } 550 551 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:29:05 2014 | Cross-referenced by PHPXref 0.7.1 |