|
|
|
@ -20,6 +20,8 @@
|
|
|
|
|
#ifndef __ZLTEXTPARAGRAPH_H__
|
|
|
|
|
#define __ZLTEXTPARAGRAPH_H__
|
|
|
|
|
|
|
|
|
|
#include "text_export.h"
|
|
|
|
|
|
|
|
|
|
#include <map>
|
|
|
|
|
#include <vector>
|
|
|
|
|
#include <string>
|
|
|
|
@ -33,7 +35,7 @@
|
|
|
|
|
class ZLImage;
|
|
|
|
|
typedef std::map<std::string,shared_ptr<const ZLImage> > ZLImageMap;
|
|
|
|
|
|
|
|
|
|
class ZLTextParagraphEntry {
|
|
|
|
|
class ZLTEXT_EXPORT ZLTextParagraphEntry {
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
enum Kind {
|
|
|
|
@ -59,7 +61,7 @@ private: // disable copying
|
|
|
|
|
const ZLTextParagraphEntry &operator = (const ZLTextParagraphEntry &entry);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class ZLTextControlEntry : public ZLTextParagraphEntry {
|
|
|
|
|
class ZLTEXT_EXPORT ZLTextControlEntry : public ZLTextParagraphEntry {
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
ZLTextControlEntry(ZLTextKind kind, bool isStart);
|
|
|
|
@ -77,7 +79,7 @@ private:
|
|
|
|
|
friend class ZLTextControlEntryPool;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class ZLTextFixedHSpaceEntry : public ZLTextParagraphEntry {
|
|
|
|
|
class ZLTEXT_EXPORT ZLTextFixedHSpaceEntry : public ZLTextParagraphEntry {
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
ZLTextFixedHSpaceEntry(unsigned char length);
|
|
|
|
@ -87,7 +89,7 @@ private:
|
|
|
|
|
const unsigned char myLength;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class ZLTextControlEntryPool {
|
|
|
|
|
class ZLTEXT_EXPORT ZLTextControlEntryPool {
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
static ZLTextControlEntryPool Pool;
|
|
|
|
@ -102,7 +104,7 @@ private:
|
|
|
|
|
std::map<ZLTextKind, shared_ptr<ZLTextParagraphEntry> > myEndEntries;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class ZLTextHyperlinkControlEntry : public ZLTextControlEntry {
|
|
|
|
|
class ZLTEXT_EXPORT ZLTextHyperlinkControlEntry : public ZLTextControlEntry {
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
ZLTextHyperlinkControlEntry(const char *address);
|
|
|
|
@ -116,7 +118,7 @@ private:
|
|
|
|
|
ZLHyperlinkType myHyperlinkType;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class ZLTextEntry : public ZLTextParagraphEntry {
|
|
|
|
|
class ZLTEXT_EXPORT ZLTextEntry : public ZLTextParagraphEntry {
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
ZLTextEntry(const char *address);
|
|
|
|
@ -129,7 +131,7 @@ private:
|
|
|
|
|
const char *myAddress;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class ImageEntry : public ZLTextParagraphEntry {
|
|
|
|
|
class ZLTEXT_EXPORT ImageEntry : public ZLTextParagraphEntry {
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
ImageEntry(const std::string &id, const ZLImageMap *imageMap, short vOffset);
|
|
|
|
@ -144,7 +146,7 @@ private:
|
|
|
|
|
const short myVOffset;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class ResetBidiEntry : public ZLTextParagraphEntry {
|
|
|
|
|
class ZLTEXT_EXPORT ResetBidiEntry : public ZLTextParagraphEntry {
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
static const shared_ptr<ZLTextParagraphEntry> Instance;
|
|
|
|
@ -153,7 +155,7 @@ private:
|
|
|
|
|
ResetBidiEntry();
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class ZLTextParagraph {
|
|
|
|
|
class ZLTEXT_EXPORT ZLTextParagraph {
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
class Iterator {
|
|
|
|
@ -208,7 +210,7 @@ friend class ZLTextModel;
|
|
|
|
|
friend class ZLTextPlainModel;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class ZLTextSpecialParagraph : public ZLTextParagraph {
|
|
|
|
|
class ZLTEXT_EXPORT ZLTextSpecialParagraph : public ZLTextParagraph {
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
ZLTextSpecialParagraph(Kind kind);
|
|
|
|
@ -223,7 +225,7 @@ private:
|
|
|
|
|
friend class ZLTextPlainModel;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class ZLTextTreeParagraph : public ZLTextParagraph {
|
|
|
|
|
class ZLTEXT_EXPORT ZLTextTreeParagraph : public ZLTextParagraph {
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
ZLTextTreeParagraph(ZLTextTreeParagraph *parent = 0);
|
|
|
|
|