123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- <?php
- namespace PhpOffice\PhpSpreadsheet\Worksheet;
- use PhpOffice\PhpSpreadsheet\Exception as PhpSpreadsheetException;
- abstract class Dimension
- {
- /**
- * Visible?
- *
- * @var bool
- */
- private $visible = true;
- /**
- * Outline level.
- *
- * @var int
- */
- private $outlineLevel = 0;
- /**
- * Collapsed.
- *
- * @var bool
- */
- private $collapsed = false;
- /**
- * Index to cellXf. Null value means row has no explicit cellXf format.
- *
- * @var null|int
- */
- private $xfIndex;
- /**
- * Create a new Dimension.
- *
- * @param int $initialValue Numeric row index
- */
- public function __construct($initialValue = null)
- {
- // set dimension as unformatted by default
- $this->xfIndex = $initialValue;
- }
- /**
- * Get Visible.
- *
- * @return bool
- */
- public function getVisible()
- {
- return $this->visible;
- }
- /**
- * Set Visible.
- *
- * @param bool $pValue
- *
- * @return Dimension
- */
- public function setVisible($pValue)
- {
- $this->visible = $pValue;
- return $this;
- }
- /**
- * Get Outline Level.
- *
- * @return int
- */
- public function getOutlineLevel()
- {
- return $this->outlineLevel;
- }
- /**
- * Set Outline Level.
- * Value must be between 0 and 7.
- *
- * @param int $pValue
- *
- * @throws PhpSpreadsheetException
- *
- * @return Dimension
- */
- public function setOutlineLevel($pValue)
- {
- if ($pValue < 0 || $pValue > 7) {
- throw new PhpSpreadsheetException('Outline level must range between 0 and 7.');
- }
- $this->outlineLevel = $pValue;
- return $this;
- }
- /**
- * Get Collapsed.
- *
- * @return bool
- */
- public function getCollapsed()
- {
- return $this->collapsed;
- }
- /**
- * Set Collapsed.
- *
- * @param bool $pValue
- *
- * @return Dimension
- */
- public function setCollapsed($pValue)
- {
- $this->collapsed = $pValue;
- return $this;
- }
- /**
- * Get index to cellXf.
- *
- * @return int
- */
- public function getXfIndex()
- {
- return $this->xfIndex;
- }
- /**
- * Set index to cellXf.
- *
- * @param int $pValue
- *
- * @return Dimension
- */
- public function setXfIndex($pValue)
- {
- $this->xfIndex = $pValue;
- 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;
- }
- }
- }
- }
|