From 53914f770f1e1dc1ab4342c64846fd995825b7e6 Mon Sep 17 00:00:00 2001 From: Stef Date: Wed, 17 Sep 2003 18:34:42 +0000 Subject: Initial Import --- src/xmlcomposehelpers.cpp | 103 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 src/xmlcomposehelpers.cpp (limited to 'src/xmlcomposehelpers.cpp') diff --git a/src/xmlcomposehelpers.cpp b/src/xmlcomposehelpers.cpp new file mode 100644 index 0000000..4f6f106 --- /dev/null +++ b/src/xmlcomposehelpers.cpp @@ -0,0 +1,103 @@ + +#include "stdafx.h" +#include "RtfParseHelpers.h" + +Level::Level() +{ + m_previous = NULL; + m_element = NULL; + m_destination = NULL; + m_analyser = NULL; +} + +Level::Level(const Level& level) : + m_text(level.m_text) +{ + m_element = NULL; + m_destination = NULL; + m_analyser = NULL; + m_previous = &level; +} + +Level::~Level() +{ + +} + +LevelPtr Level::pushLevel() +{ + LevelPtr level = new Level(*this); + return level; +} + +LevelPtr Level::getPrevious() +{ + return m_previous; +} + +DOM::Element Level::getElement() +{ + if(m_element != NULL) + return m_element; + else if(m_previous) + return m_previous->getElement(); + else + ASSERT(0 && "should always have an element"); + + return DOM::Element(); +} + +void Level::setElement(DOM::Element element, bool deep) +{ + if(deep && m_previous && m_element == NULL) + m_previous->setElement(element, deep); + else + m_element = element; +} + +AnalyserPtr Level::getAnalyser() +{ + if(m_analyser) + return m_analyser; + else if(m_previous) + return m_previous->getAnalyser(); + else + return NULL; +} + +void Level::setAnalyser(AnalyserPtr analyser, bool deep) +{ + if(deep && m_previous && !m_analyser) + m_previous->setAnalyser(analyser, deep); + else + m_analyser = analyser; +} + +DestinationPtr Level::getDestination() +{ + if(m_destination) + return m_destination; + else if(m_previous) + return m_previous->getDestination(); + else + return NULL; +} + +void Level::setDestination(DestinationPtr destination, bool deep) +{ + if(deep && m_previous && !m_destination) + m_previous->setDestination(destination, deep); + else + m_destination = destination; +} + +RtfFormatting& Level::getFormatting() +{ + return m_text; +} + +void Level::setTextProperties(RtfFormatting& formatting) +{ + m_text.copy(formatting); +} + -- cgit v1.2.3