1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
/*
* ParserElement.h - TaskJuggler
*
* Copyright (c) 2001, 2002, 2003, 2004 by Chris Schlaeger <cs@kde.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of version 2 of the GNU General Public License as
* published by the Free Software Foundation.
*
* $Id: ParserElement.h 1259 2006-01-31 12:04:00Z cs $
*/
#ifndef _ParserElement_h_
#define _ParserElement_h_
#include <qstring.h>
class QDomNode;
class ParserTreeContext;
class ParserElement;
class ParserNode;
class XMLFile;
typedef bool (XMLFile::*ParserFunctionPtr)(QDomNode&, ParserTreeContext&);
#include "XMLFile.h"
class ParserElement
{
public:
ParserElement(const QString t, ParserFunctionPtr preF, ParserNode* n,
ParserFunctionPtr postF = 0);
~ParserElement();
void setNode(ParserNode* n) { node = n; }
const ParserNode* getNode() const { return node; }
ParserFunctionPtr getPreFunc() const { return preFunc; }
ParserFunctionPtr getPostFunc() const { return postFunc; }
const QString& getTag() const { return tag; }
private:
ParserElement(); // Don't use!
QString tag;
/* Pointer to a function that is called before the elements of the node
* are processed. */
ParserFunctionPtr preFunc;
ParserNode* node;
/* Pointer to a function that is called after the elements of the node
* have been processed. */
ParserFunctionPtr postFunc;
} ;
#endif
|