Diffstat (limited to 'noncore/apps/opie-reader/CFilter.h') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/apps/opie-reader/CFilter.h | 55 |
1 files changed, 52 insertions, 3 deletions
diff --git a/noncore/apps/opie-reader/CFilter.h b/noncore/apps/opie-reader/CFilter.h index 174e6b4..594b606 100644 --- a/noncore/apps/opie-reader/CFilter.h +++ b/noncore/apps/opie-reader/CFilter.h @@ -20,4 +20,5 @@ class CFilter_IFace : public CCharacterSource virtual int getwidth() = 0; virtual CCharacterSource* getparent() = 0; + virtual unsigned long startSection() = 0; }; @@ -27,4 +28,9 @@ class CFilter : public CFilter_IFace CCharacterSource* parent; public: + virtual QString getTableAsHtml(unsigned long loc) + { + qDebug("CFilter::getTableAsHtml()"); + return parent->getTableAsHtml(loc); + } virtual linkType hyperlink(unsigned int n, unsigned int noff, QString& w, QString& nm) { @@ -51,5 +57,6 @@ class CFilter : public CFilter_IFace QImage* getPicture(unsigned long tgt) { return parent->getPicture(tgt); } QImage* getPicture(const QString& href) { return parent->getPicture(href); } - bool getFile(const QString& href) { return parent->getFile(href); } + bool getFile(const QString& href, const QString& nm) { return parent->getFile(href, nm); } + virtual unsigned long startSection() { return parent->startSection(); } }; @@ -77,4 +84,8 @@ class CFilterChain return front->hyperlink(n, noff, wrd, nm); } + QString getTableAsHtml(unsigned long loc) + { + return front->getTableAsHtml(loc); + } void locate(unsigned int n) { @@ -85,4 +96,10 @@ class CFilterChain front->getch(ch, sty, pos); } + /* + void rawgetch(tchar& ch, CStyle& sty, unsigned long& pos) + { + encoder->getch(ch, sty, pos); + } + */ void addfilter(CFilter_IFace* p) { @@ -404,4 +421,9 @@ class ExternFilter : public CFilter_IFace return filt->hyperlink(n, noff, w, nm); } + QString getTableAsHtml(unsigned long loc) + { + qDebug("ExternFilter::getTableAsHtml()"); + return filt->getTableAsHtml(loc); + } void setparent(CCharacterSource* p) { filt->setparent(p); } ExternFilter(const QString& nm, const QString& optional); @@ -412,5 +434,8 @@ class ExternFilter : public CFilter_IFace } void locate(unsigned int n) { filt->locate(n); } - bool findanchor(const QString& nm) { return filt->findanchor(nm); } + bool findanchor(const QString& nm) + { + return filt->findanchor(nm); + } void saveposn(const QString& f, size_t posn) { filt->saveposn(f, posn); } void writeposn(const QString& f, size_t posn) { filt->writeposn(f, posn); } @@ -424,6 +449,7 @@ class ExternFilter : public CFilter_IFace CFilter* filter() { return filt; } QImage* getPicture(const QString& href) { return filt->getPicture(href); } - bool getFile(const QString& href) { return filt->getFile(href); } + bool getFile(const QString& href, const QString& nm) { return filt->getFile(href, nm); } QString about() { return QString("Filter plug-in (c) Tim Wentford\n")+filt->about(); } + unsigned long startSection() { return filt->startSection(); } }; #endif @@ -472,3 +498,26 @@ class setfg : public CFilter }; +class tableLink : public CFilter +{ + QString text; + int offset; + int m_r, m_g, m_b; + public: + tableLink() : text( "See Table" ), offset(-1) + { + } + void getch(tchar& ch, CStyle& sty, unsigned long& pos); + QString about() { return QString("Table link filter (c) Tim Wentford\n")+parent->about(); } +}; + +class underlineLink : public CFilter +{ + bool isLink; + public: + underlineLink() : isLink(false) {} + ~underlineLink() {} + void getch(tchar& ch, CStyle& sty, unsigned long& pos); + QString about() { return QString("Link underlining filter (c) Tim Wentford\n")+parent->about(); } +}; + #endif |