Files
core/ASCOfficeOdtFile/Source/DocxFormat/Numbering/AbstractNum.cpp
Elen.Subbotina 6138139c4e исправлен проект - подключен "старый" DocxFormat (тот который с AVS - без вытирания буста)
git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@53593 954022d7-b5bf-4e40-9824-e11837661b57
2016-05-20 22:37:54 +03:00

71 lines
1.8 KiB
C++

// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "./../Numbering.h"
#include "Exception/log_runtime_error.h"
namespace OOX
{
Numbering::AbstractNum::AbstractNum()
{
}
Numbering::AbstractNum::~AbstractNum()
{
}
Numbering::AbstractNum::AbstractNum(const XML::XNode& node)
{
fromXML(node);
}
const Numbering::AbstractNum& Numbering::AbstractNum::operator =(const XML::XNode& node)
{
fromXML(node);
return *this;
}
void Numbering::AbstractNum::fromXML(const XML::XNode& node)
{
const XML::XElement element(node);
Id = element.attribute("abstractNumId").value();
Nsid = element.element("nsid").attribute("val").value();
MultiLevelType = element.element("multiLevelType").attribute("val").value();
Tmpl = element.element("tmpl").attribute("val").value();
if (element.element("numStyleLink").exist())
{
if (element.element("numStyleLink").attribute("val").exist())
numStyleLink = element.element("numStyleLink").attribute("val").value();
}
XML::Fill(Levels, element, "lvl");
}
const XML::XNode Numbering::AbstractNum::toXML() const
{
return
XML::XElement(ns.w + "abstractNum",
XML::XAttribute(ns.w + "abstractNumId", Id) +
XML::Write(ns.w + "multiLevelType", ns.w + "val", MultiLevelType) +
XML::Write(Levels) +
XML::Write(ns.w + "tmpl", ns.w + "val", Tmpl) +
XML::Write(ns.w + "nsid", ns.w + "val", Nsid));
}
const Numbering::Level Numbering::AbstractNum::getLevel(const int numLevel) const
{
BOOST_FOREACH(const Level& level, *Levels)
{
if (level.Ilvl == numLevel)
return level;
}
throw log_runtime_error("bad abstractNum");
}
} // namespace OOX