123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480 |
- <?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\Metadata;
- use PhpOffice\PhpWord\ComplexType\ProofState;
- use PhpOffice\PhpWord\ComplexType\TrackChangesView;
- use PhpOffice\PhpWord\SimpleType\Zoom;
- use PhpOffice\PhpWord\Style\Language;
- /**
- * Setting class
- *
- * @since 0.14.0
- * @see http://www.datypic.com/sc/ooxml/t-w_CT_Settings.html
- */
- class Settings
- {
- /**
- * Magnification Setting
- *
- * @see http://www.datypic.com/sc/ooxml/e-w_zoom-1.html
- * @var mixed either integer, in which case it treated as a percent, or one of PhpOffice\PhpWord\SimpleType\Zoom
- */
- private $zoom = 100;
- /**
- * Mirror Page Margins
- *
- * @see http://www.datypic.com/sc/ooxml/e-w_mirrorMargins-1.html
- * @var bool
- */
- private $mirrorMargins;
- /**
- * Hide spelling errors
- *
- * @var bool
- */
- private $hideSpellingErrors = false;
- /**
- * Hide grammatical errors
- *
- * @var bool
- */
- private $hideGrammaticalErrors = false;
- /**
- * Visibility of Annotation Types
- *
- * @var TrackChangesView
- */
- private $revisionView;
- /**
- * Track Revisions to Document
- *
- * @var bool
- */
- private $trackRevisions = false;
- /**
- * Do Not Use Move Syntax When Tracking Revisions
- *
- * @var bool
- */
- private $doNotTrackMoves = false;
- /**
- * Do Not Track Formatting Revisions When Tracking Revisions
- *
- * @var bool
- */
- private $doNotTrackFormatting = false;
- /**
- * Spelling and Grammatical Checking State
- *
- * @var \PhpOffice\PhpWord\ComplexType\ProofState
- */
- private $proofState;
- /**
- * Document Editing Restrictions
- *
- * @var \PhpOffice\PhpWord\Metadata\Protection
- */
- private $documentProtection;
- /**
- * Enables different header for odd and even pages.
- *
- * @var bool
- */
- private $evenAndOddHeaders = false;
- /**
- * Theme Font Languages
- *
- * @var Language
- */
- private $themeFontLang;
- /**
- * Automatically Recalculate Fields on Open
- *
- * @var bool
- */
- private $updateFields = false;
- /**
- * Radix Point for Field Code Evaluation
- *
- * @var string
- */
- private $decimalSymbol = '.';
- /**
- * Automatically hyphenate document contents when displayed
- *
- * @var bool|null
- */
- private $autoHyphenation;
- /**
- * Maximum number of consecutively hyphenated lines
- *
- * @var int|null
- */
- private $consecutiveHyphenLimit;
- /**
- * The allowed amount of whitespace before hyphenation is applied
- * @var float|null
- */
- private $hyphenationZone;
- /**
- * Do not hyphenate words in all capital letters
- * @var bool|null
- */
- private $doNotHyphenateCaps;
- /**
- * @return Protection
- */
- public function getDocumentProtection()
- {
- if ($this->documentProtection == null) {
- $this->documentProtection = new Protection();
- }
- return $this->documentProtection;
- }
- /**
- * @param Protection $documentProtection
- */
- public function setDocumentProtection($documentProtection)
- {
- $this->documentProtection = $documentProtection;
- }
- /**
- * @return ProofState
- */
- public function getProofState()
- {
- if ($this->proofState == null) {
- $this->proofState = new ProofState();
- }
- return $this->proofState;
- }
- /**
- * @param ProofState $proofState
- */
- public function setProofState($proofState)
- {
- $this->proofState = $proofState;
- }
- /**
- * Are spelling errors hidden
- *
- * @return bool
- */
- public function hasHideSpellingErrors()
- {
- return $this->hideSpellingErrors;
- }
- /**
- * Hide spelling errors
- *
- * @param bool $hideSpellingErrors
- */
- public function setHideSpellingErrors($hideSpellingErrors)
- {
- $this->hideSpellingErrors = $hideSpellingErrors === null ? true : $hideSpellingErrors;
- }
- /**
- * Are grammatical errors hidden
- *
- * @return bool
- */
- public function hasHideGrammaticalErrors()
- {
- return $this->hideGrammaticalErrors;
- }
- /**
- * Hide grammatical errors
- *
- * @param bool $hideGrammaticalErrors
- */
- public function setHideGrammaticalErrors($hideGrammaticalErrors)
- {
- $this->hideGrammaticalErrors = $hideGrammaticalErrors === null ? true : $hideGrammaticalErrors;
- }
- /**
- * @return bool
- */
- public function hasEvenAndOddHeaders()
- {
- return $this->evenAndOddHeaders;
- }
- /**
- * @param bool $evenAndOddHeaders
- */
- public function setEvenAndOddHeaders($evenAndOddHeaders)
- {
- $this->evenAndOddHeaders = $evenAndOddHeaders === null ? true : $evenAndOddHeaders;
- }
- /**
- * Get the Visibility of Annotation Types
- *
- * @return \PhpOffice\PhpWord\ComplexType\TrackChangesView
- */
- public function getRevisionView()
- {
- return $this->revisionView;
- }
- /**
- * Set the Visibility of Annotation Types
- *
- * @param TrackChangesView $trackChangesView
- */
- public function setRevisionView(TrackChangesView $trackChangesView = null)
- {
- $this->revisionView = $trackChangesView;
- }
- /**
- * @return bool
- */
- public function hasTrackRevisions()
- {
- return $this->trackRevisions;
- }
- /**
- * @param bool $trackRevisions
- */
- public function setTrackRevisions($trackRevisions)
- {
- $this->trackRevisions = $trackRevisions === null ? true : $trackRevisions;
- }
- /**
- * @return bool
- */
- public function hasDoNotTrackMoves()
- {
- return $this->doNotTrackMoves;
- }
- /**
- * @param bool $doNotTrackMoves
- */
- public function setDoNotTrackMoves($doNotTrackMoves)
- {
- $this->doNotTrackMoves = $doNotTrackMoves === null ? true : $doNotTrackMoves;
- }
- /**
- * @return bool
- */
- public function hasDoNotTrackFormatting()
- {
- return $this->doNotTrackFormatting;
- }
- /**
- * @param bool $doNotTrackFormatting
- */
- public function setDoNotTrackFormatting($doNotTrackFormatting)
- {
- $this->doNotTrackFormatting = $doNotTrackFormatting === null ? true : $doNotTrackFormatting;
- }
- /**
- * @return mixed
- */
- public function getZoom()
- {
- return $this->zoom;
- }
- /**
- * @param mixed $zoom
- */
- public function setZoom($zoom)
- {
- if (is_numeric($zoom)) {
- // zoom is a percentage
- $this->zoom = $zoom;
- } else {
- Zoom::validate($zoom);
- $this->zoom = $zoom;
- }
- }
- /**
- * @return bool
- */
- public function hasMirrorMargins()
- {
- return $this->mirrorMargins;
- }
- /**
- * @param bool $mirrorMargins
- */
- public function setMirrorMargins($mirrorMargins)
- {
- $this->mirrorMargins = $mirrorMargins;
- }
- /**
- * Returns the Language
- *
- * @return Language
- */
- public function getThemeFontLang()
- {
- return $this->themeFontLang;
- }
- /**
- * sets the Language for this document
- *
- * @param Language $themeFontLang
- */
- public function setThemeFontLang($themeFontLang)
- {
- $this->themeFontLang = $themeFontLang;
- }
- /**
- * @return bool
- */
- public function hasUpdateFields()
- {
- return $this->updateFields;
- }
- /**
- * @param bool $updateFields
- */
- public function setUpdateFields($updateFields)
- {
- $this->updateFields = $updateFields === null ? false : $updateFields;
- }
- /**
- * Returns the Radix Point for Field Code Evaluation
- *
- * @return string
- */
- public function getDecimalSymbol()
- {
- return $this->decimalSymbol;
- }
- /**
- * sets the Radix Point for Field Code Evaluation
- *
- * @param string $decimalSymbol
- */
- public function setDecimalSymbol($decimalSymbol)
- {
- $this->decimalSymbol = $decimalSymbol;
- }
- /**
- * @return bool|null
- */
- public function hasAutoHyphenation()
- {
- return $this->autoHyphenation;
- }
- /**
- * @param bool $autoHyphenation
- */
- public function setAutoHyphenation($autoHyphenation)
- {
- $this->autoHyphenation = (bool) $autoHyphenation;
- }
- /**
- * @return int|null
- */
- public function getConsecutiveHyphenLimit()
- {
- return $this->consecutiveHyphenLimit;
- }
- /**
- * @param int $consecutiveHyphenLimit
- */
- public function setConsecutiveHyphenLimit($consecutiveHyphenLimit)
- {
- $this->consecutiveHyphenLimit = (int) $consecutiveHyphenLimit;
- }
- /**
- * @return float|null
- */
- public function getHyphenationZone()
- {
- return $this->hyphenationZone;
- }
- /**
- * @param float $hyphenationZone Measurement unit is twip
- */
- public function setHyphenationZone($hyphenationZone)
- {
- $this->hyphenationZone = $hyphenationZone;
- }
- /**
- * @return null|bool
- */
- public function hasDoNotHyphenateCaps()
- {
- return $this->doNotHyphenateCaps;
- }
- /**
- * @param bool $doNotHyphenateCaps
- */
- public function setDoNotHyphenateCaps($doNotHyphenateCaps)
- {
- $this->doNotHyphenateCaps = (bool) $doNotHyphenateCaps;
- }
- }
|