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; $docPart = $isCellTextrun ? $this->getDocPart() : $this->container;
$docPartId = $isCellTextrun ? $this->getDocPartId() : $this->sectionId; $docPartId = $isCellTextrun ? $this->getDocPartId() : $this->sectionId;
$inHeaderFooter = ($docPart == 'header' || $docPart == 'footer'); $inHeaderFooter = ($docPart == 'header' || $docPart == 'footer');
$docPartId = $inHeaderFooter ? $this->getDocPartId() : $docPartId;
return $inHeaderFooter ? $docPart . $docPartId : $docPart; return $inHeaderFooter ? $docPart . $docPartId : $docPart;
} }

View File

@ -1,4 +1,5 @@
<?php <?php
/** /**
* PHPWord * PHPWord
* *
@ -6,7 +7,6 @@
* @copyright 2014 PHPWord * @copyright 2014 PHPWord
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
*/ */
namespace PhpOffice\PhpWord\Style; namespace PhpOffice\PhpWord\Style;
/** /**
@ -14,37 +14,67 @@ namespace PhpOffice\PhpWord\Style;
*/ */
class Image extends AbstractStyle class Image extends AbstractStyle
{ {
const WRAPPING_STYLE_INLINE = 'inline'; const WRAPPING_STYLE_INLINE = 'inline';
const WRAPPING_STYLE_SQUARE = 'square'; const WRAPPING_STYLE_SQUARE = 'square';
const WRAPPING_STYLE_TIGHT = 'tight'; const WRAPPING_STYLE_TIGHT = 'tight';
const WRAPPING_STYLE_BEHIND = 'behind'; const WRAPPING_STYLE_BEHIND = 'behind';
const WRAPPING_STYLE_INFRONT = 'infront'; const WRAPPING_STYLE_INFRONT = 'infront';
const POSITION_HORIZONTAL_LEFT = 'left'; const POSITION_HORIZONTAL_LEFT = 'left';
const POSITION_HORIZONTAL_CENTER = 'centered'; const POSITION_HORIZONTAL_CENTER = 'centered';
const POSITION_HORIZONTAL_RIGHT = 'right'; const POSITION_HORIZONTAL_RIGHT = 'right';
const POSITION_VERTICAL_TOP = 'top'; const POSITION_VERTICAL_TOP = 'top';
const POSITION_VERTICAL_CENTER = 'center'; const POSITION_VERTICAL_CENTER = 'center';
const POSITION_VERTICAL_BOTTOM = 'bottom'; const POSITION_VERTICAL_BOTTOM = 'bottom';
const POSITION_VERTICAL_INSIDE = 'inside'; const POSITION_VERTICAL_INSIDE = 'inside';
const POSITION_VERTICAL_OUTSIDE = 'outside'; const POSITION_VERTICAL_OUTSIDE = 'outside';
const POSITION_HORIZONTAL_RELATIVE_MARGIN = 'margin'; const POSITION_HORIZONTAL_RELATIVE_MARGIN = 'margin';
const POSITION_HORIZONTAL_RELATIVE_PAGE = 'page'; const POSITION_HORIZONTAL_RELATIVE_PAGE = 'page';
const POSITION_HORIZONTAL_RELATIVE_COLUMN = 'column'; const POSITION_HORIZONTAL_RELATIVE_COLUMN = 'column';
const POSITION_HORIZONTAL_RELATIVE_CHAR = 'char'; const POSITION_HORIZONTAL_RELATIVE_CHAR = 'char';
const POSITION_HORIZONTAL_RELATIVE_LMARGIN = 'left-margin-area'; const POSITION_HORIZONTAL_RELATIVE_LMARGIN = 'left-margin-area';
const POSITION_HORIZONTAL_RELATIVE_RMARGIN = 'right-margin-area'; const POSITION_HORIZONTAL_RELATIVE_RMARGIN = 'right-margin-area';
const POSITION_HORIZONTAL_RELATIVE_IMARGIN = 'inner-margin-area'; const POSITION_HORIZONTAL_RELATIVE_IMARGIN = 'inner-margin-area';
const POSITION_HORIZONTAL_RELATIVE_OMARGIN = 'outer-margin-area'; const POSITION_HORIZONTAL_RELATIVE_OMARGIN = 'outer-margin-area';
const POSITION_VERTICAL_RELATIVE_MARGIN = 'margin'; const POSITION_VERTICAL_RELATIVE_MARGIN = 'margin';
const POSITION_VERTICAL_RELATIVE_PAGE = 'page'; const POSITION_VERTICAL_RELATIVE_PAGE = 'page';
const POSITION_VERTICAL_RELATIVE_LINE = 'line'; const POSITION_VERTICAL_RELATIVE_LINE = 'line';
const POSITION_VERTICAL_RELATIVE_TMARGIN = 'top-margin-area'; const POSITION_VERTICAL_RELATIVE_TMARGIN = 'top-margin-area';
const POSITION_VERTICAL_RELATIVE_BMARGIN = 'bottom-margin-area'; const POSITION_VERTICAL_RELATIVE_BMARGIN = 'bottom-margin-area';
const POSITION_VERTICAL_RELATIVE_IMARGIN = 'inner-margin-area'; const POSITION_VERTICAL_RELATIVE_IMARGIN = 'inner-margin-area';
const POSITION_VERTICAL_RELATIVE_OMARGIN = 'outer-margin-area'; const POSITION_VERTICAL_RELATIVE_OMARGIN = 'outer-margin-area';
const POSITION_RELATIVE = 'relative'; const POSITION_RELATIVE = 'relative';
const POSITION_ABSOLUTE = 'absolute'; const POSITION_ABSOLUTE = 'absolute';
/** /**
* Image width * Image width
* *
@ -93,52 +123,51 @@ class Image extends AbstractStyle
* @var string * @var string
*/ */
private $posHorizontal; private $posHorizontal;
/** /**
* Horizontal Relation * Horizontal Relation
* *
* @var string * @var string
*/ */
private $posHorizontalRel; private $posHorizontalRel;
/** /**
* Vertical alignment * Vertical alignment
* *
* @var string * @var string
*/ */
private $posVertical; private $posVertical;
/** /**
* Vertical Relation * Vertical Relation
* *
* @var string * @var string
*/ */
private $posVerticalRel; private $posVerticalRel;
/** /**
* Positioning type (Relative or Absolute) * Positioning type (Relative or Absolute)
* *
* @var string * @var string
*/ */
private $positioning; private $positioning;
/** /**
* Create new image style * Create new image style
*/ */
public function __construct() public function __construct()
{ {
$this->width = null; $this->width = null;
$this->height = null; $this->height = null;
$this->align = null; $this->align = null;
$this->marginTop = null; $this->marginTop = null;
$this->marginLeft = null; $this->marginLeft = null;
$this->setWrappingStyle(self::WRAPPING_STYLE_INLINE); $this->setWrappingStyle(self::WRAPPING_STYLE_INLINE);
$this->setPositioning(self::POSITION_RELATIVE); $this->setPositioning(self::POSITION_RELATIVE);
$this->setPosHorizontal(self::POSITION_HORIZONTAL_LEFT); $this->setPosHorizontal(self::POSITION_HORIZONTAL_LEFT);
$this->setPosHorizontalRel(self::POSITION_HORIZONTAL_RELATIVE_CHAR); $this->setPosHorizontalRel(self::POSITION_HORIZONTAL_RELATIVE_CHAR);
$this->setPosVertical(self::POSITION_VERTICAL_TOP); $this->setPosVertical(self::POSITION_VERTICAL_TOP);
$this->setPosVerticalRel(self::POSITION_VERTICAL_RELATIVE_LINE); $this->setPosVerticalRel(self::POSITION_VERTICAL_RELATIVE_LINE);
} }
/** /**
@ -146,17 +175,17 @@ class Image extends AbstractStyle
*/ */
public function getWidth() public function getWidth()
{ {
return $this->width; return $this->width;
} }
/** /**
* Set width * Set width
* *
* @param int $pValue * @param int $pValue
*/ */
public function setWidth($pValue = null) public function setWidth($pValue = null)
{ {
$this->width = $pValue; $this->width = $pValue;
} }
/** /**
@ -164,17 +193,17 @@ class Image extends AbstractStyle
*/ */
public function getHeight() public function getHeight()
{ {
return $this->height; return $this->height;
} }
/** /**
* Set height * Set height
* *
* @param int $pValue * @param int $pValue
*/ */
public function setHeight($pValue = null) public function setHeight($pValue = null)
{ {
$this->height = $pValue; $this->height = $pValue;
} }
/** /**
@ -182,17 +211,17 @@ class Image extends AbstractStyle
*/ */
public function getAlign() public function getAlign()
{ {
return $this->align; return $this->align;
} }
/** /**
* Set alignment * Set alignment
* *
* @param string $pValue * @param string $pValue
*/ */
public function setAlign($pValue = null) public function setAlign($pValue = null)
{ {
$this->align = $pValue; $this->align = $pValue;
} }
/** /**
@ -202,19 +231,19 @@ class Image extends AbstractStyle
*/ */
public function getMarginTop() public function getMarginTop()
{ {
return $this->marginTop; return $this->marginTop;
} }
/** /**
* Set Margin Top * Set Margin Top
* *
* @param int $pValue * @param int $pValue
* @return $this * @return $this
*/ */
public function setMarginTop($pValue = null) public function setMarginTop($pValue = null)
{ {
$this->marginTop = $pValue; $this->marginTop = $pValue;
return $this; return $this;
} }
/** /**
@ -224,25 +253,25 @@ class Image extends AbstractStyle
*/ */
public function getMarginLeft() public function getMarginLeft()
{ {
return $this->marginLeft; return $this->marginLeft;
} }
/** /**
* Set Margin Left * Set Margin Left
* *
* @param int $pValue * @param int $pValue
* @return $this * @return $this
*/ */
public function setMarginLeft($pValue = null) public function setMarginLeft($pValue = null)
{ {
$this->marginLeft = $pValue; $this->marginLeft = $pValue;
return $this; return $this;
} }
/** /**
* Set wrapping style * Set wrapping style
* *
* @param string $wrappingStyle * @param string $wrappingStyle
* @throws \InvalidArgumentException * @throws \InvalidArgumentException
* @return $this * @return $this
*/ */
@ -269,178 +298,176 @@ class Image extends AbstractStyle
*/ */
public function getWrappingStyle() public function getWrappingStyle()
{ {
return $this->wrappingStyle; return $this->wrappingStyle;
} }
/** /**
* Set positioning type * Set positioning type
* *
* @param string $positioning * @param string $positioning
* @throws \InvalidArgumentException * @throws \InvalidArgumentException
* @return $this * @return $this
*/ */
public function setPositioning($positioning) public function setPositioning($positioning)
{ {
switch ($positioning) { switch ($positioning) {
case self::POSITION_RELATIVE: case self::POSITION_RELATIVE:
case self::POSITION_ABSOLUTE: case self::POSITION_ABSOLUTE:
$this->positioning = $positioning; $this->positioning = $positioning;
break; break;
default: default:
throw new InvalidArgumentException('Positioning does not exists'); throw new InvalidArgumentException('Positioning does not exists');
break; break;
} }
return $this; return $this;
} }
/** /**
* Get positioning type * Get positioning type
* *
* @return string * @return string
*/ */
public function getPositioning() public function getPositioning()
{ {
return $this->positioning; return $this->positioning;
} }
/** /**
* Set horizontal alignment * Set horizontal alignment
* *
* @param string $alignment * @param string $alignment
* @throws \InvalidArgumentException * @throws \InvalidArgumentException
* @return $this * @return $this
*/ */
public function setPosHorizontal($alignment) public function setPosHorizontal($alignment)
{ {
switch ($alignment) { switch ($alignment) {
case self::POSITION_HORIZONTAL_LEFT: case self::POSITION_HORIZONTAL_LEFT:
case self::POSITION_HORIZONTAL_CENTER: case self::POSITION_HORIZONTAL_CENTER:
case self::POSITION_HORIZONTAL_RIGHT: case self::POSITION_HORIZONTAL_RIGHT:
$this->posHorizontal = $alignment; $this->posHorizontal = $alignment;
break; break;
default: default:
throw new InvalidArgumentException('Horizontal alignment does not exists'); throw new InvalidArgumentException('Horizontal alignment does not exists');
break; break;
} }
return $this; return $this;
} }
/** /**
* Get horizontal alignment * Get horizontal alignment
* *
* @return string * @return string
*/ */
public function getPosHorizontal() public function getPosHorizontal()
{ {
return $this->posHorizontal; return $this->posHorizontal;
} }
/** /**
* Set vertical alignment * Set vertical alignment
* *
* @param string $alignment * @param string $alignment
* @throws \InvalidArgumentException * @throws \InvalidArgumentException
* @return $this * @return $this
*/ */
public function setPosVertical($alignment) public function setPosVertical($alignment)
{ {
switch ($alignment) { switch ($alignment) {
case self::POSITION_VERTICAL_TOP: case self::POSITION_VERTICAL_TOP:
case self::POSITION_VERTICAL_CENTER: case self::POSITION_VERTICAL_CENTER:
case self::POSITION_VERTICAL_BOTTOM: case self::POSITION_VERTICAL_BOTTOM:
case self::POSITION_VERTICAL_INSIDE: case self::POSITION_VERTICAL_INSIDE:
case self::POSITION_VERTICAL_OUTSIDE: case self::POSITION_VERTICAL_OUTSIDE:
$this->posVertical = $alignment; $this->posVertical = $alignment;
break; break;
default: default:
throw new InvalidArgumentException('Vertical alignment does not exists'); throw new InvalidArgumentException('Vertical alignment does not exists');
break; break;
} }
return $this; return $this;
} }
/** /**
* Get vertical alignment * Get vertical alignment
* *
* @return string * @return string
*/ */
public function getPosVertical() public function getPosVertical()
{ {
return $this->posVertical; return $this->posVertical;
} }
/** /**
* Set horizontal relation * Set horizontal relation
* *
* @param string $relto * @param string $relto
* @throws \InvalidArgumentException * @throws \InvalidArgumentException
* @return $this * @return $this
*/ */
public function setPosHorizontalRel($relto) public function setPosHorizontalRel($relto)
{ {
switch ($relto) { switch ($relto) {
case self::POSITION_HORIZONTAL_RELATIVE_MARGIN: case self::POSITION_HORIZONTAL_RELATIVE_MARGIN:
case self::POSITION_HORIZONTAL_RELATIVE_PAGE: case self::POSITION_HORIZONTAL_RELATIVE_PAGE:
case self::POSITION_HORIZONTAL_RELATIVE_COLUMN: case self::POSITION_HORIZONTAL_RELATIVE_COLUMN:
case self::POSITION_HORIZONTAL_RELATIVE_CHAR: case self::POSITION_HORIZONTAL_RELATIVE_CHAR:
case self::POSITION_HORIZONTAL_RELATIVE_LMARGIN: case self::POSITION_HORIZONTAL_RELATIVE_LMARGIN:
case self::POSITION_HORIZONTAL_RELATIVE_RMARGIN: case self::POSITION_HORIZONTAL_RELATIVE_RMARGIN:
case self::POSITION_HORIZONTAL_RELATIVE_IMARGIN: case self::POSITION_HORIZONTAL_RELATIVE_IMARGIN:
case self::POSITION_HORIZONTAL_RELATIVE_OMARGIN: case self::POSITION_HORIZONTAL_RELATIVE_OMARGIN:
$this->posHorizontalRel = $relto; $this->posHorizontalRel = $relto;
break; break;
default: default:
throw new InvalidArgumentException('Horizontal relation does not exists'); throw new InvalidArgumentException('Horizontal relation does not exists');
break; break;
} }
return $this; return $this;
} }
/** /**
* Get horizontal relation * Get horizontal relation
* *
* @return string * @return string
*/ */
public function getPosHorizontalRel() public function getPosHorizontalRel()
{ {
return $this->posHorizontalRel; return $this->posHorizontalRel;
} }
/** /**
* Set vertical relation * Set vertical relation
* *
* @param string $relto * @param string $relto
* @throws \InvalidArgumentException * @throws \InvalidArgumentException
* @return $this * @return $this
*/ */
public function setPosVerticalRel($relto) public function setPosVerticalRel($relto)
{ {
switch ($relto) { switch ($relto) {
case self::POSITION_VERTICAL_RELATIVE_MARGIN: case self::POSITION_VERTICAL_RELATIVE_MARGIN:
case self::POSITION_VERTICAL_RELATIVE_PAGE: case self::POSITION_VERTICAL_RELATIVE_PAGE:
case self::POSITION_VERTICAL_RELATIVE_LINE: case self::POSITION_VERTICAL_RELATIVE_LINE:
case self::POSITION_VERTICAL_RELATIVE_TMARGIN: case self::POSITION_VERTICAL_RELATIVE_TMARGIN:
case self::POSITION_VERTICAL_RELATIVE_BMARGIN: case self::POSITION_VERTICAL_RELATIVE_BMARGIN:
case self::POSITION_VERTICAL_RELATIVE_IMARGIN: case self::POSITION_VERTICAL_RELATIVE_IMARGIN:
case self::POSITION_VERTICAL_RELATIVE_OMARGIN: case self::POSITION_VERTICAL_RELATIVE_OMARGIN:
$this->posVerticalRel = $relto; $this->posVerticalRel = $relto;
break; break;
default: default:
throw new InvalidArgumentException('Vertical relation does not exists'); throw new InvalidArgumentException('Vertical relation does not exists');
break; break;
} }
return $this; return $this;
} }
/** /**
* Get vertical relation * Get vertical relation
* *
* @return string * @return string
*/ */
public function getPosVerticalRel() public function getPosVerticalRel()
{ {
return $this->posVerticalRel; return $this->posVerticalRel;
} }
} }

View File

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