You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.4 KiB
67 lines
1.4 KiB
/*********
|
|
*
|
|
* This file is part of BibleTime's source code, http://www.bibletime.info/.
|
|
*
|
|
* Copyright 1999-2006 by the BibleTime developers.
|
|
* The BibleTime source code is licensed under the GNU General Public License version 2.0.
|
|
*
|
|
**********/
|
|
|
|
|
|
|
|
#ifndef BT_OSISHTML_H
|
|
#define BT_OSISHTML_H
|
|
|
|
//Sword includes
|
|
#include <osishtmlhref.h>
|
|
|
|
namespace Filters {
|
|
|
|
/** BibleTime's OSIS to HTMl filter.
|
|
* This filter works on OSIS tags and outputs HTML in the structure supported by BibleTime.
|
|
*/
|
|
|
|
class BT_OSISHTML : public sword::OSISHTMLHREF {
|
|
|
|
protected:
|
|
|
|
class BT_UserData : public sword::OSISHTMLHREF::MyUserData {
|
|
|
|
public:
|
|
BT_UserData(const sword::SWModule *module, const sword::SWKey *key) : sword::OSISHTMLHREF::MyUserData(module, key) {
|
|
noteType = Unknown;
|
|
swordFootnote = 1;
|
|
inCrossrefNote = false;
|
|
}
|
|
|
|
unsigned short int swordFootnote;
|
|
bool inCrossrefNote;
|
|
|
|
enum NoteType {
|
|
Unknown,
|
|
Alternative,
|
|
CrossReference,
|
|
Footnote,
|
|
StrongsMarkup
|
|
} noteType;
|
|
|
|
struct {
|
|
sword::SWBuf who;
|
|
}
|
|
|
|
quote;
|
|
};
|
|
|
|
virtual sword::BasicFilterUserData *createUserData(const sword::SWModule* module, const sword::SWKey* key) {
|
|
return new BT_UserData(module, key);
|
|
}
|
|
|
|
public:
|
|
BT_OSISHTML();
|
|
virtual bool handleToken(sword::SWBuf &buf, const char *token, sword::BasicFilterUserData *userData);
|
|
};
|
|
|
|
} //end of Filters namespace
|
|
|
|
#endif
|