summaryrefslogtreecommitdiff
path: root/src/xmlcomposehelpers.cpp
diff options
context:
space:
mode:
authorStef <stef@ws.local>2003-09-17 18:34:42 +0000
committerStef <stef@ws.local>2003-09-17 18:34:42 +0000
commit53914f770f1e1dc1ab4342c64846fd995825b7e6 (patch)
tree63d14dacbd3d81363fcbea1036c47a0210b0f397 /src/xmlcomposehelpers.cpp
parent15f3015d2e8305b729d7996faad410b3378497da (diff)
Initial Import
Diffstat (limited to 'src/xmlcomposehelpers.cpp')
-rw-r--r--src/xmlcomposehelpers.cpp103
1 files changed, 103 insertions, 0 deletions
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);
+}
+