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,37 +14,67 @@ 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';
/**
* Image width
*
@ -93,52 +123,51 @@ class Image extends AbstractStyle
* @var string
*/
private $posHorizontal;
/**
* Horizontal Relation
*
* @var string
*/
private $posHorizontalRel;
/**
* Vertical alignment
*
* @var string
*/
private $posVertical;
/**
* Vertical Relation
*
* @var string
*/
private $posVerticalRel;
/**
* Positioning type (Relative or Absolute)
*
* @var string
*/
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,17 +175,17 @@ class Image extends AbstractStyle
*/
public function getWidth()
{
return $this->width;
return $this->width;
}
/**
* Set width
*
* @param int $pValue
* @param int $pValue
*/
public function setWidth($pValue = null)
{
$this->width = $pValue;
$this->width = $pValue;
}
/**
@ -164,17 +193,17 @@ class Image extends AbstractStyle
*/
public function getHeight()
{
return $this->height;
return $this->height;
}
/**
* Set height
*
* @param int $pValue
* @param int $pValue
*/
public function setHeight($pValue = null)
{
$this->height = $pValue;
$this->height = $pValue;
}
/**
@ -182,17 +211,17 @@ class Image extends AbstractStyle
*/
public function getAlign()
{
return $this->align;
return $this->align;
}
/**
* Set alignment
*
* @param string $pValue
* @param string $pValue
*/
public function setAlign($pValue = null)
{
$this->align = $pValue;
$this->align = $pValue;
}
/**
@ -202,19 +231,19 @@ class Image extends AbstractStyle
*/
public function getMarginTop()
{
return $this->marginTop;
return $this->marginTop;
}
/**
* Set Margin Top
*
* @param int $pValue
* @param int $pValue
* @return $this
*/
public function setMarginTop($pValue = null)
{
$this->marginTop = $pValue;
return $this;
$this->marginTop = $pValue;
return $this;
}
/**
@ -224,25 +253,25 @@ class Image extends AbstractStyle
*/
public function getMarginLeft()
{
return $this->marginLeft;
return $this->marginLeft;
}
/**
* Set Margin Left
*
* @param int $pValue
* @param int $pValue
* @return $this
*/
public function setMarginLeft($pValue = null)
{
$this->marginLeft = $pValue;
return $this;
$this->marginLeft = $pValue;
return $this;
}
/**
* Set wrapping style
*
* @param string $wrappingStyle
* @param string $wrappingStyle
* @throws \InvalidArgumentException
* @return $this
*/
@ -269,178 +298,176 @@ class Image extends AbstractStyle
*/
public function getWrappingStyle()
{
return $this->wrappingStyle;
return $this->wrappingStyle;
}
/**
* Set positioning type
*
* @param string $positioning
* @param string $positioning
* @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;
}
/**
* Get positioning type
*
*
* @return string
*/
public function getPositioning()
{
return $this->positioning;
return $this->positioning;
}
/**
* Set horizontal alignment
*
* @param string $alignment
* @param string $alignment
* @throws \InvalidArgumentException
* @return $this
*/
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;
}
/**
* Get horizontal alignment
*
*
* @return string
*/
public function getPosHorizontal()
{
return $this->posHorizontal;
return $this->posHorizontal;
}
/**
* Set vertical alignment
*
* @param string $alignment
* @param string $alignment
* @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;
}
/**
* Get vertical alignment
*
*
* @return string
*/
public function getPosVertical()
{
return $this->posVertical;
return $this->posVertical;
}
/**
* Set horizontal relation
*
* @param string $relto
* @param string $relto
* @throws \InvalidArgumentException
* @return $this
*/
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;
}
/**
* Get horizontal relation
*
*
* @return string
*/
public function getPosHorizontalRel()
{
return $this->posHorizontalRel;
return $this->posHorizontalRel;
}
/**
* Set vertical relation
*
* @param string $relto
* @param string $relto
* @throws \InvalidArgumentException
* @return $this
*/
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;
}
/**
* Get vertical relation
*
*
* @return string
*/
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: