Files
core/ASCOfficeOdpFile/ODPFormat/Source/Content/DrawingElement.cpp

52 lines
1.1 KiB
C++

#include "DrawingElement.h"
#include "Frame.h"
#include "CustomShape.h"
#include "Group.h"
#include "Line.h"
#include "Rect.h"
namespace Odp
{
namespace Content
{
DrawingElement::DrawingElement()
{
}
DrawingElement::~DrawingElement()
{
}
DrawingElement::DrawingElement(const XML::XNode& node)
{
fromXML(node);
}
const DrawingElement& DrawingElement::operator =(const XML::XNode& node)
{
fromXML(node);
return *this;
}
void DrawingElement::fromXML(const XML::XNode& node)
{
const XML::XElement element(node);
if (element->XName == "frame")
m_item.reset(new Frame(node));
else if (element->XName == "custom-shape")
m_item.reset(new CustomShape(node));
else if(element->XName == "g")
m_item.reset(new Group(node));
else if(element->XName == "line")
m_item.reset(new Line(node));
else if(element->XName == "rect")
m_item.reset(new Rect(node));
else m_item.reset();
}
const XML::XNode DrawingElement::toXML() const
{
return XML::Write(m_item);
}
} // namespace Content
} // namespace Odp