Messed up something. Resetting

This commit is contained in:
Bas-Jan 't Jong 2014-05-04 10:34:40 +02:00
parent 2187954b56
commit 15dcb384c6
3 changed files with 169 additions and 143 deletions

View File

@ -412,7 +412,6 @@ abstract class AbstractContainer extends AbstractElement
$docPart = $isCellTextrun ? $this->getDocPart() : $this->container;
$docPartId = $isCellTextrun ? $this->getDocPartId() : $this->sectionId;
$inHeaderFooter = ($docPart == 'header' || $docPart == 'footer');
$docPartId = $inHeaderFooter ? $this->getDocPartId() : $docPartId;
return $inHeaderFooter ? $docPart . $docPartId : $docPart;
}

View File

@ -1,4 +1,5 @@
<?php
/**
* PHPWord
*
@ -6,7 +7,6 @@
* @copyright 2014 PHPWord
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
*/
namespace PhpOffice\PhpWord\Style;
/**
@ -14,35 +14,65 @@ namespace PhpOffice\PhpWord\Style;
*/
class Image extends AbstractStyle
{
const WRAPPING_STYLE_INLINE = 'inline';
const WRAPPING_STYLE_SQUARE = 'square';
const WRAPPING_STYLE_TIGHT = 'tight';
const WRAPPING_STYLE_BEHIND = 'behind';
const WRAPPING_STYLE_INFRONT = 'infront';
const POSITION_HORIZONTAL_LEFT = 'left';
const POSITION_HORIZONTAL_CENTER = 'centered';
const POSITION_HORIZONTAL_RIGHT = 'right';
const POSITION_VERTICAL_TOP = 'top';
const POSITION_VERTICAL_CENTER = 'center';
const POSITION_VERTICAL_BOTTOM = 'bottom';
const POSITION_VERTICAL_INSIDE = 'inside';
const POSITION_VERTICAL_OUTSIDE = 'outside';
const POSITION_HORIZONTAL_RELATIVE_MARGIN = 'margin';
const POSITION_HORIZONTAL_RELATIVE_PAGE = 'page';
const POSITION_HORIZONTAL_RELATIVE_COLUMN = 'column';
const POSITION_HORIZONTAL_RELATIVE_CHAR = 'char';
const POSITION_HORIZONTAL_RELATIVE_LMARGIN = 'left-margin-area';
const POSITION_HORIZONTAL_RELATIVE_RMARGIN = 'right-margin-area';
const POSITION_HORIZONTAL_RELATIVE_IMARGIN = 'inner-margin-area';
const POSITION_HORIZONTAL_RELATIVE_OMARGIN = 'outer-margin-area';
const POSITION_VERTICAL_RELATIVE_MARGIN = 'margin';
const POSITION_VERTICAL_RELATIVE_PAGE = 'page';
const POSITION_VERTICAL_RELATIVE_LINE = 'line';
const POSITION_VERTICAL_RELATIVE_TMARGIN = 'top-margin-area';
const POSITION_VERTICAL_RELATIVE_BMARGIN = 'bottom-margin-area';
const POSITION_VERTICAL_RELATIVE_IMARGIN = 'inner-margin-area';
const POSITION_VERTICAL_RELATIVE_OMARGIN = 'outer-margin-area';
const POSITION_RELATIVE = 'relative';
const POSITION_ABSOLUTE = 'absolute';
/**
@ -122,23 +152,22 @@ class Image extends AbstractStyle
*/
private $positioning;
/**
* Create new image style
*/
public function __construct()
{
$this->width = null;
$this->height = null;
$this->align = null;
$this->marginTop = null;
$this->marginLeft = null;
$this->setWrappingStyle(self::WRAPPING_STYLE_INLINE);
$this->setPositioning(self::POSITION_RELATIVE);
$this->setPosHorizontal(self::POSITION_HORIZONTAL_LEFT);
$this->setPosHorizontalRel(self::POSITION_HORIZONTAL_RELATIVE_CHAR);
$this->setPosVertical(self::POSITION_VERTICAL_TOP);
$this->setPosVerticalRel(self::POSITION_VERTICAL_RELATIVE_LINE);
$this->width = null;
$this->height = null;
$this->align = null;
$this->marginTop = null;
$this->marginLeft = null;
$this->setWrappingStyle(self::WRAPPING_STYLE_INLINE);
$this->setPositioning(self::POSITION_RELATIVE);
$this->setPosHorizontal(self::POSITION_HORIZONTAL_LEFT);
$this->setPosHorizontalRel(self::POSITION_HORIZONTAL_RELATIVE_CHAR);
$this->setPosVertical(self::POSITION_VERTICAL_TOP);
$this->setPosVerticalRel(self::POSITION_VERTICAL_RELATIVE_LINE);
}
/**
@ -146,7 +175,7 @@ class Image extends AbstractStyle
*/
public function getWidth()
{
return $this->width;
return $this->width;
}
/**
@ -156,7 +185,7 @@ class Image extends AbstractStyle
*/
public function setWidth($pValue = null)
{
$this->width = $pValue;
$this->width = $pValue;
}
/**
@ -164,7 +193,7 @@ class Image extends AbstractStyle
*/
public function getHeight()
{
return $this->height;
return $this->height;
}
/**
@ -174,7 +203,7 @@ class Image extends AbstractStyle
*/
public function setHeight($pValue = null)
{
$this->height = $pValue;
$this->height = $pValue;
}
/**
@ -182,7 +211,7 @@ class Image extends AbstractStyle
*/
public function getAlign()
{
return $this->align;
return $this->align;
}
/**
@ -192,7 +221,7 @@ class Image extends AbstractStyle
*/
public function setAlign($pValue = null)
{
$this->align = $pValue;
$this->align = $pValue;
}
/**
@ -202,7 +231,7 @@ class Image extends AbstractStyle
*/
public function getMarginTop()
{
return $this->marginTop;
return $this->marginTop;
}
/**
@ -213,8 +242,8 @@ class Image extends AbstractStyle
*/
public function setMarginTop($pValue = null)
{
$this->marginTop = $pValue;
return $this;
$this->marginTop = $pValue;
return $this;
}
/**
@ -224,7 +253,7 @@ class Image extends AbstractStyle
*/
public function getMarginLeft()
{
return $this->marginLeft;
return $this->marginLeft;
}
/**
@ -235,8 +264,8 @@ class Image extends AbstractStyle
*/
public function setMarginLeft($pValue = null)
{
$this->marginLeft = $pValue;
return $this;
$this->marginLeft = $pValue;
return $this;
}
/**
@ -269,7 +298,7 @@ class Image extends AbstractStyle
*/
public function getWrappingStyle()
{
return $this->wrappingStyle;
return $this->wrappingStyle;
}
/**
@ -279,19 +308,18 @@ class Image extends AbstractStyle
* @throws \InvalidArgumentException
* @return $this
*/
public function setPositioning($positioning)
{
switch ($positioning) {
case self::POSITION_RELATIVE:
case self::POSITION_ABSOLUTE:
$this->positioning = $positioning;
break;
default:
throw new InvalidArgumentException('Positioning does not exists');
break;
}
return $this;
switch ($positioning) {
case self::POSITION_RELATIVE:
case self::POSITION_ABSOLUTE:
$this->positioning = $positioning;
break;
default:
throw new InvalidArgumentException('Positioning does not exists');
break;
}
return $this;
}
/**
@ -301,7 +329,7 @@ class Image extends AbstractStyle
*/
public function getPositioning()
{
return $this->positioning;
return $this->positioning;
}
/**
@ -313,17 +341,17 @@ class Image extends AbstractStyle
*/
public function setPosHorizontal($alignment)
{
switch ($alignment) {
case self::POSITION_HORIZONTAL_LEFT:
case self::POSITION_HORIZONTAL_CENTER:
case self::POSITION_HORIZONTAL_RIGHT:
$this->posHorizontal = $alignment;
break;
default:
throw new InvalidArgumentException('Horizontal alignment does not exists');
break;
}
return $this;
switch ($alignment) {
case self::POSITION_HORIZONTAL_LEFT:
case self::POSITION_HORIZONTAL_CENTER:
case self::POSITION_HORIZONTAL_RIGHT:
$this->posHorizontal = $alignment;
break;
default:
throw new InvalidArgumentException('Horizontal alignment does not exists');
break;
}
return $this;
}
/**
@ -333,7 +361,7 @@ class Image extends AbstractStyle
*/
public function getPosHorizontal()
{
return $this->posHorizontal;
return $this->posHorizontal;
}
/**
@ -343,22 +371,21 @@ class Image extends AbstractStyle
* @throws \InvalidArgumentException
* @return $this
*/
public function setPosVertical($alignment)
{
switch ($alignment) {
case self::POSITION_VERTICAL_TOP:
case self::POSITION_VERTICAL_CENTER:
case self::POSITION_VERTICAL_BOTTOM:
case self::POSITION_VERTICAL_INSIDE:
case self::POSITION_VERTICAL_OUTSIDE:
$this->posVertical = $alignment;
break;
default:
throw new InvalidArgumentException('Vertical alignment does not exists');
break;
}
return $this;
switch ($alignment) {
case self::POSITION_VERTICAL_TOP:
case self::POSITION_VERTICAL_CENTER:
case self::POSITION_VERTICAL_BOTTOM:
case self::POSITION_VERTICAL_INSIDE:
case self::POSITION_VERTICAL_OUTSIDE:
$this->posVertical = $alignment;
break;
default:
throw new InvalidArgumentException('Vertical alignment does not exists');
break;
}
return $this;
}
/**
@ -368,7 +395,7 @@ class Image extends AbstractStyle
*/
public function getPosVertical()
{
return $this->posVertical;
return $this->posVertical;
}
/**
@ -380,22 +407,22 @@ class Image extends AbstractStyle
*/
public function setPosHorizontalRel($relto)
{
switch ($relto) {
case self::POSITION_HORIZONTAL_RELATIVE_MARGIN:
case self::POSITION_HORIZONTAL_RELATIVE_PAGE:
case self::POSITION_HORIZONTAL_RELATIVE_COLUMN:
case self::POSITION_HORIZONTAL_RELATIVE_CHAR:
case self::POSITION_HORIZONTAL_RELATIVE_LMARGIN:
case self::POSITION_HORIZONTAL_RELATIVE_RMARGIN:
case self::POSITION_HORIZONTAL_RELATIVE_IMARGIN:
case self::POSITION_HORIZONTAL_RELATIVE_OMARGIN:
$this->posHorizontalRel = $relto;
break;
default:
throw new InvalidArgumentException('Horizontal relation does not exists');
break;
}
return $this;
switch ($relto) {
case self::POSITION_HORIZONTAL_RELATIVE_MARGIN:
case self::POSITION_HORIZONTAL_RELATIVE_PAGE:
case self::POSITION_HORIZONTAL_RELATIVE_COLUMN:
case self::POSITION_HORIZONTAL_RELATIVE_CHAR:
case self::POSITION_HORIZONTAL_RELATIVE_LMARGIN:
case self::POSITION_HORIZONTAL_RELATIVE_RMARGIN:
case self::POSITION_HORIZONTAL_RELATIVE_IMARGIN:
case self::POSITION_HORIZONTAL_RELATIVE_OMARGIN:
$this->posHorizontalRel = $relto;
break;
default:
throw new InvalidArgumentException('Horizontal relation does not exists');
break;
}
return $this;
}
/**
@ -405,7 +432,7 @@ class Image extends AbstractStyle
*/
public function getPosHorizontalRel()
{
return $this->posHorizontalRel;
return $this->posHorizontalRel;
}
/**
@ -417,21 +444,21 @@ class Image extends AbstractStyle
*/
public function setPosVerticalRel($relto)
{
switch ($relto) {
case self::POSITION_VERTICAL_RELATIVE_MARGIN:
case self::POSITION_VERTICAL_RELATIVE_PAGE:
case self::POSITION_VERTICAL_RELATIVE_LINE:
case self::POSITION_VERTICAL_RELATIVE_TMARGIN:
case self::POSITION_VERTICAL_RELATIVE_BMARGIN:
case self::POSITION_VERTICAL_RELATIVE_IMARGIN:
case self::POSITION_VERTICAL_RELATIVE_OMARGIN:
$this->posVerticalRel = $relto;
break;
default:
throw new InvalidArgumentException('Vertical relation does not exists');
break;
}
return $this;
switch ($relto) {
case self::POSITION_VERTICAL_RELATIVE_MARGIN:
case self::POSITION_VERTICAL_RELATIVE_PAGE:
case self::POSITION_VERTICAL_RELATIVE_LINE:
case self::POSITION_VERTICAL_RELATIVE_TMARGIN:
case self::POSITION_VERTICAL_RELATIVE_BMARGIN:
case self::POSITION_VERTICAL_RELATIVE_IMARGIN:
case self::POSITION_VERTICAL_RELATIVE_OMARGIN:
$this->posVerticalRel = $relto;
break;
default:
throw new InvalidArgumentException('Vertical relation does not exists');
break;
}
return $this;
}
/**
@ -441,6 +468,6 @@ class Image extends AbstractStyle
*/
public function getPosVerticalRel()
{
return $this->posVerticalRel;
return $this->posVerticalRel;
}
}

View File

@ -59,21 +59,21 @@ class Image extends Element
if (null !== $marginLeft) {
$imgStyle .= 'margin-left:' . $marginLeft . 'px;';
}
$imgStyle.='position:absolute;mso-width-percent:0;mso-height-percent:0;mso-width-relative:margin;mso-height-relative:margin;';
switch ($positioning) {
case ImageStyle::POSITION_RELATIVE:
$imgStyle.='mso-position-horizontal:'.$style->getPosHorizontal().';';
$imgStyle.='mso-position-horizontal-relative:'.$style->getPosHorizontalRel().';';
$imgStyle.='mso-position-vertical:'.$style->getPosVertical().';';
$imgStyle.='mso-position-vertical-relative:'.$style->getPosVerticalRel().';';
$imgStyle.='margin-left:0;margin-top:0;';
break;
case ImageStyle::POSITION_ABSOLUTE:
$imgStyle.='mso-position-horizontal-relative:page;';
$imgStyle.='mso-position-vertical-relative:page;';
break;
}
$imgStyle.='position:absolute;mso-width-percent:0;mso-height-percent:0;';
$imgStyle.='mso-width-relative:margin;mso-height-relative:margin;';
switch ($positioning) {
case ImageStyle::POSITION_RELATIVE:
$imgStyle.='mso-position-horizontal:'.$style->getPosHorizontal().';';
$imgStyle.='mso-position-horizontal-relative:'.$style->getPosHorizontalRel().';';
$imgStyle.='mso-position-vertical:'.$style->getPosVertical().';';
$imgStyle.='mso-position-vertical-relative:'.$style->getPosVerticalRel().';';
$imgStyle.='margin-left:0;margin-top:0;';
break;
case ImageStyle::POSITION_ABSOLUTE:
$imgStyle.='mso-position-horizontal-relative:page;';
$imgStyle.='mso-position-vertical-relative:page;';
break;
}
switch ($wrappingStyle) {
case ImageStyle::WRAPPING_STYLE_BEHIND: