Files
core/ASCOfficeOdtFile/Source/OdtFormat/Content/Text.cpp

115 lines
1.9 KiB
C++

// auto inserted precompiled begin
#include "precompiled_odtformat.h"
// auto inserted precompiled end
#include "Text.h"
#include "Paragraph.h"
#include "Table.h"
#include "List.h"
#include "TableOfContent.h"
#include "IndexTitle.h"
#include "Section.h"
namespace Odt
{
namespace Content
{
Text::Text()
{
}
Text::~Text()
{
}
Text::Text(const Paragraph& paragraph)
: m_item(new Paragraph(paragraph))
{
}
Text::Text(const Table& table)
: m_item(new Table(table))
{
}
Text::Text(const List& list)
: m_item(new List(list))
{
}
Text::Text(const TableOfContent& tableOfContent)
: m_item(new TableOfContent(tableOfContent))
{
}
Text::Text(const IndexTitle& indexTitle)
: m_item(new IndexTitle(indexTitle))
{
}
Text::Text(const Section& section)
: m_item(new Section(section))
{
}
Text::Text(const XML::XNode& node)
{
fromXML(node);
}
const Text& Text::operator =(const XML::XNode& node)
{
fromXML(node);
return *this;
}
void Text::fromXML(const XML::XNode& node)
{
const XML::XElement element(node);
if (element->XName == "p" || element->XName == "h")
m_item.reset(new Paragraph(node));
else if (element->XName == "table")
m_item.reset(new Table(node));
else if (element->XName == "list")
m_item.reset(new List(node));
else if (element->XName == "table-of-content")
m_item.reset(new TableOfContent(node));
else if (element->XName == "index-title")
m_item.reset(new IndexTitle(node));
else if (element->XName == "section")
m_item.reset(new Section(node));
}
const XML::XNode Text::toXML() const
{
return m_item->toXML();
}
const bool Text::hasNote() const
{
return m_item->hasNote();
}
const bool Text::hasList() const
{
return m_item->hasList();
}
} // namespace Content
} // namespace