diff options
Diffstat (limited to 'src/modules/texts/swtext.cpp')
-rw-r--r-- | src/modules/texts/swtext.cpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/modules/texts/swtext.cpp b/src/modules/texts/swtext.cpp index 85da8a3..8610dae 100644 --- a/src/modules/texts/swtext.cpp +++ b/src/modules/texts/swtext.cpp @@ -5,6 +5,7 @@ #include <swtext.h> #include <listkey.h> +SWORD_NAMESPACE_START /****************************************************************************** * SWText Constructor - Initializes data for instance of SWText @@ -18,6 +19,7 @@ SWText::SWText(const char *imodname, const char *imoddesc, SWDisplay *idisp, SWT { delete key; key = CreateKey(); + skipConsecutiveLinks = false; } @@ -37,3 +39,43 @@ SWKey *SWText::CreateKey() { return new VerseKey(); } + + +long SWText::Index() const { + VerseKey *key = 0; + try { + key = SWDYNAMIC_CAST(VerseKey, this->key); + } + catch ( ... ) {} + if (!key) + key = new VerseKey(this->key); + + entryIndex = key->NewIndex(); + + if (key != this->key) + delete key; + + return entryIndex; +} + +long SWText::Index(long iindex) { + VerseKey *key = 0; + try { + key = SWDYNAMIC_CAST(VerseKey, this->key); + } + catch ( ... ) {} + if (!key) + key = new VerseKey(this->key); + + key->Testament(1); + key->Index(iindex); + + if (key != this->key) { + this->key->copyFrom(*key); + delete key; + } + + return Index(); +} + +SWORD_NAMESPACE_END |