本文整理汇总了C++中SWModule::getKeyText方法的典型用法代码示例。如果您正苦于以下问题:C++ SWModule::getKeyText方法的具体用法?C++ SWModule::getKeyText怎么用?C++ SWModule::getKeyText使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SWModule
的用法示例。
在下文中一共展示了SWModule::getKeyText方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char **argv) {
SWMgr mgr;
SWModule *mod = mgr.getModule("KJVgb");
VerseKey *key1 = (VerseKey *)mod->createKey();
key1->setTestament(2);
key1->setBook(4);
key1->setChapter(2);
key1->setVerse(3);
cout << "\n" << key1->getText() << ":\n\n";
ListKey keys;
keys << *key1;
cout << "\n" << keys.getRangeText() << ":\n\n";
ListKey keys2 = keys;
cout << "\n" << keys2.getRangeText() << ":\n\n";
keys = key1->parseVerseList("Lk.4.5");
cout << "\n" << key1->getText() << ":\n\n";
key1->setText("jn.6.7");
cout << "\n" << key1->getText() << ":\n\n";
mod->setKey("lk.2.3");
cout << "\n" << mod->getKeyText() << ":\n" << endl;
cout << mod->getRawEntry() << endl;
cout << "\nListkey persist key iteration test\n\n";
keys = key1->parseVerseList("mat1", 0, true);
for (keys = TOP; !keys.popError(); keys++) {
cout << "\n" << keys.getText() << ":\n" << endl;
}
keys.setPersist(true);
mod->setKey(keys);
for ((*mod) = TOP; !mod->popError(); (*mod)++) {
cout << "\n" << mod->getKeyText() << ":\n" << endl;
}
delete key1;
return 0;
}
示例2: main
int main(int argc, char **argv) {
if (argc != 2) {
cerr << "\nusage: " << *argv << " <modName>\n" << endl;
exit(-1);
}
SWMgr library(new MarkupFilterMgr(FMT_XHTML));
library.setGlobalOption("Headings", "On");
SWModule *module = library.getModule(argv[1]);
if (!module) {
cerr << "\nCouldn't find module: " << argv[1] << "\n" << endl;
exit(-2);
}
module->setKey("Ps.3.1");
outputCurrentVerse(module);
module->setKey("Mark.1.14");
outputCurrentVerse(module);
cout << "\nWhitespace tests around headings:\n";
((VerseKey *)module->getKey())->setIntros(true);
*module = TOP;
// module heading
cout << module->renderText() << "\n";
(*module)++;
// testament heading
cout << module->renderText() << "\n";
(*module)++;
// book heading
cout << module->renderText() << "\n";
(*module)++;
// chapter heading
cout << module->renderText() << "\n";
(*module)++;
// verse body
module->renderText();
SWBuf header = module->getEntryAttributes()["Heading"]["Preverse"]["0"];
cout << module->renderText(header) << endl;
cout << "[ " << module->getKeyText() << " ] " << module->renderText() << "\n";
(*module)++;
// verse body
module->renderText();
header = module->getEntryAttributes()["Heading"]["Preverse"]["0"];
cout << module->renderText(header) << endl;
cout << "[ " << module->getKeyText() << " ] " << module->renderText() << "\n";
return 0;
}
示例3: main
int main(int argc, char **argv)
{
const char *range = (argc > 1) ? argv[1] : "Mat 2:10,12-15";
VerseKey parser;
ListKey result;
result = parser.parseVerseList(range, parser, true);
// let's iterate the key and display
for (result = TOP; !result.popError(); result++) {
cout << result << "\n";
}
cout << endl;
// Now let's output a module with the entries from the result
// we'll initialize our library of books
SWMgr library(new MarkupFilterMgr(FMT_PLAIN)); // render plain without fancy markup
// Let's get a book;
SWModule *book = library.getModule("KJV");
// couldn't find our test module
if (!book) return -1;
// now let's iterate the book and display
for (result = TOP; !result.popError(); result++) {
book->setKey(result);
cout << "*** " << book->getKeyText() << ": " << book->renderText() << "\n";
}
return 0;
}
示例4: getModule
/*
* Class: org_crosswire_android_sword_SWModule
* Method: getKeyText
* Signature: ()Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWModule_getKeyText
(JNIEnv *env, jobject me) {
init();
SWModule *module = getModule(env, me);
jstring retVal = 0;
if (module) {
retVal = env->NewStringUTF(assureValidUTF8(module->getKeyText()));
}
return retVal;
}
示例5: main
int main(int argc, char **argv)
{
const char *range = (argc > 1) ? argv[1] : "Mat 2:10,12-15";
VerseKey parser;
ListKey result;
result = parser.parseVerseList(range, parser, true);
// let's iterate the key and display
for (result = TOP; !result.popError(); result++) {
cout << result << "\n";
}
cout << endl;
// Now if we'd like persist this key for use inside of a book...
result.setPersist(true);
// Let's get a book;
SWMgr library(new MarkupFilterMgr(FMT_PLAIN)); // render plain without fancy markup
SWModule *book = library.getModule("KJV");
// and set our limited key inside
book->setKey(result);
// now let's iterate the book and display
for ((*book) = TOP; !book->popError(); (*book)++) {
cout << "*** " << book->getKeyText() << ": " << book->renderText() << "\n";
}
// Since we've told our result key to persist in book, we can reuse our
// setup by simply resetting result, e.g.
//
// result = parser.ParseVerseList(someNewRange, parser, true);
//
// Now an iteration of book will give us our new range.
//
// To stop persistence of our custom key, we'll need to set our book's key
// to something simple:
//
// book->setKey("gen.1.1");
//
// Resetting our book object's key to something not persistent will revert our book object to using its default key for positioning
//
//
return 0;
}
示例6: main
int main(int argc, char **argv) {
SWMgr manager; // create a default manager that looks in the current directory for mods.conf
cout << "\nInstalled Modules:\n\n";
ModMap::iterator modIterator;
// Loop thru all installed modules and print out information
for (modIterator = manager.Modules.begin(); modIterator != manager.Modules.end(); modIterator++) {
std::string modName = (*modIterator).first; // mod.conf section name (stored in module->Name())
SWModule *module = (*modIterator).second;
cout << modName << "(" << module->getName() << ") | " << module->getType() << "\n";
}
// Print out a verse from the first module:
cout << "\n" << manager.Modules.begin()->second->getKeyText() << ":\n";
cout << manager.Modules.begin()->second->renderText();
cout << " (" << manager.Modules.begin()->second->getName() << ")\n";
// Print out the same verse from the second module (less confusing):
modIterator = manager.Modules.begin(); // get first module
modIterator++; // increment to next module
SWModule *mod = modIterator->second;
cout << "\n" << mod->getKeyText() << ":\n";
// cout << (const char *)(*mod); // we could do this, the same as above
cout << mod->renderText();
cout << " (" << mod->getName() << ")\n\n";
return 0;
}
示例7:
const char *SWModule_getKeyText(SWHANDLE hmodule) {
SWModule *module = (SWModule *)hmodule;
return (const char *)((module) ? module->getKeyText() : 0);
}
示例8: peeuuu
/*
* Class: org_crosswire_android_sword_SWModule
* Method: search
* Signature: (Ljava/lang/String;IJLjava/lang/String;Lorg/crosswire/android/sword/SWModule/SearchProgressReporter;)[Lorg/crosswire/android/sword/SWModule/SearchHit;
*/
JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWModule_search
(JNIEnv *env, jobject me, jstring expressionJS, jint srchType, jlong flags, jstring scopeJS, jobject progressReporter) {
init();
const int MAX_RETURN_COUNT = 999999;
const char *expression = env->GetStringUTFChars(expressionJS, NULL);
const char *scope = env->GetStringUTFChars(scopeJS, NULL);
jclass clazzSearchHit = env->FindClass("org/crosswire/android/sword/SWModule$SearchHit");
jobjectArray ret = 0;
SWModule *module = getModule(env, me);
struct pu peeuuu(env, progressReporter);
if (module) {
sword::ListKey lscope;
sword::ListKey result;
if ((scope) && (strlen(scope)) > 0) {
sword::SWKey *p = module->CreateKey();
sword::VerseKey *parser = SWDYNAMIC_CAST(VerseKey, p);
if (!parser) {
delete p;
parser = new VerseKey();
}
*parser = module->getKeyText();
lscope = parser->ParseVerseList(scope, *parser, true);
result = module->search(expression, srchType, flags, &lscope, 0, &percentUpdate, &peeuuu);
delete parser;
}
else result = module->search(expression, srchType, flags, 0, 0, &percentUpdate, &peeuuu);
int count = 0;
for (result = sword::TOP; !result.Error(); result++) count++;
if (count > MAX_RETURN_COUNT) count = MAX_RETURN_COUNT;
ret = (jobjectArray) env->NewObjectArray(count, clazzSearchHit, NULL);
// if we're sorted by score, let's re-sort by verse, because Java can always re-sort by score
result = sword::TOP;
if ((count) && (long)result.getElement()->userData)
result.sort();
int i = 0;
jstring modName = env->NewStringUTF(assureValidUTF8(module->getName()));
jfieldID fieldIDModName = env->GetFieldID(clazzSearchHit, "modName", "Ljava/lang/String;");
jfieldID fieldIDKey = env->GetFieldID(clazzSearchHit, "key" , "Ljava/lang/String;");
jfieldID fieldIDScore = env->GetFieldID(clazzSearchHit, "score" , "J");
for (result = sword::TOP; !result.Error(); result++) {
jfieldID fieldID;
jobject searchHit = env->AllocObject(clazzSearchHit);
env->SetObjectField(searchHit, fieldIDModName, modName);
jstring key = env->NewStringUTF(assureValidUTF8((const char *)result));
env->SetObjectField(searchHit, fieldIDKey, key);
env->DeleteLocalRef(key);
env->SetLongField(searchHit, fieldIDScore, (long)result.getElement()->userData);
env->SetObjectArrayElement(ret, i++, searchHit);
env->DeleteLocalRef(searchHit);
if (i >= MAX_RETURN_COUNT) break;
}
env->DeleteLocalRef(modName);
}
env->ReleaseStringUTFChars(scopeJS, scope);
env->ReleaseStringUTFChars(expressionJS, expression);
return (ret) ? ret : (jobjectArray) env->NewObjectArray(0, clazzSearchHit, NULL);
}
示例9: doquery
void doquery(unsigned long maxverses = -1, unsigned char outputformat = FMT_PLAIN, unsigned char outputencoding = ENC_UTF8, unsigned long optionfilters = 0, unsigned char searchtype = ST_NONE, const char *range = 0, const char *text = 0, const char *locale = 0, const char *ref = 0, ostream* output = &cout, const char *script = 0, signed short variants = 0) {
static DiathekeMgr manager(NULL, NULL, false, outputencoding, outputformat,
((OP_BIDI & optionfilters) == OP_BIDI),
((OP_ARSHAPE & optionfilters) == OP_ARSHAPE));
ModMap::iterator it;
ListKey listkey;
SectionMap::iterator sit;
ConfigEntMap::iterator eit;
SWModule *target;
char *font = 0;
char inputformat = 0;
SWBuf encoding;
char querytype = 0;
if (locale) {
LocaleMgr::getSystemLocaleMgr()->setDefaultLocaleName(locale);
}
//deal with queries to "system"
if (!::stricmp(text, "system")) {
querytype = QT_SYSTEM;
systemquery(ref, output);
}
if (!strnicmp(text, "info", 4)) {
querytype = QT_INFO;
text = ref;
}
//otherwise, we have a real book
it = manager.Modules.find(text);
if (it == manager.Modules.end()) { //book not found
return;
}
target = (*it).second;
SWKey *p = target->createKey();
VerseKey *parser = SWDYNAMIC_CAST(VerseKey, p);
if (!parser) {
delete p;
parser = new VerseKey();
}
if ((sit = manager.config->Sections.find((*it).second->getName())) != manager.config->Sections.end()) {
if ((eit = (*sit).second.find("SourceType")) != (*sit).second.end()) {
if (!::stricmp((char *)(*eit).second.c_str(), "GBF"))
inputformat = FMT_GBF;
else if (!::stricmp((char *)(*eit).second.c_str(), "ThML"))
inputformat = FMT_THML;
else if (!::stricmp((char *)(*eit).second.c_str(), "OSIS"))
inputformat = FMT_OSIS;
else if (!::stricmp((char *)(*eit).second.c_str(), "TEI"))
inputformat = FMT_TEI;
}
encoding = ((eit = (*sit).second.find("Encoding")) != (*sit).second.end()) ? (*eit).second : (SWBuf)"";
}
if (querytype == QT_INFO) {
switch (inputformat) {
case FMT_THML :
*output << "ThML";
break;
case FMT_GBF :
*output << "GBF";
break;
case FMT_OSIS :
*output << "OSIS";
break;
case FMT_TEI :
*output << "TEI";
break;
default:
*output << "Other";
}
*output << ";";
*output << target->getType();
*output << ";";
delete parser;
return;
}
if (searchtype)
querytype = QT_SEARCH;
else if (!strcmp(target->getType(), "Biblical Texts"))
querytype = QT_BIBLE;
else if (!strcmp(target->getType(), "Commentaries"))
querytype = QT_COMM;
else if (!strcmp(target->getType(), "Lexicons / Dictionaries"))
querytype = QT_LD;
else if (!strcmp(target->getType(), "Generic Books"))
querytype = QT_LD;
if (optionfilters & OP_FOOTNOTES)
manager.setGlobalOption("Footnotes","On");
else
manager.setGlobalOption("Footnotes","Off");
if (optionfilters & OP_HEADINGS)
manager.setGlobalOption("Headings","On");
else
manager.setGlobalOption("Headings","Off");
//.........这里部分代码省略.........