|
Packit |
1c1d7e |
/******************************************************************************
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* $Id$
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Copyright (C) 1997-2015 by Dimitri van Heesch.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Permission to use, copy, modify, and distribute this software and its
|
|
Packit |
1c1d7e |
* documentation under the terms of the GNU General Public License is hereby
|
|
Packit |
1c1d7e |
* granted. No representations are made about the suitability of this software
|
|
Packit |
1c1d7e |
* for any purpose. It is provided "as is" without express or implied warranty.
|
|
Packit |
1c1d7e |
* See the GNU General Public License for more details.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*/
|
|
Packit |
1c1d7e |
#ifndef LINKEDTEXTHANDLER_H
|
|
Packit |
1c1d7e |
#define LINKEDTEXTHANDLER_H
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#include "baseiterator.h"
|
|
Packit |
1c1d7e |
#include "basehandler.h"
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
class LT_Ref;
|
|
Packit |
1c1d7e |
class LinkedTextImpl : public ILinkedText
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
virtual ~LinkedTextImpl() {}
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
class LinkedTextHandler : public BaseHandler<LinkedTextHandler>
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
LinkedTextHandler(IBaseHandler *parent,QList<LinkedTextImpl> &children);
|
|
Packit |
1c1d7e |
virtual ~LinkedTextHandler();
|
|
Packit |
1c1d7e |
virtual void start(const char *endTag);
|
|
Packit |
1c1d7e |
virtual void end();
|
|
Packit |
1c1d7e |
virtual void startRef(const QXmlAttributes& attrib);
|
|
Packit |
1c1d7e |
virtual void endRef();
|
|
Packit |
1c1d7e |
static QString toString(const QList<LinkedTextImpl> &list);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
// ILinkedText
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
private:
|
|
Packit |
1c1d7e |
IBaseHandler *m_parent;
|
|
Packit |
1c1d7e |
QList<LinkedTextImpl> &m_children;
|
|
Packit |
1c1d7e |
LT_Ref *m_ref;
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
class LinkedTextIterator : public BaseIterator<ILinkedTextIterator,ILinkedText,LinkedTextImpl>
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
LinkedTextIterator(const QList<LinkedTextImpl> &list) :
|
|
Packit |
1c1d7e |
BaseIterator<ILinkedTextIterator,ILinkedText,LinkedTextImpl>(list) {}
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#endif
|