summaryrefslogtreecommitdiff
path: root/src/levelhandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/levelhandler.cpp')
-rw-r--r--src/levelhandler.cpp26
1 files changed, 18 insertions, 8 deletions
diff --git a/src/levelhandler.cpp b/src/levelhandler.cpp
index 7fc2dd6..cdd3337 100644
--- a/src/levelhandler.cpp
+++ b/src/levelhandler.cpp
@@ -39,9 +39,12 @@
#include "usuals.h"
#include "levelhandler.h"
+/* ----------------------------------------------------------------------------------
+ * CONSTRUCTION
+ */
LevelHandler::LevelHandler()
{
-
+ m_reader = NULL;
}
LevelHandler::~LevelHandler()
@@ -54,12 +57,18 @@ void LevelHandler::clear()
m_curLevel.release();
m_topLevel.release();
- BaseHandler::clear();
+ m_parser = NULL;
}
-void LevelHandler::startDocument(RtfReader* reader)
+/* ----------------------------------------------------------------------------------
+ * OVERRIDES
+ */
+
+void LevelHandler::startDocument(RtfParser* parser)
{
- BaseHandler::startDocument(reader);
+ clear();
+
+ m_parser = parser;
m_topLevel = new Level;
m_curLevel = m_topLevel;
@@ -67,12 +76,11 @@ void LevelHandler::startDocument(RtfReader* reader)
void LevelHandler::endDocument()
{
- BaseHandler::endDocument();
+
}
void LevelHandler::groupStart()
{
- BaseHandler::groupStart();
ASSERT(m_curLevel);
pushLevel();
}
@@ -81,9 +89,12 @@ void LevelHandler::groupEnd()
{
ASSERT(m_curLevel);
popLevel();
- BaseHandler::groupEnd();
}
+/* ----------------------------------------------------------------------------------
+ * OPERATIONS
+ */
+
DOM::Element LevelHandler::getElement()
{
ASSERT(m_curLevel);
@@ -101,7 +112,6 @@ void LevelHandler::popLevel()
// Pull a level off the stack
LevelPtr level = m_curLevel->getPrevious();
- // TODO: report errors here
if(level)
m_curLevel = level;
}