zentaopms/lib/phpword/Style/NumberingLevel.php
2023-05-16 10:47:08 +08:00

459 lines
7.9 KiB
PHP

<?php
/**
* This file is part of PHPWord - A pure PHP library for reading and writing
* word processing documents.
*
* PHPWord is free software distributed under the terms of the GNU Lesser
* General Public License version 3 as published by the Free Software Foundation.
*
* For the full copyright and license information, please read the LICENSE
* file that was distributed with this source code. For the full list of
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
*
* @see https://github.com/PHPOffice/PHPWord
* @copyright 2010-2018 PHPWord contributors
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
*/
namespace PhpOffice\PhpWord\Style;
use PhpOffice\PhpWord\SimpleType\Jc;
use PhpOffice\PhpWord\SimpleType\NumberFormat;
/**
* Numbering level definition
*
* @see http://www.schemacentral.com/sc/ooxml/e-w_lvl-1.html
* @since 0.10.0
*/
class NumberingLevel extends AbstractStyle
{
/**
* Level number, 0 to 8 (total 9 levels)
*
* @var int
*/
private $level = 0;
/**
* Starting value w:start
*
* @var int
* @see http://www.schemacentral.com/sc/ooxml/e-w_start-1.html
*/
private $start = 1;
/**
* Numbering format w:numFmt, one of PhpOffice\PhpWord\SimpleType\NumberFormat
*
* @var string
* @see http://www.schemacentral.com/sc/ooxml/t-w_ST_NumberFormat.html
*/
private $format;
/**
* Restart numbering level symbol w:lvlRestart
*
* @var int
* @see http://www.schemacentral.com/sc/ooxml/e-w_lvlRestart-1.html
*/
private $restart;
/**
* Related paragraph style
*
* @var string
* @see http://www.schemacentral.com/sc/ooxml/e-w_pStyle-2.html
*/
private $pStyle;
/**
* Content between numbering symbol and paragraph text w:suff
*
* @var string tab|space|nothing
* @see http://www.schemacentral.com/sc/ooxml/e-w_suff-1.html
*/
private $suffix = 'tab';
/**
* Numbering level text e.g. %1 for nonbullet or bullet character
*
* @var string
* @see http://www.schemacentral.com/sc/ooxml/e-w_lvlText-1.html
*/
private $text;
/**
* Justification, w:lvlJc
*
* @var string, one of PhpOffice\PhpWord\SimpleType\Jc
*/
private $alignment = '';
/**
* Left
*
* @var int
*/
private $left;
/**
* Hanging
*
* @var int
*/
private $hanging;
/**
* Tab position
*
* @var int
*/
private $tabPos;
/**
* Font family
*
* @var string
*/
private $font;
/**
* Hint default|eastAsia|cs
*
* @var string
* @see http://www.schemacentral.com/sc/ooxml/a-w_hint-1.html
*/
private $hint;
/**
* Get level
*
* @return int
*/
public function getLevel()
{
return $this->level;
}
/**
* Set level
*
* @param int $value
* @return self
*/
public function setLevel($value)
{
$this->level = $this->setIntVal($value, $this->level);
return $this;
}
/**
* Get start
*
* @return int
*/
public function getStart()
{
return $this->start;
}
/**
* Set start
*
* @param int $value
* @return self
*/
public function setStart($value)
{
$this->start = $this->setIntVal($value, $this->start);
return $this;
}
/**
* Get format
*
* @return string
*/
public function getFormat()
{
return $this->format;
}
/**
* Set format
*
* @param string $value
* @return self
*/
public function setFormat($value)
{
$this->format = $this->setEnumVal($value, NumberFormat::values(), $this->format);
return $this;
}
/**
* Get restart
*
* @return int
*/
public function getRestart()
{
return $this->restart;
}
/**
* Set restart
*
* @param int $value
* @return self
*/
public function setRestart($value)
{
$this->restart = $this->setIntVal($value, $this->restart);
return $this;
}
/**
* Get related paragraph style
*
* @return string
*/
public function getPStyle()
{
return $this->pStyle;
}
/**
* Set related paragraph style
*
* @param string $value
* @return self
*/
public function setPStyle($value)
{
$this->pStyle = $value;
return $this;
}
/**
* Get suffix
*
* @return string
*/
public function getSuffix()
{
return $this->suffix;
}
/**
* Set suffix
*
* @param string $value
* @return self
*/
public function setSuffix($value)
{
$enum = array('tab', 'space', 'nothing');
$this->suffix = $this->setEnumVal($value, $enum, $this->suffix);
return $this;
}
/**
* Get text
*
* @return string
*/
public function getText()
{
return $this->text;
}
/**
* Set text
*
* @param string $value
* @return self
*/
public function setText($value)
{
$this->text = $value;
return $this;
}
/**
* @since 0.13.0
*
* @return string
*/
public function getAlignment()
{
return $this->alignment;
}
/**
* @since 0.13.0
*
* @param string $value
*
* @return self
*/
public function setAlignment($value)
{
if (Jc::isValid($value)) {
$this->alignment = $value;
}
return $this;
}
/**
* @deprecated 0.13.0 Use the `getAlignment` method instead.
*
* @return string
*
* @codeCoverageIgnore
*/
public function getAlign()
{
return $this->getAlignment();
}
/**
* @deprecated 0.13.0 Use the `setAlignment` method instead.
*
* @param string $value
*
* @return self
*
* @codeCoverageIgnore
*/
public function setAlign($value)
{
return $this->setAlignment($value);
}
/**
* Get left
*
* @return int
*/
public function getLeft()
{
return $this->left;
}
/**
* Set left
*
* @param int $value
* @return self
*/
public function setLeft($value)
{
$this->left = $this->setIntVal($value, $this->left);
return $this;
}
/**
* Get hanging
*
* @return int
*/
public function getHanging()
{
return $this->hanging;
}
/**
* Set hanging
*
* @param int $value
* @return self
*/
public function setHanging($value)
{
$this->hanging = $this->setIntVal($value, $this->hanging);
return $this;
}
/**
* Get tab
*
* @return int
*/
public function getTabPos()
{
return $this->tabPos;
}
/**
* Set tab
*
* @param int $value
* @return self
*/
public function setTabPos($value)
{
$this->tabPos = $this->setIntVal($value, $this->tabPos);
return $this;
}
/**
* Get font
*
* @return string
*/
public function getFont()
{
return $this->font;
}
/**
* Set font
*
* @param string $value
* @return self
*/
public function setFont($value)
{
$this->font = $value;
return $this;
}
/**
* Get hint
*
* @return string
*/
public function getHint()
{
return $this->hint;
}
/**
* Set hint
*
* @param string $value
* @return self
*/
public function setHint($value = null)
{
$enum = array('default', 'eastAsia', 'cs');
$this->hint = $this->setEnumVal($value, $enum, $this->hint);
return $this;
}
}