164 lines
2.8 KiB
PHP
164 lines
2.8 KiB
PHP
|
<?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 $this
|
||
|
*/
|
||
|
public function setVisible($pValue)
|
||
|
{
|
||
|
$this->visible = (bool) $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
|
||
|
*
|
||
|
* @return $this
|
||
|
*/
|
||
|
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 $this
|
||
|
*/
|
||
|
public function setCollapsed($pValue)
|
||
|
{
|
||
|
$this->collapsed = (bool) $pValue;
|
||
|
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Get index to cellXf.
|
||
|
*
|
||
|
* @return int
|
||
|
*/
|
||
|
public function getXfIndex()
|
||
|
{
|
||
|
return $this->xfIndex;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Set index to cellXf.
|
||
|
*
|
||
|
* @param int $pValue
|
||
|
*
|
||
|
* @return $this
|
||
|
*/
|
||
|
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;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|