diff options
author | danglassey <danglassey> | 2002-08-14 09:57:17 +0000 |
---|---|---|
committer | danglassey <danglassey> | 2002-08-14 09:57:17 +0000 |
commit | c9458897ebbb739d8db83c80e06512d8a612f743 (patch) | |
tree | f8c5381045887e34388cc6b26cfccc254bf766dc /apps/windoze/CBuilder4/BibleCS | |
download | sword-sf-cvs-c9458897ebbb739d8db83c80e06512d8a612f743.tar.gz |
*** empty log message ***
Diffstat (limited to 'apps/windoze/CBuilder4/BibleCS')
75 files changed, 5208 insertions, 0 deletions
diff --git a/apps/windoze/CBuilder4/BibleCS/AboutBoxfrm.cpp b/apps/windoze/CBuilder4/BibleCS/AboutBoxfrm.cpp new file mode 100644 index 0000000..d511378 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/AboutBoxfrm.cpp @@ -0,0 +1,92 @@ +//--------------------------------------------------------------------- +#include <vcl.h> +#pragma hdrstop + +#include "AboutBoxfrm.h" +#include "mainfrm.h" +//--------------------------------------------------------------------- +#pragma resource "*.dfm" +TAboutBox *AboutBox; +//--------------------------------------------------------------------- +__fastcall TAboutBox::TAboutBox(TComponent* AOwner) : TForm(AOwner) { +} + + +//--------------------------------------------------------------------- +void __fastcall TAboutBox::FormShow(TObject *Sender) { + int i; + static char *modtypes[] = {"Biblical Texts", "Commentaries", "Lexicons / Dictionaries"}; + + string newtext, tmptext; + ModMap::iterator it; + SectionMap::iterator it2; + ConfigEntMap::iterator it3; + TMemoryStream *RTFStream = new TMemoryStream(); + + newtext = "{\\rtf1\\ansi{\\fonttbl{\\f4\\froman\\fcharset0\\fprq2 Times New Roman;}}{\\colortbl;\\red0\\green0\\blue255;\\red0\\green200\\blue50;}"; + newtext += "\\pard\\qc\\cf2\\nowidctlpar{\\fs30\\b Installed Modules } \\par \\pard \\nowidctlpar \\cf0 "; + + for (i = 0; i < 3; i++) { + newtext += "\\par {\\fs28\\b "; + newtext += modtypes[i]; + newtext += " }\\par \\par "; + for (it = Form1->mainmgr->Modules.begin(); it != Form1->mainmgr->Modules.end(); it++) { + if (!strcmp((*it).second->Type(), modtypes[i])) { + it2 = Form1->mainmgr->config->Sections.find((*it).second->Name()); + if (it2 != Form1->mainmgr->config->Sections.end()) { + newtext = newtext + "{\\fs24\\cf1\\b " + (*it).second->Name() + " }\t"; + newtext = newtext + "{\\fs24\\i " + (*it).second->Description() + " } \\par "; + it3 = (*it2).second.find("About"); + if (it3 != (*it2).second.end()) + newtext = newtext + "{\\fs20\\cf0 " + (*it3).second.c_str() + " }\\par \\par"; + } + } + } + } + newtext += "{\\fs24 \\par }}"; + RTFStream->Clear(); + RTFStream->WriteBuffer(newtext.c_str(), newtext.length()); + RTFStream->Position = 0; + ModulesAbout->Lines->LoadFromStream(RTFStream); + + newtext = "{\\rtf1\\ansi{\\fonttbl{\\f4\\froman\\fcharset0\\fprq2 Times New Roman;}}{\\colortbl;\\red0\\green0\\blue255;\\red0\\green200\\blue50;}"; + newtext += "\\fs20 Thanx to God for His GREAT MERCY and LOVE: Never did anyone have so much, give it up so completely, to humble Himself and die such a death, all for such an ENEMY as me. -Philippians 2:6-8; Romans 5:6-10 \\par\\par "; + newtext += "For the latest updates and info, visit us on the net at: \\par "; + newtext += "http://www.crosswire.org \\par\\par "; + newtext += "Send us feedback, bug reports, or patches/additions: \\par "; + newtext += "sword-feedback@crosswire.org \\par "; + newtext += "sword-bugs@crosswire.org \\par "; + newtext += "sword-patches@crosswire.org (please include unified diffs if possible (diff -u)) \\par\\par "; + newtext += "To be on our mailing list: \\par "; + newtext += "sword-list-info@crosswire.org \\par\\par "; + newtext += "This software is provided free for the study of God and His Word. You DO NOT NEED TO license or pay for this software. Please: copy it freely and distribute it to athiests in Russia :), post it on your favorite FTP site, write your own modules and features for it, include it on your lastest freeware CDROM, incorporate all the cool utility classes into a product of your own, write a tract module for the program and sneak it onto all of your co-workers' computers and blame it on a virus, make fun of your pastor for spending $400 dollars on a similar package, give it to your pastor who can't figure out how to use his $400 dollar package :) \\par\\par "; + newtext += "OK, if you still feel the need, you can help our organization out at: \\par\\par "; + newtext += "CrossWire Software & Bible Society \\par "; + newtext += "P. O. Box 2528 \\par "; + newtext += "Tempe, AZ 85280-2528 \\par\\par "; + newtext += "... but I must warn you, your contributions will probably just go toward paying my way through college, or to give me a little more time to spend on the project :) \\par\\par "; + newtext += "\tMay the peace of GOD consume your heart, \\par "; + newtext += "\t\tThe SWORD Project Development Team \\par "; + newtext += "_________________________________________ \\par "; + newtext += "Thanks be to God for all the wonderful people who have contributed in so many ways to make this project possible. These are just a few (I could not possibly name them all) who have directly contributed an abundance of their time and talents: \\par\\par "; + newtext += "All the people at The Outpost in Scottsdale for testing and suggestions; "; + newtext += "The Bible Foundation: Jerry Kingery, Jerry Hastings; Geoffrey W. Hastings; "; + newtext += "William Dicks; Everyone on b-greek@franklin.oit.unc.edu; Michael Paul Johnson; "; + newtext += "Roland Nygren; Bayu Gunawan; Bill Kincaid; Mark Fuller; Larry Pierce; Franklin Bratcher; "; + newtext += "Gregory Hall; Luis Cortes; Steve Hiner; Kristof Petr; Paul Gear and OpenBible; Chris Bitmead (go Scheme!); "; + newtext += "Chris Little; Brook Humphrey; Torsten Uhlmann, Joachim Ansorg, Darwin Gregory and the BibleTime Team; "; + newtext += "Darren DeMeulenaere"; + newtext += "\\par\\par "; + newtext += "{\\i And the list goes on...} \\par \\par "; + newtext += "{\\fs24 \\par }}"; + RTFStream->Clear(); + RTFStream->WriteBuffer(newtext.c_str(), newtext.length()); + RTFStream->Position = 0; + CreditAbout->Lines->LoadFromStream(RTFStream); + delete RTFStream; +} +//--------------------------------------------------------------------------- + + + + diff --git a/apps/windoze/CBuilder4/BibleCS/AboutBoxfrm.dfm b/apps/windoze/CBuilder4/BibleCS/AboutBoxfrm.dfm Binary files differnew file mode 100644 index 0000000..3316b80 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/AboutBoxfrm.dfm diff --git a/apps/windoze/CBuilder4/BibleCS/AboutBoxfrm.h b/apps/windoze/CBuilder4/BibleCS/AboutBoxfrm.h new file mode 100644 index 0000000..77da4f8 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/AboutBoxfrm.h @@ -0,0 +1,36 @@ +//---------------------------------------------------------------------------- +#ifndef AboutBoxfrmH +#define AboutBoxfrmH +//---------------------------------------------------------------------------- +#include <vcl\System.hpp> +#include <vcl\Windows.hpp> +#include <vcl\SysUtils.hpp> +#include <vcl\Classes.hpp> +#include <vcl\Graphics.hpp> +#include <vcl\Forms.hpp> +#include <vcl\Controls.hpp> +#include <vcl\StdCtrls.hpp> +#include <vcl\Buttons.hpp> +#include <vcl\ExtCtrls.hpp> +#include <vcl\ComCtrls.hpp> +//---------------------------------------------------------------------------- +class TAboutBox : public TForm +{ +__published: + TPanel *Panel1; + TImage *ProgramIcon; + TLabel *ProductName; + TLabel *Version; + TLabel *Copyright; + TButton *OKButton; + TRichEdit *CreditAbout; + TRichEdit *ModulesAbout; + void __fastcall FormShow(TObject *Sender); +private: +public: + virtual __fastcall TAboutBox(TComponent* AOwner); +}; +//---------------------------------------------------------------------------- +extern TAboutBox *AboutBox; +//---------------------------------------------------------------------------- +#endif diff --git a/apps/windoze/CBuilder4/BibleCS/Makefile b/apps/windoze/CBuilder4/BibleCS/Makefile new file mode 100644 index 0000000..ed02952 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/Makefile @@ -0,0 +1,13 @@ + +root := ../../../.. +pre-targets := +include ${root}/Makefile.cfg + + +s = $(c) $(cpp) +d = $(c:%.c=%.d) $(cpp:%.cpp=%.d) +o = $(c:%.c=%.o) $(cpp:%.cpp=%.o) + +ifneq ($(nodeps),yes) +-include $(d) +endif diff --git a/apps/windoze/CBuilder4/BibleCS/ModInstForm.cpp b/apps/windoze/CBuilder4/BibleCS/ModInstForm.cpp new file mode 100644 index 0000000..1763817 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/ModInstForm.cpp @@ -0,0 +1,14 @@ +//--------------------------------------------------------------------------- +#include <vcl\vcl.h> +#pragma hdrstop + +#include "ModInstForm.h" +//--------------------------------------------------------------------------- +#pragma resource "*.dfm" +TModInstFrm *ModInstFrm; +//--------------------------------------------------------------------------- +__fastcall TModInstFrm::TModInstFrm(TComponent* Owner) + : TForm(Owner) +{ +} +//---------------------------------------------------------------------------
\ No newline at end of file diff --git a/apps/windoze/CBuilder4/BibleCS/ModInstForm.dfm b/apps/windoze/CBuilder4/BibleCS/ModInstForm.dfm Binary files differnew file mode 100644 index 0000000..4e01f3d --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/ModInstForm.dfm diff --git a/apps/windoze/CBuilder4/BibleCS/ModInstForm.h b/apps/windoze/CBuilder4/BibleCS/ModInstForm.h new file mode 100644 index 0000000..f0cb90a --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/ModInstForm.h @@ -0,0 +1,27 @@ +//--------------------------------------------------------------------------- +#ifndef ModInstFormH +#define ModInstFormH +//--------------------------------------------------------------------------- +#include <vcl\Classes.hpp> +#include <vcl\Controls.hpp> +#include <vcl\StdCtrls.hpp> +#include <vcl\Forms.hpp> +#include <vcl\ComCtrls.hpp> +#include <vcl\ExtCtrls.hpp> +//--------------------------------------------------------------------------- +class TModInstFrm : public TForm +{ +__published: // IDE-managed Components + TRichEdit *AboutText; + TPanel *Panel1; + TButton *Button1; + TLabel *ModText; +private: // User declarations +public: // User declarations + __fastcall TModInstFrm(TComponent* Owner); +}; +//--------------------------------------------------------------------------- +extern TModInstFrm *ModInstFrm; +//--------------------------------------------------------------------------- +#endif +
\ No newline at end of file diff --git a/apps/windoze/CBuilder4/BibleCS/RangeMaintFrm.cpp b/apps/windoze/CBuilder4/BibleCS/RangeMaintFrm.cpp new file mode 100644 index 0000000..ef84061 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/RangeMaintFrm.cpp @@ -0,0 +1,130 @@ +//--------------------------------------------------------------------------- + +#include <vcl.h> +#pragma hdrstop + +#include "RangeMaintFrm.h" +#include <versekey.h> +#include <listkey.h> +//--------------------------------------------------------------------------- +#pragma package(smart_init) +#pragma resource "*.dfm" +TRangeMaintForm *RangeMaintForm; + +//--------------------------------------------------------------------------- +__fastcall TRangeMaintForm::TRangeMaintForm(TComponent* Owner) + : TForm(Owner) +{ +} +//--------------------------------------------------------------------------- +void __fastcall TRangeMaintForm::FormShow(TObject *Sender) +{ + ConfigEntMap::iterator loop, end; + config = new SWConfig("./options.conf"); + ListBox1->Clear(); + loop = config->Sections["CustomRanges"].begin(); + end = config->Sections["CustomRanges"].end(); + while (loop != end) { + TCustomRange *rs = new TCustomRange(loop->first.c_str(), loop->second.c_str()); + ListBox1->Items->AddObject(rs->name.c_str(), rs); + loop++; + } + ListBox1->ItemIndex = 0; + if (ListBox1->ItemIndex) { + SpeedButton1Click(0); + } + else { + ListBox1Click(0); + Button1Click(0); + } +} +//--------------------------------------------------------------------------- +void __fastcall TRangeMaintForm::FormClose(TObject *Sender, + TCloseAction &Action) +{ + delete config; +} +//--------------------------------------------------------------------------- +void __fastcall TRangeMaintForm::SpeedButton4Click(TObject *Sender) +{ + ModalResult = mrCancel; +} +//--------------------------------------------------------------------------- +void __fastcall TRangeMaintForm::ListBox1Click(TObject *Sender) +{ + if (ListBox1->ItemIndex >= 0) { + TCustomRange *rs = (TCustomRange *)ListBox1->Items->Objects[ListBox1->ItemIndex]; + + NameEdit->Text = rs->name.c_str(); + TextEdit->Text = rs->text.c_str(); + } + else { + NameEdit->Text = ""; + TextEdit->Text = ""; + } + Button1Click(0); +} +//--------------------------------------------------------------------------- +void __fastcall TRangeMaintForm::NameEditChange(TObject *Sender) +{ + if (ListBox1->ItemIndex < 0) + return; + TCustomRange *rs = (TCustomRange *)ListBox1->Items->Objects[ListBox1->ItemIndex]; + rs->name = NameEdit->Text.c_str(); + ListBox1->Items->Strings[ListBox1->ItemIndex] = rs->name.c_str(); +} +//--------------------------------------------------------------------------- +void __fastcall TRangeMaintForm::TextEditChange(TObject *Sender) +{ + if (ListBox1->ItemIndex < 0) + return; + TCustomRange *rs = (TCustomRange *)ListBox1->Items->Objects[ListBox1->ItemIndex]; + rs->text = TextEdit->Text.c_str(); + Button1Click(0); +} +//--------------------------------------------------------------------------- +void __fastcall TRangeMaintForm::SpeedButton2Click(TObject *Sender) +{ + if (ListBox1->ItemIndex < 0) + return; + int delItem = ListBox1->ItemIndex; + ListBox1->Items->Delete(delItem); + ListBox1->ItemIndex = (delItem < ListBox1->Items->Count) ? delItem : delItem - 1; + ListBox1Click(0); +} +//--------------------------------------------------------------------------- +void __fastcall TRangeMaintForm::SpeedButton1Click(TObject *Sender) +{ + TCustomRange *rs = new TCustomRange("[New Custom Range]", ""); + ListBox1->ItemIndex = ListBox1->Items->AddObject(rs->name.c_str(), rs); + + ListBox1Click(0); +} +//--------------------------------------------------------------------------- +void __fastcall TRangeMaintForm::SpeedButton3Click(TObject *Sender) +{ + TCustomRange *rs; + config->Sections["CustomRanges"].erase(config->Sections["CustomRanges"].begin(), config->Sections["CustomRanges"].end()); + for (int i = 0; i < ListBox1->Items->Count; i++) { + rs = (TCustomRange *)ListBox1->Items->Objects[i]; + config->Sections["CustomRanges"].insert(ConfigEntMap::value_type(rs->name.c_str(), rs->text.c_str())); + } + config->Save(); + ModalResult = mrOk; +} +//--------------------------------------------------------------------------- +void __fastcall TRangeMaintForm::Button1Click(TObject *Sender) +{ + VerseKey key; + ListBox2->Clear(); + ListKey verses = key.ParseVerseList(TextEdit->Text.c_str(), key, true); + for (int i = 0; i < verses.Count(); i++) { + VerseKey *element = dynamic_cast<VerseKey *>(verses.GetElement(i)); + if (element) { + ListBox2->Items->Add((string(element->LowerBound()) + " - " + string(element->UpperBound())).c_str()); + } + else ListBox2->Items->Add((const char *)*verses.GetElement(i)); + } +} +//--------------------------------------------------------------------------- + diff --git a/apps/windoze/CBuilder4/BibleCS/RangeMaintFrm.dfm b/apps/windoze/CBuilder4/BibleCS/RangeMaintFrm.dfm Binary files differnew file mode 100644 index 0000000..91bee28 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/RangeMaintFrm.dfm diff --git a/apps/windoze/CBuilder4/BibleCS/RangeMaintFrm.h b/apps/windoze/CBuilder4/BibleCS/RangeMaintFrm.h new file mode 100644 index 0000000..e279783 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/RangeMaintFrm.h @@ -0,0 +1,64 @@ +//--------------------------------------------------------------------------- + +#ifndef RangeMaintFrmH +#define RangeMaintFrmH +//--------------------------------------------------------------------------- +#include <Classes.hpp> +#include <Controls.hpp> +#include <StdCtrls.hpp> +#include <Forms.hpp> +#include <Buttons.hpp> +#include <ExtCtrls.hpp> +#include <swconfig.h> +//--------------------------------------------------------------------------- +class TRangeMaintForm : public TForm +{ +__published: // IDE-managed Components + TPanel *Panel4; + TSpeedButton *SpeedButton3; + TSpeedButton *SpeedButton4; + TPanel *Panel2; + TPanel *Panel1; + TPanel *Panel3; + TSpeedButton *SpeedButton1; + TSpeedButton *SpeedButton2; + TListBox *ListBox1; + TPanel *Panel5; + TLabel *Label1; + TLabel *Label2; + TEdit *NameEdit; + TEdit *TextEdit; + TPanel *Panel6; + TListBox *ListBox2; + TLabel *Label3; + void __fastcall FormShow(TObject *Sender); + void __fastcall FormClose(TObject *Sender, TCloseAction &Action); + void __fastcall SpeedButton4Click(TObject *Sender); + void __fastcall ListBox1Click(TObject *Sender); + void __fastcall NameEditChange(TObject *Sender); + void __fastcall TextEditChange(TObject *Sender); + void __fastcall SpeedButton2Click(TObject *Sender); + void __fastcall SpeedButton1Click(TObject *Sender); + void __fastcall SpeedButton3Click(TObject *Sender); + void __fastcall Button1Click(TObject *Sender); +private: // User declarations + SWConfig *config; +public: // User declarations + __fastcall TRangeMaintForm(TComponent* Owner); +}; + +class TCustomRange : public TObject { +public: + string name; + string text; + TCustomRange(const char *name, const char *text) { + this->name = name; + this->text = text; + } +}; + + +//--------------------------------------------------------------------------- +extern PACKAGE TRangeMaintForm *RangeMaintForm; +//--------------------------------------------------------------------------- +#endif diff --git a/apps/windoze/CBuilder4/BibleCS/back.bmp b/apps/windoze/CBuilder4/BibleCS/back.bmp Binary files differnew file mode 100644 index 0000000..e1f0f93 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/back.bmp diff --git a/apps/windoze/CBuilder4/BibleCS/biblecsmgr.cpp b/apps/windoze/CBuilder4/BibleCS/biblecsmgr.cpp new file mode 100644 index 0000000..306340a --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/biblecsmgr.cpp @@ -0,0 +1,80 @@ +//--------------------------------------------------------------------------- +#include "BibleCSMGR.h" +#include <swconfig.h> +#include <gbfrtf.h> +#include <rwprtf.h> +#include <rawgbf.h> +//--------------------------------------------------------------------------- +BibleCSMGR::BibleCSMGR(TModInstFrm *iModInstFrm) : SWMgr(0, 0, false) +{ + gbftortf = new GBFRTF(); + rwptortf = new RWPRTF(); + ModInstFrm = iModInstFrm; + Load(); +} + + +BibleCSMGR::~BibleCSMGR() +{ + if (gbftortf) + delete gbftortf; + + if (rwptortf) + delete rwptortf; +} + + +void BibleCSMGR::AddRenderFilters(SWModule *module, ConfigEntMap §ion) +{ + string sourceformat; + ConfigEntMap::iterator entry; + + sourceformat = ((entry = section.find("SourceType")) != section.end()) ? (*entry).second : (string)""; + // Temporary: To support old module types + if (sourceformat.empty()) { + try { + if (dynamic_cast<RawGBF *>(module)) + sourceformat = "GBF"; + } + catch ( ... ) {} + } + + if (!stricmp(sourceformat.c_str(), "GBF")) { + module->AddRenderFilter(gbftortf); + } + + if (!stricmp(module->Name(), "RWP")) + module->AddRenderFilter(rwptortf); +} + + +char BibleCSMGR::AddModToConfig(int conffd, const char *fname) +{ + SWConfig modconf(fname); + SectionMap::iterator section; + AnsiString abouttext = ""; + bool logflag; + TMemoryStream *RTFStream = new TMemoryStream(); + char retval; + + section = modconf.Sections.begin(); + + ModInstFrm->ModText->Caption = ""; + ModInstFrm->ModText->Caption = ModInstFrm->ModText->Caption + "Found new module [ " + (*(*section).second.find("Description")).second.c_str() + " ]. Installing..."; + + abouttext = abouttext + "{\\fs20\\cf0 " + (*(*section).second.find("About")).second.c_str() + " }"; + RTFStream->Clear(); + RTFStream->WriteBuffer(abouttext.c_str(), abouttext.Length()); + RTFStream->Position = 0; + ModInstFrm->AboutText->Lines->LoadFromStream(RTFStream); + delete RTFStream; + + ModInstFrm->ShowModal(); + + logflag = SWLog::systemlog->log; + SWLog::systemlog->log = false; + retval = SWMgr::AddModToConfig(conffd, fname); + SWLog::systemlog->log = logflag; + + return retval; +} diff --git a/apps/windoze/CBuilder4/BibleCS/biblecsmgr.h b/apps/windoze/CBuilder4/BibleCS/biblecsmgr.h new file mode 100644 index 0000000..61600ee --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/biblecsmgr.h @@ -0,0 +1,22 @@ +//--------------------------------------------------------------------------- +#ifndef biblecsmgrH +#define biblecsmgrH +#include <swmgr.h> +#include "ModInstForm.h" +//--------------------------------------------------------------------------- +class BibleCSMGR : public SWMgr { + TModInstFrm *ModInstFrm; + SWFilter *gbftortf; + SWFilter *rwptortf; + +protected: + virtual char AddModToConfig(int conffd, const char *fname); + virtual void AddRenderFilters(SWModule *module, ConfigEntMap §ion); + +public: + BibleCSMGR(TModInstFrm *iModInstFrm); + virtual ~BibleCSMGR(); +}; + +#endif +
\ No newline at end of file diff --git a/apps/windoze/CBuilder4/BibleCS/bookmark.bmp b/apps/windoze/CBuilder4/BibleCS/bookmark.bmp Binary files differnew file mode 100644 index 0000000..4b6df0c --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/bookmark.bmp diff --git a/apps/windoze/CBuilder4/BibleCS/bookmarkfrm.cpp b/apps/windoze/CBuilder4/BibleCS/bookmarkfrm.cpp new file mode 100644 index 0000000..58c5f73 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/bookmarkfrm.cpp @@ -0,0 +1,221 @@ +//--------------------------------------------------------------------------- +#include <vcl\vcl.h> +#pragma hdrstop + +#include "bookmarkfrm.h" +#include <swconfig.h> +#include <dirent.h> +#include "mainfrm.h" +#include "newbmfilefrm.h" +#include <io.h> +#include <dir.h> + +//--------------------------------------------------------------------------- +#pragma resource "*.dfm" +TBookmarksfrm *Bookmarksfrm; +//--------------------------------------------------------------------------- +__fastcall TBookmarksfrm::TBookmarksfrm(TComponent* Owner) + : TForm(Owner) +{ + SWConfig *bookmarks; + SectionMap::iterator sit; + ConfigEntMap::iterator eit; + TTreeNode *node; + + DIR *dir; + struct dirent *ent; + string conffile; + bmdir = ""; + + bmtree->Items->Clear(); + + if ((sit = Form1->optionsconf->Sections.find("Bookmarks")) != Form1->optionsconf->Sections.end()) + bmdir = ((eit = (*sit).second.find("Directory")) != (*sit).second.end()) ? (*eit).second : (string)""; + +// Add Personal Bookmarks first, or if they don't exist, ADD A BLANK BRANCH first in the tree +// -------------------------------------------------------------------------- + + if (bmdir == "") + bmdir = "./bookmarks/"; + + if (access(bmdir.c_str(), 0)) { // directory does not exist + _mkdir(bmdir.c_str()); + } + + conffile = bmdir + "personal.conf"; + bookmarks = new SWConfig(conffile.c_str()); + if ((sit = bookmarks->Sections.find("ROOT")) != bookmarks->Sections.end()) { + if ((eit = (*sit).second.begin()) != (*sit).second.end()) { + node = bmtree->Items->AddObject(bmtree->Selected, (*eit).second.c_str(), *bmfiles.insert(bmfiles.begin(), new String(conffile.c_str()))); + AddSection(bookmarks, bmtree, node, (*eit).first.c_str()); + } + } + else bmtree->Items->AddObject(bmtree->Selected, "Personal Bookmarks", *bmfiles.insert(bmfiles.begin(), new String(conffile.c_str()))); + delete bookmarks; +// -------------------------------------------------------------------------- + +// Add all other bookmark files --------------------------------------------- + if (dir = opendir(bmdir.c_str())) { + rewinddir(dir); + while ((ent = readdir(dir))) { + if ((strcmp(ent->d_name, "personal.conf")) && (strcmp(ent->d_name, "."))&& (strcmp(ent->d_name, ".."))) { + conffile = bmdir; + conffile += ent->d_name; + bookmarks = new SWConfig(conffile.c_str()); + if ((sit = bookmarks->Sections.find("ROOT")) != bookmarks->Sections.end()) { + if ((eit = (*sit).second.begin()) != (*sit).second.end()) { // Currently supports only ONE topsection per file because on save, each topsection designates which file to rewrite + node = bmtree->Items->AddObject(bmtree->Selected, (*eit).second.c_str(), *bmfiles.insert(bmfiles.begin(), new String(conffile.c_str()))); + AddSection(bookmarks, bmtree, node, (*eit).first.c_str()); + } + } + delete bookmarks; + } + } + closedir(dir); + } +} + + +__fastcall TBookmarksfrm::~TBookmarksfrm() { + list <String *>::iterator it; + + SaveBookmarks(); + + for (it = bmfiles.begin(); it != bmfiles.end(); it++) + delete *it; +} + + +//--------------------------------------------------------------------------- + +void TBookmarksfrm::AddSection(SWConfig *config, TTreeView *tree, TTreeNode *parent, String section) +{ + SectionMap::iterator sit; + ConfigEntMap::iterator eit; + TTreeNode *node; + + if ((sit = config->Sections.find(section.c_str())) != config->Sections.end()) { + for (eit = (*sit).second.begin(); eit != (*sit).second.end(); eit++) { + node = tree->Items->AddChild(parent, (*eit).second.c_str()); + AddSection(config, tree, node, (*eit).first.c_str()); + } + } +} + + +void __fastcall TBookmarksfrm::bmtreeDragDrop(TObject *Sender, TObject *Source, + int X, int Y) +{ + bmtree->Selected->MoveTo(bmtree->DropTarget, naAddChildFirst); +} +//--------------------------------------------------------------------------- +void __fastcall TBookmarksfrm::bmtreeDragOver(TObject *Sender, TObject *Source, + int X, int Y, TDragState State, bool &Accept) +{ + Accept = false; + + if (String(Source->ClassName()) == "TTreeView") { + if (Source == bmtree) { + if (bmtree->Selected->Data) { + if (strcmp((*(String*)(bmtree->Selected->Data)).c_str(),(bmdir + "personal.conf").c_str())) { + Accept = true; + } + } + else Accept = true; + } + } +} +//--------------------------------------------------------------------------- +void __fastcall TBookmarksfrm::bmtreeDblClick(TObject *Sender) +{ + if (!bmtree->Selected->getFirstChild()) { + Form1->DefaultVSKey = bmtree->Selected->Text.c_str(); + Form1->TextKeyChanged(); + } + +} +//--------------------------------------------------------------------------- +void __fastcall TBookmarksfrm::AddChild1Click(TObject *Sender) +{ + bmtree->Selected->Expand(false); + bmtree->Items->AddChildFirst(bmtree->Selected, "New Topic")->EditText(); +} +//--------------------------------------------------------------------------- +void __fastcall TBookmarksfrm::Delete1Click(TObject *Sender) +{ + if (bmtree->Selected->Data) { + if (strcmp((*(String*)(bmtree->Selected->Data)).c_str(),(bmdir + "personal.conf").c_str())) { + bmtree->Selected->Delete(); + } + } + else bmtree->Selected->Delete(); +} +//--------------------------------------------------------------------------- +void __fastcall TBookmarksfrm::Rename1Click(TObject *Sender) +{ + bmtree->Selected->EditText(); +} +//--------------------------------------------------------------------------- + +void TBookmarksfrm::SaveBookmarks() +{ + TTreeNode *tree = 0; + SWConfig *bmconf; + ConfigEntMap emap; + SectionMap::iterator sit; + char buf[15]; + bool personal, other; + list <String *>::iterator it; + string persfile; + + if (bmtree->Items->Count) + tree = bmtree->Items->Item[0]; + + if ((sit = Form1->optionsconf->Sections.find("Bookmarks")) != Form1->optionsconf->Sections.end()) { + personal = (atoi((*(*sit).second.find("AutoSavePersonal")).second.c_str())) ? true:false; + other = (atoi((*(*sit).second.find("AutoSaveOther")).second.c_str())) ? true:false; + } + + persfile = bmdir + "personal.conf"; + for (it = bmfiles.begin(); it != bmfiles.end(); it++) { // delete all bookmark files before saving in case a top level was deleted + if (((!strcmp((*it)->c_str(), persfile.c_str())) && personal) || ((strcmp((*it)->c_str(), persfile.c_str())) && other)) + unlink((*it)->c_str()); + } + + for (;tree;tree = tree->getNextSibling()) { + if (((*((String *)tree->Data) == persfile.c_str()) && personal) || ((*((String *)tree->Data) != persfile.c_str()) && other)) { + bmconf = new SWConfig(((String *)tree->Data)->c_str()); + emap = bmconf->Sections["ROOT"]; + sprintf(buf, "branch%d", tree->AbsoluteIndex); + emap.erase(buf); emap.insert(ConfigEntMap::value_type(buf, tree->Text.c_str())); + AddSectionToConf(bmconf, buf, tree); + bmconf->Sections["ROOT"] = emap; + bmconf->Save(); + delete bmconf; + } + } +} + + +void TBookmarksfrm::AddSectionToConf(SWConfig *config, String section, TTreeNode *tree) { + ConfigEntMap sit; + char buf[15]; + + if (tree = tree->getFirstChild()) { + sit = config->Sections[section.c_str()]; + for (; tree; tree = tree->getNextSibling()) { + sprintf(buf, "branch%d", tree->AbsoluteIndex); + sit.erase(buf); sit.insert(ConfigEntMap::value_type(buf, tree->Text.c_str())); + AddSectionToConf(config, buf, tree); + } + config->Sections[section.c_str()] = sit; + } +} + +void __fastcall TBookmarksfrm::NewBookmarkFile1Click(TObject *Sender) +{ + if (NewBMfrm->ShowModal() == mrOk) { + bmtree->Items->AddObject(bmtree->Items->Item[0], NewBMfrm->bmtitle->Text, *bmfiles.insert(bmfiles.begin(), new String(String(bmdir.c_str()) + NewBMfrm->bmfile->Text + String(".conf")))); + } +} +//---------------------------------------------------------------------------
\ No newline at end of file diff --git a/apps/windoze/CBuilder4/BibleCS/bookmarkfrm.dfm b/apps/windoze/CBuilder4/BibleCS/bookmarkfrm.dfm Binary files differnew file mode 100644 index 0000000..deb814d --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/bookmarkfrm.dfm diff --git a/apps/windoze/CBuilder4/BibleCS/bookmarkfrm.h b/apps/windoze/CBuilder4/BibleCS/bookmarkfrm.h new file mode 100644 index 0000000..4c37796 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/bookmarkfrm.h @@ -0,0 +1,48 @@ +//--------------------------------------------------------------------------- +#ifndef bookmarkfrmH +#define bookmarkfrmH +//--------------------------------------------------------------------------- +#include <vcl\Classes.hpp> +#include <vcl\Controls.hpp> +#include <vcl\StdCtrls.hpp> +#include <vcl\Forms.hpp> +#include <vcl\ComCtrls.hpp> +#include <swconfig.h> +#include <vcl\Menus.hpp> +#include <list> +//--------------------------------------------------------------------------- +class TBookmarksfrm : public TForm +{ +__published: // IDE-managed Components + TTreeView *bmtree; + TPopupMenu *BMPopup; + TMenuItem *Delete1; + TMenuItem *AddChild1; + TMenuItem *Rename1; + TMenuItem *N1; + TMenuItem *NewBookmarkFile1; + void __fastcall bmtreeDragDrop(TObject *Sender, TObject *Source, int X, int Y); + void __fastcall bmtreeDragOver(TObject *Sender, TObject *Source, int X, int Y, + TDragState State, bool &Accept); + void __fastcall bmtreeDblClick(TObject *Sender); + void __fastcall AddChild1Click(TObject *Sender); + void __fastcall Delete1Click(TObject *Sender); + void __fastcall Rename1Click(TObject *Sender); + void __fastcall NewBookmarkFile1Click(TObject *Sender); +private: // User declarations + void AddSection(SWConfig *config, TTreeView *tree, TTreeNode *parent, String section); + list <String *> bmfiles; // so we can delete each display we create + + +public: // User declarations + string bmdir; + __fastcall TBookmarksfrm(TComponent* Owner); + __fastcall ~TBookmarksfrm(); + void SaveBookmarks(); + void AddSectionToConf(SWConfig *config, String section, TTreeNode *tree); +}; +//--------------------------------------------------------------------------- +extern TBookmarksfrm *Bookmarksfrm; +//--------------------------------------------------------------------------- +#endif +
\ No newline at end of file diff --git a/apps/windoze/CBuilder4/BibleCS/bookmarks/personal.conf b/apps/windoze/CBuilder4/BibleCS/bookmarks/personal.conf new file mode 100644 index 0000000..b4af089 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/bookmarks/personal.conf @@ -0,0 +1,7 @@ + +[ROOT] +branch0=Personal Bookmarks + +[branch0] +branch1=James 1:19 + diff --git a/apps/windoze/CBuilder4/BibleCS/cdstartup/InstallBtn.BMP b/apps/windoze/CBuilder4/BibleCS/cdstartup/InstallBtn.BMP Binary files differnew file mode 100644 index 0000000..1a4cc45 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/cdstartup/InstallBtn.BMP diff --git a/apps/windoze/CBuilder4/BibleCS/cdstartup/RunBtn.BMP b/apps/windoze/CBuilder4/BibleCS/cdstartup/RunBtn.BMP Binary files differnew file mode 100644 index 0000000..dc698d5 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/cdstartup/RunBtn.BMP diff --git a/apps/windoze/CBuilder4/BibleCS/cdstartup/alpha.bmp b/apps/windoze/CBuilder4/BibleCS/cdstartup/alpha.bmp Binary files differnew file mode 100644 index 0000000..8357474 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/cdstartup/alpha.bmp diff --git a/apps/windoze/CBuilder4/BibleCS/cdstartup/cdstartup.bpr b/apps/windoze/CBuilder4/BibleCS/cdstartup/cdstartup.bpr new file mode 100644 index 0000000..8c2df01 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/cdstartup/cdstartup.bpr @@ -0,0 +1,182 @@ +# --------------------------------------------------------------------------- +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +# --------------------------------------------------------------------------- +# IDE SECTION +# --------------------------------------------------------------------------- +# The following section of the project makefile is managed by the BCB IDE. +# It is recommended to use the IDE to change any of the values in this +# section. +# --------------------------------------------------------------------------- + +VERSION = BCB.04.04 +# --------------------------------------------------------------------------- +PROJECT = cdstartup.exe +OBJFILES = cdstartup.obj mainfrm.obj +RESFILES = cdstartup.res +RESDEPEN = $(RESFILES) mainfrm.dfm +LIBFILES = +LIBRARIES = vcl40.lib +SPARELIBS = vcl40.lib +DEFFILE = +PACKAGES = vclx40.bpi vcl40.bpi vcldb40.bpi vcldbx40.bpi ibsmp40.bpi bcbsmp40.bpi \ + dclocx40.bpi qrpt40.bpi teeui40.bpi vclsmp40.bpi teedb40.bpi tee40.bpi \ + dss40.bpi nmfast40.bpi inetdb40.bpi inet40.bpi vclmid40.bpi +# --------------------------------------------------------------------------- +PATHCPP = .; +PATHASM = .; +PATHPAS = .; +PATHRC = .; +DEBUGLIBPATH = $(BCB)\lib\debug +RELEASELIBPATH = $(BCB)\lib\release +SYSDEFINES = NO_STRICT +USERDEFINES = +# --------------------------------------------------------------------------- +CFLAG1 = -I$(BCB)\include;$(BCB)\include\vcl -O2 -Hc -H=$(BCB)\lib\vcl40.csm -w -Ve -a8 \ + -k- -vi -D$(SYSDEFINES);$(USERDEFINES) -c -b- -w-par -w-inl -Vx -tW -tWM +CFLAG2 = +CFLAG3 = +PFLAGS = -U$(BCB)\lib\release;$(BCB)\lib\obj;$(BCB)\lib;$(RELEASELIBPATH) \ + -I$(BCB)\include;$(BCB)\include\vcl -$YD -v -M -JPHNE +RFLAGS = -i$(BCB)\include;$(BCB)\include\vcl +AFLAGS = /i$(BCB)\include /i$(BCB)\include\vcl /mx /w2 /zn /d_RTLDLL +LFLAGS = -L$(BCB)\lib\release;$(BCB)\lib\obj;$(BCB)\lib;$(RELEASELIBPATH) -aa -Tpe -x +IFLAGS = +# --------------------------------------------------------------------------- +ALLOBJ = c0w32.obj $(OBJFILES) +ALLRES = $(RESFILES) +ALLLIB = $(LIBFILES) $(LIBRARIES) import32.lib cp32mt.lib +# --------------------------------------------------------------------------- +!ifdef IDEOPTIONS + +[Version Info] +IncludeVerInfo=1 +AutoIncBuild=0 +MajorVer=1 +MinorVer=4 +Release=5 +Build=0 +Debug=0 +PreRelease=0 +Special=0 +Private=0 +DLL=0 +Locale=1033 +CodePage=1252 + +[Version Info Keys] +CompanyName=CrossWire Software & Bible Society +FileDescription=The SWORD Project CD Installer +FileVersion=1.4.5.0 +InternalName=cdstartup +LegalCopyright=(c) 1998 CrossWire Software under the GNU General Public License +LegalTrademarks= +OriginalFilename= +ProductName=The SWORD Project +ProductVersion=1.4.5 +Comments=Seek Him and you will find Him + +[HistoryLists\hlIncludePath] +Count=1 +Item0=$(BCB)\include;$(BCB)\include\vcl + +[HistoryLists\hlLibraryPath] +Count=1 +Item0=$(BCB)\lib\release;$(BCB)\lib\obj;$(BCB)\lib + +[HistoryLists\hlDebugSourcePath] +Count=1 +Item0=$(BCB)\source\vcl + +[Debugging] +DebugSourceDirs=$(BCB)\source\vcl + +[Parameters] +RunParams= +HostApplication= +RemoteHost= +RemotePath= +RemoteDebug=0 + +[Compiler] +InMemoryExe=0 +ShowInfoMsgs=0 + +!endif + +# --------------------------------------------------------------------------- +# MAKE SECTION +# --------------------------------------------------------------------------- +# This section of the project file is not used by the BCB IDE. It is for +# the benefit of building from the command-line using the MAKE utility. +# --------------------------------------------------------------------------- + +.autodepend +# --------------------------------------------------------------------------- +!if !$d(BCC32) +BCC32 = bcc32 +!endif + +!if !$d(DCC32) +DCC32 = dcc32 +!endif + +!if !$d(TASM32) +TASM32 = tasm32 +!endif + +!if !$d(LINKER) +LINKER = ilink32 +!endif + +!if !$d(BRCC32) +BRCC32 = brcc32 +!endif +# --------------------------------------------------------------------------- +!if $d(PATHCPP) +.PATH.CPP = $(PATHCPP) +.PATH.C = $(PATHCPP) +!endif + +!if $d(PATHPAS) +.PATH.PAS = $(PATHPAS) +!endif + +!if $d(PATHASM) +.PATH.ASM = $(PATHASM) +!endif + +!if $d(PATHRC) +.PATH.RC = $(PATHRC) +!endif +# --------------------------------------------------------------------------- +$(PROJECT): $(OBJFILES) $(RESDEPEN) $(DEFFILE) + $(BCB)\BIN\$(LINKER) @&&! + $(LFLAGS) $(IFLAGS) + + $(ALLOBJ), + + $(PROJECT),, + + $(ALLLIB), + + $(DEFFILE), + + $(ALLRES) +! +# --------------------------------------------------------------------------- +.pas.hpp: + $(BCB)\BIN\$(DCC32) $(PFLAGS) {$< } + +.pas.obj: + $(BCB)\BIN\$(DCC32) $(PFLAGS) {$< } + +.cpp.obj: + $(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< } + +.c.obj: + $(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< } + +.asm.obj: + $(BCB)\BIN\$(TASM32) $(AFLAGS) $<, $@ + +.rc.res: + $(BCB)\BIN\$(BRCC32) $(RFLAGS) -fo$@ $< +# --------------------------------------------------------------------------- diff --git a/apps/windoze/CBuilder4/BibleCS/cdstartup/cdstartup.cpp b/apps/windoze/CBuilder4/BibleCS/cdstartup/cdstartup.cpp new file mode 100644 index 0000000..9f2f8c7 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/cdstartup/cdstartup.cpp @@ -0,0 +1,21 @@ +//--------------------------------------------------------------------------- +#include <vcl.h> +#pragma hdrstop +USERES("cdstartup.res"); +USEFORM("mainfrm.cpp", Form1); +//--------------------------------------------------------------------------- +WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) +{ + try + { + Application->Initialize(); + Application->CreateForm(__classid(TForm1), &Form1); + Application->Run(); + } + catch (Exception &exception) + { + Application->ShowException(&exception); + } + return 0; +} +//--------------------------------------------------------------------------- diff --git a/apps/windoze/CBuilder4/BibleCS/cdstartup/cdstartup.res b/apps/windoze/CBuilder4/BibleCS/cdstartup/cdstartup.res Binary files differnew file mode 100644 index 0000000..ad713e3 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/cdstartup/cdstartup.res diff --git a/apps/windoze/CBuilder4/BibleCS/cdstartup/html/Alpha/index.html b/apps/windoze/CBuilder4/BibleCS/cdstartup/html/Alpha/index.html new file mode 100644 index 0000000..698fea2 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/cdstartup/html/Alpha/index.html @@ -0,0 +1,246 @@ +<HTML> +<HEAD> + <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> + <META NAME="Author" CONTENT="Scribe"> + <META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; I) [Netscape]"> + <TITLE>The SWORD Project: ALPHA Test Program</TITLE> +</HEAD> +<BODY> +Problems/Bugs found on the ALPHA distribution; +<TABLE BORDER WIDTH="100%" > +<TR> +<TD><B>Problem</B></TD> + +<TD><B>Distributions Affected</B></TD> + +<TD><B>Comments / Workaround</B></TD> +</TR> + +<TR> +<TD>Why won't my greek text show up GREEK!</TD> + +<TD>All</TD> + +<TD>I don't know how to install fonts via InstallShield. Any help +would be appreciated. To workaround this problem: +<BR>Go to Windows Control Panel; double-click the Fonts icon; from the +menu choose: File|Install New Font...; browse (on the CD) to sword\modules\texts\rawtext\nu; +select the font therein. REBOOT</TD> +</TR> +</TABLE> +Click <A HREF="mailto:sword-bugs@crosswire.org">here</A> to report bugs +<BR>Click <A HREF="mailto:sword-feedback@crosswire.org">here</A> to send +comments +<BR>Click here to enter the Java-based bug reporting tool. [Not implemented +yet] +<BR> +<BR> + +<P><B><FONT SIZE=+2>Download</FONT></B> +<UL><A HREF="sword.exe">sword.exe</A> (v0.1.4; 716,800 bytes; 04-Mar-1998) +GUI frontend (Latest changes below) +<UL><A HREF="options.conf">options.conf</A> Put this +file in the same directory as <B>sword.exe</B> +<BR>Create a subdirectory called <B>bookmarks</B> under the same directory +as <B>sword.exe</B>. Put these files there. +<UL><A HREF="wtbsa.conf">wtbsa.conf</A> example custom +bookmarks +<BR><A HREF="getsaved.conf">getsaved.conf</A> example +custom bookmarks</UL> +</UL> +</UL> + +<TABLE BORDER WIDTH="100%" > +<TR> +<TD><B>Date</B></TD> + +<TD><B>Description</B></TD> + +<TD><B>Ref.</B></TD> +</TR> + +<TR> +<TD>04-Mar-1998</TD> + +<TD>Added Directory= option in the Bookmarks section of options.conf allowing +a custom location (to accommodate bookmark saves when running from CDROM)</TD> + +<TD></TD> +</TR> + +<TR> +<TD>04-Mar-1998</TD> + +<TD>Handled creation of bookmarks directory if it does not exist</TD> + +<TD></TD> +</TR> + +<TR> +<TD>04-Mar-1998</TD> + +<TD>Added restrictions to Personal Bookmarks in the Edit Bookmarks tree</TD> + +<TD></TD> +</TR> + +<TR> +<TD>26-Feb-1998b</TD> + +<TD>Enabled Statusbar and added some hint texts to a few controls</TD> + +<TD></TD> +</TR> + +<TR> +<TD>26-Feb-1998b</TD> + +<TD>Stretched controls to prevent clipping of text</TD> + +<TD>Hastings, J</TD> +</TR> + +<TR> +<TD>26-Feb-1998</TD> + +<TD>Changed Book DropDown to DropDownList and reset CH and VS on change</TD> + +<TD>Williams, +<BR>Hastings, J</TD> +</TR> + +<TR> +<TD>26-Feb-1998</TD> + +<TD>Added Greek2Greek patch</TD> + +<TD>Dicks</TD> +</TR> + +<TR> +<TD>25-Feb-1998</TD> + +<TD>Added Options Screen (need file: options.conf)</TD> + +<TD>Moore</TD> +</TR> + +<TR> +<TD>25-Feb-1998</TD> + +<TD>Added Bookmarks (need directory ./bookmarks)</TD> + +<TD></TD> +</TR> + +<TR> +<TD>25-Feb-1998</TD> + +<TD>Added stable Back Button routines</TD> + +<TD></TD> +</TR> + +<TR> +<TD>25-Feb-1998</TD> + +<TD>Added Search Button</TD> + +<TD></TD> +</TR> + +<TR> +<TD>25-Feb-1998</TD> + +<TD>Added CTRL-<0--9> and CTRL-SHIFT-<0..9> temporary StateMarks</TD> + +<TD>Kingery</TD> +</TR> + +<TR> +<TD>19-Feb-1998</TD> + +<TD>Added William Dicks Greek2Greek functions and right-click option from +NU module to access.</TD> + +<TD>Dicks</TD> +</TR> + +<TR> +<TD>19-Feb-1998</TD> + +<TD>Added Back Button and routines</TD> + +<TD></TD> +</TR> + +<TR> +<TD>27-Jan-1998</TD> + +<TD>Added support to rawld.cpp to pad all numeric keys to 5 digits to support +Strongs numbers</TD> + +<TD></TD> +</TR> + +<TR> +<TD>27-Jan-1998</TD> + +<TD>Autoselect current word on dictionary lookup if no text is highlighted</TD> + +<TD></TD> +</TR> + +<TR> +<TD>30-Dec-1997</TD> + +<TD>Added spin buttons to verse lookup controls</TD> + +<TD>Hastings</TD> +</TR> + +<TR> +<TD>30-Dec-1997</TD> + +<TD>Added count to search window</TD> + +<TD>Hastings</TD> +</TR> + +<TR> +<TD>30-Dec-1997</TD> + +<TD>Added preview control to search window</TD> + +<TD>Hastings</TD> +</TR> + +<TR> +<TD>30-Dec-1997</TD> + +<TD>Always sync. verse lookup controls to current verse</TD> + +<TD>Hastings</TD> +</TR> +</TABLE> + + +<P><B>Utility Programs</B> +<UL><A HREF="olb2sword.exe">olb2sword.exe</A> (96,256 bytes; 22-Jan-1998) +Used to create a SWORD module from an installed OLB Bible text.</UL> + +<BR><B>Modules</B> +<UL><A HREF="ftp://ftp.crosswire.org/private/n27u4.zip">n27u4.zip</A> (1,081,986 +bytes; 28-Jan-1998) Nestle-Aland 27th ed. / United Bible Society 4th ed. +Greek New Testament. +<BR><A HREF="ftp://ftp.crosswire.org/private/OrthJBC.zip">OrthJBC.zip</A> +(1,387,695 bytes; 07-Feb-1998) The Orthodox Jewish Brit Chadasha New Testament. +<BR><A HREF="ftp://ftp.crosswire.org/private/vines.zip">vines.zip</A> (2,166,895 +bytes; 07-Feb-1998) Vines Bible Dictionary.</UL> + +<HR WIDTH="100%"> +<BR><A HREF="http://www.crosswire.org">CrossWire Software and Communications</A> +homepage +<BR><A HREF="http://www.bf.org">The Bible Foundation</A> homepage +</BODY> +</HTML> diff --git a/apps/windoze/CBuilder4/BibleCS/cdstartup/html/alpha.html b/apps/windoze/CBuilder4/BibleCS/cdstartup/html/alpha.html new file mode 100644 index 0000000..6a8ec1a --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/cdstartup/html/alpha.html @@ -0,0 +1,28 @@ +<HTML> +<HEAD> + <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> + <META NAME="Author" CONTENT="Scribe"> + <META NAME="GENERATOR" CONTENT="Mozilla/4.04b9 [en] (WinNT; I) [Netscape]"> + <TITLE>The SWORD Project ALPHA Test Site</TITLE> +</HEAD> +<BODY> + +<CENTER><A HREF="http://www.crosswire.org/ALPHAcckswwlkrfre22034820285912"><IMG SRC="swordalpha.JPG" HEIGHT=238 WIDTH=606></A></CENTER> +Thank you for your contribution to The SWORD Project. Our goal to +make quality study software freely available to our generation is one that +we hope you also share. As a contributor or alpha tester, access +is provided to a website were you will be able to share your thoughts, +ideas, criticisms, and thanks with others also involved at this early stage. +The latest versions of software will also be made available at this site. + +<P><B>Important: </B>Please remember, as parts of the project are still +in an alpha stage, public distribution of these sources is not allowed. +As modules are approved by their owners/authors they will be promoted to +public BETA status. ALPHA distributions contain <I>tentative</I> +resources. Permission to distribute these resources may not have +been secured from their owners/authors in spite of what the module's <I>tentative</I> +comments may say. + +<P>To proceed to the alpha test site, click on the image above. +</BODY> +</HTML> diff --git a/apps/windoze/CBuilder4/BibleCS/cdstartup/html/swordalpha.JPG b/apps/windoze/CBuilder4/BibleCS/cdstartup/html/swordalpha.JPG Binary files differnew file mode 100644 index 0000000..9dce00f --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/cdstartup/html/swordalpha.JPG diff --git a/apps/windoze/CBuilder4/BibleCS/cdstartup/mainfrm.cpp b/apps/windoze/CBuilder4/BibleCS/cdstartup/mainfrm.cpp new file mode 100644 index 0000000..f40b559 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/cdstartup/mainfrm.cpp @@ -0,0 +1,48 @@ +//--------------------------------------------------------------------------- +#include <vcl\vcl.h> +#pragma hdrstop + +#include "mainfrm.h" +#include <shellapi.h> +//--------------------------------------------------------------------------- +#pragma resource "*.dfm" +TForm1 *Form1; +//--------------------------------------------------------------------------- +__fastcall TForm1::TForm1(TComponent* Owner) + : TForm(Owner) +{ +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::BitBtn1Click(TObject *Sender) +{ + WinExec(".\\setup.exe", SW_SHOWNORMAL); +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::BitBtn2Click(TObject *Sender) +{ + WinExec(".\\sword.exe", SW_SHOWNORMAL); +// ShellExecute(this->Handle, "open", "sword.exe", NULL, ".\\", SW_SHOWNORMAL); +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::FormShow(TObject *Sender) +{ +// AddFontResource("\\sword\\modules\\texts\\rawtext\\nu\\greek.ttf"); +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::BitBtn3Click(TObject *Sender) +{ + ShellExecute(this->Handle, "open", "http://www.crosswire.org", NULL, NULL, SW_SHOWNORMAL); +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::BitBtn4Click(TObject *Sender) +{ + ShellExecute(this->Handle, "open", ".\\", NULL, NULL, SW_SHOWNORMAL); +} +//--------------------------------------------------------------------------- + +void __fastcall TForm1::BitBtn5Click(TObject *Sender) +{ + WinExec(".\\fonts\\setup.exe", SW_SHOWNORMAL); +} +//--------------------------------------------------------------------------- + diff --git a/apps/windoze/CBuilder4/BibleCS/cdstartup/mainfrm.dfm b/apps/windoze/CBuilder4/BibleCS/cdstartup/mainfrm.dfm Binary files differnew file mode 100644 index 0000000..d001498 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/cdstartup/mainfrm.dfm diff --git a/apps/windoze/CBuilder4/BibleCS/cdstartup/mainfrm.h b/apps/windoze/CBuilder4/BibleCS/cdstartup/mainfrm.h new file mode 100644 index 0000000..ba10380 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/cdstartup/mainfrm.h @@ -0,0 +1,37 @@ +//--------------------------------------------------------------------------- +#ifndef mainfrmH +#define mainfrmH +//--------------------------------------------------------------------------- +#include <vcl\Classes.hpp> +#include <vcl\Controls.hpp> +#include <vcl\StdCtrls.hpp> +#include <vcl\Forms.hpp> +#include <vcl\ExtCtrls.hpp> +#include <vcl\Buttons.hpp> +#include <Graphics.hpp> +//--------------------------------------------------------------------------- +class TForm1 : public TForm +{ +__published: // IDE-managed Components + TImage *Image1; + TBitBtn *BitBtn1; + TBitBtn *BitBtn2; + TLabel *Label1; + TBitBtn *BitBtn3; + TBitBtn *BitBtn4; + TBitBtn *BitBtn5; + void __fastcall BitBtn1Click(TObject *Sender); + void __fastcall BitBtn2Click(TObject *Sender); + void __fastcall FormShow(TObject *Sender); + void __fastcall BitBtn3Click(TObject *Sender); + void __fastcall BitBtn4Click(TObject *Sender); + void __fastcall BitBtn5Click(TObject *Sender); +private: // User declarations +public: // User declarations + __fastcall TForm1(TComponent* Owner); +}; +//--------------------------------------------------------------------------- +extern TForm1 *Form1; +//--------------------------------------------------------------------------- +#endif +
\ No newline at end of file diff --git a/apps/windoze/CBuilder4/BibleCS/cdstartup/sword.bmp b/apps/windoze/CBuilder4/BibleCS/cdstartup/sword.bmp Binary files differnew file mode 100644 index 0000000..a0266b1 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/cdstartup/sword.bmp diff --git a/apps/windoze/CBuilder4/BibleCS/cdstartup/swordalpha.BMP b/apps/windoze/CBuilder4/BibleCS/cdstartup/swordalpha.BMP Binary files differnew file mode 100644 index 0000000..f60b75b --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/cdstartup/swordalpha.BMP diff --git a/apps/windoze/CBuilder4/BibleCS/cdstartup/swordalpha.JPG b/apps/windoze/CBuilder4/BibleCS/cdstartup/swordalpha.JPG Binary files differnew file mode 100644 index 0000000..f4424f2 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/cdstartup/swordalpha.JPG diff --git a/apps/windoze/CBuilder4/BibleCS/confsafe/getsaved.conf b/apps/windoze/CBuilder4/BibleCS/confsafe/getsaved.conf new file mode 100644 index 0000000..4b7b7b3 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/confsafe/getsaved.conf @@ -0,0 +1,10 @@ + +[ROOT] +branch1=What's God all about anyway? + +[branch1] +branch2=Romans 3:23 +branch3=Romans 6:23 +branch4=John 3:16 +branch5=I John 1:9 + diff --git a/apps/windoze/CBuilder4/BibleCS/confsafe/mods.conf b/apps/windoze/CBuilder4/BibleCS/confsafe/mods.conf new file mode 100644 index 0000000..f2e87ed --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/confsafe/mods.conf @@ -0,0 +1,304 @@ +[Globals] +AutoInstall=./newmods/ + +[Websters] +DataPath=../../../../modules/texts/rawtext/websters/ +ModDrv=RawText +Description=The Webster Bible +About= -=+* see the files 'intro.txt' and 'revision.txt' for more details *+=-\par\par \ +\qc THE \par HOLY BIBLE, \par CONTAINING THE \par OLD AND NEW TESTAMENTS, \par IN THE \par \ +COMMON VERSION. \par WITH \par AMENDMENTS OF THE LANGUAGE, \par \ +BY NOAH WEBSTER, LL. D. \par\par ------------- \par NEW HAVEN: \par \ +PUBLISHED BY DURRIE & PECK. \par \ +Sold by HEZEKIAH HOWE & CO., and A. H. MALTBY, New Haven; \par \ +and by N.&J. WHITE, New York. \par\par ------ \par 1833 \par\par \ +Webster Bible Electronic Format.\par \ +PUBLIC DOMAIN\par\par \ +February 1992\par\par\pard \ +Webster Biography:\par \ +Noah Webster: America's first grammarian and founding father of American education.\par\par \ + In 1828 Noah Webster published the 'American Dictionary of the English Language'. This \ +dictionary demonstrates the Christian values which were found in America's educational \ +and scholarly systems. It is from this early dictionary that we have todays popular \ +'Webster Dictionary'. In 1833 Noah Webster, who had mastered 20 languages including \ +Hebrew and Greek, published the King James Authorized Version 'with amendments to the \ +language'. In stating his reasons for producing this version of the Bible, Webster said:\par\par \ + 'In the present version, the language is, in general, correct and perspicuous; \ +... in many passages uniting sublimity with beautiful simplicity. In my view, the general \ +style of the version ought not to be altered. But, in the lapse of two or three centuries, \ +changes have taken place, which, in particular passages, impair the beauty; in others, \ +obscure the sense, of the original languages. ... they do not present to the reader \ +the Word of God. ... My principal aim is to remedy this evil.'\par\par \ +It was with cautious reverence that Webster corrected misused grammar, removed offensive \ +terms and expressions, and substituted commonly understood words for words that had fallen \ +into disuse, or no longer carried the same meaning.\par\par\ + In 1834, the year after completing the Webster Bible, Noah Webster wrote a \ +companion piece titled 'Value of the Bible and Excellence of the Christian Religion - For \ +the Use of Families and Schools'.\par\par\ + Webster, who was considered 'The schoolmaster to a nation' and produced the \ +earliest spellers and textbooks for America's school children, believed Christian religious \ +values and American public education to be inseparable. He believed the Webster Bible to \ +be 'the most important enterprise' of his life, and referred to the Bible as:\par\par \ + '... the chief moral cause of all that is good, and the best corrector of all that \ +is evil, in human society; the best book for regulating the temporal concerns of men, and \ +the only book that can serve as an infallible guide to future felicity.'\par\par \ +Introduction to the Electronic Format:\par \ + Beginning in July of 1991 the task of placing the Webster Bible text in electronic \ +format began. The original purpose was to provide Larry Pierce, who produces the \ +On-Line Bible program, with a more modern *public domain* text, similar in content and \ +style to the AV but with a grammar that would provide better comprehension in todays \ +English.\par\par\ + I plan on maintaining an accurate copy of the Webster text. Anyone finding an \ +error should contact me; Anyone desiring to obtain the latest, most correct text, can find \ +it on the Bible Foundation BBS, or can contact me in the following methods:\par \ + Internet acus10@waccvm.corp.mot.com\par \ + Home phone 602-829-8542\par \ + Address Mark Fuller\par \ + 1129 East Loyola Drive\par \ + Tempe Arizona, 85282\par \ + Bible Foundation http://www.bf.org\par\par \ + I would like to thank the Bible Foundation not only for scanning nearly the entire \ +Webster Bible but for encouraging me to undertake this monumental work; particularly around \ +page 20 when I realized what I had gotten myself into. Special thanks to Jerry Kingery of \ +the Bible Foundation for scanning, and Jerry Hastings for doing some preliminary scan \ +cleaning and making the texts available on the BBS. + + +[Sve] +DataPath=../../../../modules/texts/rawtext/sve/ +ModDrv=RawText +Description=Swedish Bible 1917 New Testament +About=\qc BIBELN eller DEN HELIGA SKRIFT \par innehållande \par \ +NYA TESTAMENTETS KANONISKA BÖCKER \par i överensstämmelse med den av \par \ +KONUNGEN ÅR 1917 \par gillade och stadfästa översättningen \par\par \ +THE BIBLE or THE HOLY SCRIPT \par containing \par CANONICAL BOOKS OF NEW TESTAMENT \par \ +in conformity with that of \par THE KING YEAR 1917 \par \ +liked and confirmed translation \par\par\pard \ + Thank you to Roland Nygren for making this work available. For the latest \ +information, to report corrections, or for other correspondence: \par\par \ + Roland Nygren \par \ + qtxrony@aom.ericsson.se + +[VNT] +DataPath=../../../../modules/texts/rawtext/vnt/ +ModDrv=RawText +Description=Valera 1858 Spanish New Testament Text +About=\qc-=+* see the file 'intro.rtf' for more details *+=- \par\par \ +El \par NUEVO TESTAMENTO \par DE \par NUESTRO SEÑOR JESU-CRISTO \par \ +QUE CONTIENE \par LOS ESCRITOS EVANGÉLICOS Y APOSTÓLICOS \par \ +ANTIGUA VERSION DE CIPRIANO DE VALERA \par REVISADA \par \ +Con arreglo al original griego. \par MADRID \par \ +SE HALLA EN EL DEPÓSITO CENTRAL DE LA SOCIEDAD BÍBLICA B. Y E. \par \ +Calle de Preciados, número 46. \par 1884 \par EL SANTO EVANGELIO \par DE \par \ +NUESTRO SEÑOR JESU-CRISTO \par SEGUN \par SAN MATEO. \par\par \pard \ + Thank you to Bill Kincaid for making this work available. \ +This New Testament text (Valera 1858) was downloaded from The Word of God in \ +Spanish: Valera 1909 web site. (http://www.west.ga.net/~ForHim/word.html) This text is not \ +copyrighted, you are free to distribute it as you wish. We only ask out of respect for the \ +work we invested in bringing you this text (Finding, scanning, and proofing.), that you \ +leave this notice and the following introduction ([see the file intro.rtf]) in any copies \ +that you might make publish on the Internet. If you have any questions or comments please \ +contact: mnj@acnet.net \par\par \ + Este texto del Nuevo Testamento (Valera 1858) fue bajado del la pagina de \ +web: La Palabra de Dios en Español: Valera 1909. (http://www.west.ga.net/~ForHim/word.html) \ + Este texto no tiene derechos reservados, puedes distribuirlo como quieres. Solamente \ +pedimos que por respeto del trabajo que invertimos en dándote este texto (Encontrando, \ +escaneando, y corrigiendo.), que dejes esta noticia y la siguiente introducción \ +(FILE: intro.rtf) en cualquier copia que publicas sobre el Internet. Si tienes cualquier \ +pregunta o comentario por favor escribe a: mnj@acnet.net. + + +[MHC] +DataPath=../../../../modules/comments/rawcom/mhc/ +ModDrv=RawCom +Description=Matthew Henry's Commentary on the Whole Bible +About=\qc Matthew Henry's \par Concise Commentary on the Whole Bible \par\par \ +Public Domain--Copy Freely. \par\par\pard \ + This text matches the printed edition as published by Moody Press, 28th printing, \ +no Copyright displayed. ISBN: 0-8024-5190-X. This text was created from an existing \ +electronic copy, with roughly 1200 errors corrected. The current files can be \ +found at: \par\par \ + The Bible Foundation, \par \ + http://www.bf.org \par\par \ + If any errors are located, please notify me at the above BBS, or at: \par\par \ + Mark Fuller \par \ + 1129 E. Loyola Dr. \par \ + Tempe, Az. 85282 \par \ + (602) 829-8542 + + +[RWP] +DataPath=../../../../modules/comments/rawcom/rwp/ +ModDrv=RawCom +Description=Robertson's Word Pictures +About=\qc -=+* see the files 'about.txt', 'title.pg', 'rwp.int', 'read.me', and \ +'correct.txt' for more details *+=- \par\par \ + Robertson's \par Word Pictures in the \par New Testament \par\par \ +A.T. Robertson, A.M., D.D., LL. D., Litt.D. \par\par\pard \ +Vol 1,2,3,4 Public Domain -- Copy Freely \par\par Volume 5 (c) 1932. \par \ +Renewal 1960 Broadman Press. All rights reserved. \par Used by permission. \par \ +[Copyright expires Dec. 31, 2006.] \par\par Volume 6 (c) 1933. \par \ +Renewal 1960 Broadman Press. All rights reserved. \par Used by permission. \par \ +[Copyright expires Dec. 31, 2007.] \par\par \ ++--------------- Copy Freely --------------+ \par\par \ + The current files can be found at: \par\par \ + The Bible Foundation, \par \ + http://www.bf.org \par\par \ + If any errors are located, please notify me at the above location, or at: \par\par \ + Mark Fuller \par \ + 1129 E. Loyola Dr. \par \ + Tempe, Az. 85282 \par \ + (602) 829-8542 + + +[Eastons] +DataPath=../../../../modules/lexdict/rawld/eastons/eastons +ModDrv=RawLD +Description=Easton's Bible Dictionary +About=\qc Easton's 1897 Bible Dictionary \par\par \ +Public Domain -- Copy Freely \par\par\pard \ + These Dictionary topics are from M.G. Easton M.A., D.D., Illustrated Bible \ +Dictionary, Third Edition, published by Thomas Nelson, 1897. Due to the nature of etext, \ +the illustrated portions of the Dictionary have not been included. \par\par \ + The most current and correct copies of these files can be obtained from the \ +following. If any errors are located, please ensure you have the latest files, and if so, \ +we would appreciate being informed of the error. \par\par \ + The Bible Foundation \par \ + http://www.bf.org \par\par \ + Or by contacting: \par\par \ + Mark Fuller \par \ + 1129 East Loyola Drive \par \ + Tempe, Arizona, 85282 \par \ + 602-829-8542 (voice) + +[Vines] +DataPath=../../../../modules/lexdict/rawld/vines/vines +ModDrv=RawLD +Description=Vines Bible Dictionary +About=\qc Vine's Expository Dictionary \par of New Testament Words \par\par \ +Public Domain -- Copy Freely \par\par\pard \ + These Dictionary topics are from W.E. Vine's M.A., Expository Dictionary of New Testament \ +Words published in 1940 and without copyright. \par\par \ + The most current and correct copies of these files can be obtained from the \ +following. If any errors are located, please ensure you have the latest files, and if so, \ +we would appreciate being informed of the error. \par\par \ + The Bible Foundation \par \ + http://www.bf.org \par\par \ + Or by contacting: \par\par \ + Mark Fuller \par \ + 1129 East Loyola Drive \par \ + Tempe, Arizona, 85282 \par \ + 602-829-8542 (voice) + + +[Strongs Hebrew (OT)] +DataPath=../../../../modules/lexdict/rawld/strongs/hebrew +ModDrv=RawLD +Description=Strong's / Englishman's Hebrew Bible Dictionary +About=\qc Strong's / Englishman's Bible Dictionary \par\par \pard \ +This is a lexicon of Hebrew words keyed off of Strong's numbers. + +[Strongs Greek (NT)] +DataPath=../../../../modules/lexdict/rawld/strongs/greek +ModDrv=RawLD +Description=Strong's / Englishman's Greek Bible Dictionary +About=\qc Strong's / Englishman's Bible Dictionary \par\par \pard \ +This is a lexicon of Greek words keyed off of Strong's numbers. + + + +[WEB] +DataPath=../../../../modules/texts/rawgbf/web/ +ModDrv=RawGBF +Description=The World English Bible +About= -=+* see the file 'info.txt' for more details *+=-\par\par \ +\qc The World English Bible (WEB) \par\par Public Domain \par\par \pard \ + The World English Bible is a 1997 revision of the American Standard Version of the \ +Holy Bible, first published in 1901. It is in the Public Domain. Please feel free to copy \ +and distribute it freely. \par\par \ + Thank you to Michael Paul Johnson for making this work available. For the latest \ +information, to report corrections, or for other correspondence: \par\par \ + Michael Paul Johnson \par \ + http://www.ebible.org/bible \par \ + mpj@ebible.org + + +[ORTHJBC] +DataPath=../../../../modules/texts/rawtext/orthjbc/ +ModDrv=RawText +Description=The Orthodox Jewish Brit Chadasha +About= \qc THE ORTHODOX JEWISH BRIT CHADASHA \par\par \pard \ + A translation from the original language without goyishe and non-frum \ +terminology. \par\par \ +(C)COPYRIGHT, 1996, ARTISTS FOR ISRAEL INTERNATIONAL \par \ +ALL RIGHTS RESERVED \par \ +USED BY PERMISSION \par\par \ + Thank you to Dr. Phil Goble for making this work available. This work is NOT in \ +the public domain. Please honor all applicable copyright laws. Permission to distribute \ +this text in its present electronic format for personal use has been granted by the \ +copyright holder. \par\par \ + Please direct all correspondence to: \par\par \ + Artists for Israel International \par \ + http://www.afii.org \par \ + P. O. Box 2056 \par \ + New York, NY 10163 + + + +[N27U4] +DataPath=../../../../modules/texts/rawtext/nu/ +ModDrv=RawText +Font=Greek +Description=Nestle Aland 27th Ed./ UBS 4th Ed. Greek Text +About= \qc Thank you to Barbara Aland, Kurt Aland, Johannes Karavidopoulos, Carlo M. \ +Martini, and Bruce M. Metzger for bringing this work to us. \par\par \pard \ +GREEK.TTF Greek Regular Font (C) Peter J. Gentry & Andrew M. Fountain, 1993. All Rights \ +Reserved. Special thanks to the copyright holders for permission to use these fonts with \ +The SWORD Project for personal use. For a complete list of Greek / Hebrew Utilities or \ +inquiries for other use may be directed to: \par\par \ + Peter J. Gentry \par \ + 55 Ambercroft Blvd. \par \ + Scarborough \par \ + Ontario, Canada \par \ + M1W 2Z6 + + +[KJV] +DataPath=../../../../modules/texts/rawtext/kjv/ +ModDrv=RawText +Description=King James Version of 1611 +About= -=+* see the file 'kjvpref.rtf' for more details *+=-\par\par \ + This is the King James Version of the Holy Bible (also known as the Authorized \ +Version) in Rich Text Format (among others, italics and red included). The preface from \ +the translators is in KJVPREF.RTF. These files are in the Public Domain. \par\par \ + May God bless you as you study His Word. \par \ + Michael Paul Johnson \par \ + Sysop, Colorado Catacombs BBS (303-772-1062) \par \ + email: mpj@csn.net \par \ + http://www.csn.net/~mpj + + + +[KJVSTR] +DataPath=../../../../modules/texts/rawtext/kjvstr/ +ModDrv=RawText +Description=King James Version of 1611 w/ Strongs Numbers +About= This is the King James Version of the Holy Bible (also known as the Authorized \ +Version) with embedded Strong's Numbers. This makes useful for looking up the exact \ +original language word in a lexicon that is keyed off of Strong's numbers. + + +[FrenchLSG] +DataPath=../../../../modules/texts/rawgbf/frenchlsg/ +ModDrv=RawGBF +Description=French 1910 Louis Segond Version +About=The 1910 edition of the Louis Segond Bible is keyed to Strong's numbers. \ +All this material may be freely copied and shared with your friends. \ +If you wish to use this material for other purposes, please contact: \par\par \ + Stg. Publishare \par \ + c/o Transvaalstraat 5 \par \ + 3312 EX DORDRECHT \par \ + The Netherlands \par\par \ +to obtain the latest accurate copy. The Englishman Strong's numbers are \ +not in the public domain and any commercial use requires a licence. + diff --git a/apps/windoze/CBuilder4/BibleCS/confsafe/wtbsa.conf b/apps/windoze/CBuilder4/BibleCS/confsafe/wtbsa.conf new file mode 100644 index 0000000..55faa41 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/confsafe/wtbsa.conf @@ -0,0 +1,18 @@ + +[ROOT] +branch6=What the Bible Says About... + +[branch10] +branch11=Mark 12:25 +branch12=Matthew 22:30 + +[branch6] +branch7=Mormonism + +[branch7] +branch10=Will We Be Married In Heaven? +branch8=Are There Other Gods Besides YHWH? + +[branch8] +branch9=Isaiah 44:8 + diff --git a/apps/windoze/CBuilder4/BibleCS/ddetest/DDEClientForm.cpp b/apps/windoze/CBuilder4/BibleCS/ddetest/DDEClientForm.cpp new file mode 100644 index 0000000..4024da2 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/ddetest/DDEClientForm.cpp @@ -0,0 +1,46 @@ +//--------------------------------------------------------------------------- +#include <vcl\vcl.h> +#pragma hdrstop + +#include "DDEClientForm.h" +//--------------------------------------------------------------------------- +#pragma resource "*.dfm" +TForm1 *Form1; +//--------------------------------------------------------------------------- +__fastcall TForm1::TForm1(TComponent* Owner) + : TForm(Owner) +{ +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::Button1Click(TObject *Sender) +{ + if (DdeClientConv1->SetLink("sword","Bible")) { + Application->MessageBox("DDE Link Successful!","DDE Information",MB_OK); + DdeClientItem1->DdeItem = "Lookup"; + DdeClientItem2->DdeItem = "Search"; + } + else { + MessageBox(Handle,"DDE Link Unsuccessful","DDE Information", MB_OK | MB_ICONERROR); + } +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::DdeClientItem1Change(TObject *Sender) +{ + Memo1->Text = DdeClientItem1->Text; +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::DdeClientItem2Change(TObject *Sender) +{ + Memo2->Text = DdeClientItem2->Text; +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::Button2Click(TObject *Sender) +{ + DdeClientConv1->PokeData("Lookup", Edit1->Text.c_str()); +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::Button3Click(TObject *Sender) +{ + DdeClientConv1->PokeData("Search", Edit2->Text.c_str()); +} +//---------------------------------------------------------------------------
\ No newline at end of file diff --git a/apps/windoze/CBuilder4/BibleCS/ddetest/DDEClientForm.dfm b/apps/windoze/CBuilder4/BibleCS/ddetest/DDEClientForm.dfm Binary files differnew file mode 100644 index 0000000..b964701 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/ddetest/DDEClientForm.dfm diff --git a/apps/windoze/CBuilder4/BibleCS/ddetest/DDEClientForm.h b/apps/windoze/CBuilder4/BibleCS/ddetest/DDEClientForm.h new file mode 100644 index 0000000..6f23c5f --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/ddetest/DDEClientForm.h @@ -0,0 +1,41 @@ +//--------------------------------------------------------------------------- +#ifndef DDEClientFormH +#define DDEClientFormH +//--------------------------------------------------------------------------- +#include <vcl\Classes.hpp> +#include <vcl\Controls.hpp> +#include <vcl\StdCtrls.hpp> +#include <vcl\Forms.hpp> +#include <vcl\DdeMan.hpp> +#include <vcl\ExtCtrls.hpp> +//--------------------------------------------------------------------------- +class TForm1 : public TForm +{ +__published: // IDE-managed Components + TDdeClientConv *DdeClientConv1; + TPanel *Panel1; + TMemo *Memo1; + TMemo *Memo2; + TPanel *Panel2; + TEdit *Edit1; + TButton *Button1; + TButton *Button2; + TButton *Button3; + TEdit *Edit2; + TDdeClientItem *DdeClientItem1; + TDdeClientItem *DdeClientItem2; + void __fastcall Button1Click(TObject *Sender); + void __fastcall DdeClientItem1Change(TObject *Sender); + + void __fastcall DdeClientItem2Change(TObject *Sender); + void __fastcall Button2Click(TObject *Sender); + void __fastcall Button3Click(TObject *Sender); +private: // User declarations +public: // User declarations + __fastcall TForm1(TComponent* Owner); +}; +//--------------------------------------------------------------------------- +extern TForm1 *Form1; +//--------------------------------------------------------------------------- +#endif +
\ No newline at end of file diff --git a/apps/windoze/CBuilder4/BibleCS/ddetest/DDEClientProj.cpp b/apps/windoze/CBuilder4/BibleCS/ddetest/DDEClientProj.cpp new file mode 100644 index 0000000..12c3d74 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/ddetest/DDEClientProj.cpp @@ -0,0 +1,24 @@ +//--------------------------------------------------------------------------- +#include <vcl\vcl.h> +#pragma hdrstop +//--------------------------------------------------------------------------- +USEFORM("DDEClientForm.cpp", Form1); +USERES("DDEClientProj.res"); +//--------------------------------------------------------------------------- +WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) +{ + try + { + Application->Initialize(); + Application->Title = "SWORD DDE Test Program"; + Application->CreateForm(__classid(TForm1), &Form1); + Application->Run(); + } + catch (Exception &exception) + { + Application->ShowException(&exception); + } + return 0; +} +//--------------------------------------------------------------------------- +
\ No newline at end of file diff --git a/apps/windoze/CBuilder4/BibleCS/ddetest/DDEClientProj.mak b/apps/windoze/CBuilder4/BibleCS/ddetest/DDEClientProj.mak new file mode 100644 index 0000000..20a6233 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/ddetest/DDEClientProj.mak @@ -0,0 +1,55 @@ +# --------------------------------------------------------------------------- +VERSION = BCB.01 +# --------------------------------------------------------------------------- +!ifndef BCB +BCB = $(MAKEDIR)\.. +!endif +# --------------------------------------------------------------------------- +PROJECT = DDEClientProj.exe +OBJFILES = DDEClientProj.obj DDEClientForm.obj +RESFILES = DDEClientProj.res +RESDEPEN = $(RESFILES) DDEClientForm.dfm +LIBFILES = +DEFFILE = +# --------------------------------------------------------------------------- +CFLAG1 = -Od -Hc -w -k -r- -y -v -vi- -c -a4 -b- -w-par -w-inl -Vx -Ve -x +CFLAG2 = -I$(BCB)\include;$(BCB)\include\vcl -H=$(BCB)\lib\vcld.csm +PFLAGS = -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE \ + -U$(BCB)\lib\obj;$(BCB)\lib -I$(BCB)\include;$(BCB)\include\vcl -v -$Y -$W \ + -$O- -JPHNV -M +RFLAGS = -i$(BCB)\include;$(BCB)\include\vcl +LFLAGS = -L$(BCB)\lib\obj;$(BCB)\lib -aa -Tpe -x -v -V4.0 +IFLAGS = +LINKER = ilink32 +# --------------------------------------------------------------------------- +ALLOBJ = c0w32.obj $(OBJFILES) +ALLRES = $(RESFILES) +ALLLIB = $(LIBFILES) vcl.lib import32.lib cp32mt.lib +# --------------------------------------------------------------------------- +.autodepend + +$(PROJECT): $(OBJFILES) $(RESDEPEN) $(DEFFILE) + $(BCB)\BIN\$(LINKER) @&&! + $(LFLAGS) + + $(ALLOBJ), + + $(PROJECT),, + + $(ALLLIB), + + $(DEFFILE), + + $(ALLRES) +! + +.pas.hpp: + $(BCB)\BIN\dcc32 $(PFLAGS) { $** } + +.pas.obj: + $(BCB)\BIN\dcc32 $(PFLAGS) { $** } + +.cpp.obj: + $(BCB)\BIN\bcc32 $(CFLAG1) $(CFLAG2) -o$* $* + +.c.obj: + $(BCB)\BIN\bcc32 $(CFLAG1) $(CFLAG2) -o$* $** + +.rc.res: + $(BCB)\BIN\brcc32 $(RFLAGS) $< +#----------------------------------------------------------------------------- diff --git a/apps/windoze/CBuilder4/BibleCS/ddetest/DDEClientProj.res b/apps/windoze/CBuilder4/BibleCS/ddetest/DDEClientProj.res Binary files differnew file mode 100644 index 0000000..be31e84 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/ddetest/DDEClientProj.res diff --git a/apps/windoze/CBuilder4/BibleCS/editentryfrm.cpp b/apps/windoze/CBuilder4/BibleCS/editentryfrm.cpp new file mode 100644 index 0000000..595cbfe --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/editentryfrm.cpp @@ -0,0 +1,330 @@ +#include <vcl.h> +#pragma hdrstop +#include <windows.hpp> +#include <stdlib.h> +#include <stdio.h> +#include "editentryfrm.h" +#include <swdisprtf.h> + +const float RulerAdj = 4.0/3.0; +const int GutterWid = 6; +//---------------------------------------------------------------------------- +#pragma resource "*.dfm" +TEditEntry *EditEntry; +//---------------------------------------------------------------------------- +__fastcall TEditEntry::TEditEntry(TComponent *Owner) : TForm(Owner) { + ResultBuf = 0; +} + + +__fastcall TEditEntry::~TEditEntry() { + if (ResultBuf) + delete [] ResultBuf; +} + + +//---------------------------------------------------------------------------- +void __fastcall TEditEntry::SelectionChange(TObject */*Sender*/) { + char sizebuf[6]; + + try { + FUpdating = True; + FirstInd->Left = int(RichEdit1->Paragraph->FirstIndent*RulerAdj)- + 4+GutterWid; + LeftInd->Left = int((RichEdit1->Paragraph->LeftIndent+ + RichEdit1->Paragraph->FirstIndent)*RulerAdj)- + 4+GutterWid; + RightInd->Left = Ruler->ClientWidth-6-int( + (RichEdit1->Paragraph->RightIndent+GutterWid)*RulerAdj); + + BoldButton->Down = RichEdit1->SelAttributes->Style.Contains(fsBold); + ItalicButton->Down = RichEdit1->SelAttributes->Style.Contains(fsItalic); + UnderlineButton->Down = RichEdit1->SelAttributes->Style.Contains(fsUnderline); + + BulletsButton->Down = bool(RichEdit1->Paragraph->Numbering); + + FontSize->Text = itoa(RichEdit1->SelAttributes->Size, sizebuf, 10); + + switch((int)RichEdit1->Paragraph->Alignment) + { case 0: LeftAlign->Down = True; break; + case 1: RightAlign->Down = True; break; + case 2: CenterAlign->Down = True; break; + } + } + catch (...) { + FUpdating = False; + } + FUpdating = False; +} + + +//---------------------------------------------------------------------------- +TTextAttributes *__fastcall TEditEntry::CurrText(void) +{ + return RichEdit1->SelAttributes; +} +//---------------------------------------------------------------------------- +void __fastcall TEditEntry::CheckFileSave(void) +{ + if ( RichEdit1->Modified ) { + switch(MessageBox(Handle, "Save Changes?","Modify Comment",MB_YESNOCANCEL | MB_ICONQUESTION)) { + case ID_YES : ExtractRTF(); break; + case ID_CANCEL : Abort(); break; + default: + if (ResultBuf) + delete [] ResultBuf; + ResultBuf = 0; + break; + }; + } +} + + +void __fastcall TEditEntry::SetupRuler(void) +{ int iCtr = 1; + char sTmp[201]; + while (iCtr < 200) { + sTmp[iCtr] = 9; + iCtr++; + sTmp[iCtr] = '|'; + iCtr++; + } + Ruler->Caption = (AnsiString)sTmp; +} +//---------------------------------------------------------------------------- +void __fastcall TEditEntry::SetEditRect(void) +{ TRect Rct = Rect(GutterWid, 0, RichEdit1->ClientWidth-GutterWid, + ClientHeight); + SendMessage(RichEdit1->Handle, EM_SETRECT, 0, long(&Rct)); +} +//---------------------------------------------------------------------------- +void __fastcall TEditEntry::FormCreate(TObject* /*Sender*/) +{ Application->OnHint = &ShowHint; + SetupRuler(); +} +//---------------------------------------------------------------------------- +void __fastcall TEditEntry::ShowHint(TObject* /*Sender*/) +{ StatusBar->SimpleText = Application->Hint; +} +//---------------------------------------------------------------------------- +void __fastcall TEditEntry::EditUndoClick(TObject* /*Sender*/) +{ if ( RichEdit1->HandleAllocated() ) + SendMessage(RichEdit1->Handle, EM_UNDO, 0, 0); +} +//---------------------------------------------------------------------------- +void __fastcall TEditEntry::EditCutClick(TObject* /*Sender*/) +{ RichEdit1->CutToClipboard(); +} +//---------------------------------------------------------------------------- +void __fastcall TEditEntry::EditCopyClick(TObject* /*Sender*/) +{ RichEdit1->CopyToClipboard(); +} +//---------------------------------------------------------------------------- +void __fastcall TEditEntry::EditPasteClick(TObject* /*Sender*/) +{ RichEdit1->PasteFromClipboard(); +} +//---------------------------------------------------------------------------- +void __fastcall TEditEntry::RulerResize(TObject* /*Sender*/) +{ RulerLine->Width = (int)Ruler->ClientWidth - (RulerLine->Left*2); +} +//---------------------------------------------------------------------------- +void __fastcall TEditEntry::FormResize(TObject* Sender) +{ SetEditRect(); + SelectionChange(Sender); +} +//---------------------------------------------------------------------------- +void __fastcall TEditEntry::FormPaint(TObject* /*Sender*/) +{ SetEditRect(); +} +//---------------------------------------------------------------------------- +void __fastcall TEditEntry::BoldButtonClick(TObject* /*Sender*/) +{ if ( !FUpdating ) + { if ( BoldButton->Down ) + CurrText()->Style = CurrText()->Style << fsBold; + else + CurrText()->Style = CurrText()->Style >> fsBold; + } +} +//---------------------------------------------------------------------------- +void __fastcall TEditEntry::ItalicButtonClick(TObject* /*Sender*/) +{ if ( !FUpdating ) + { + if ( ItalicButton->Down ) + CurrText()->Style = CurrText()->Style << fsItalic; + else + CurrText()->Style = CurrText()->Style >> fsItalic; + } +} +//---------------------------------------------------------------------------- +void __fastcall TEditEntry::UnderlineButtonClick(TObject* /*Sender*/) +{ + if ( !FUpdating ) { + if ( UnderlineButton->Down ) + CurrText()->Style = CurrText()->Style << fsUnderline; + else CurrText()->Style = CurrText()->Style >> fsUnderline; + } +} + + +void __fastcall TEditEntry::FontSizeChange(TObject* /*Sender*/) +{ + int fontsize = atoi(FontSize->Text.c_str()); + + if ((!FUpdating) && (fontsize)) { + if (fontsize < 1) { + ShowMessage("Please Enter a Number betweek 1 and 1638"); + FontSize->Text = 1; + } + else if (fontsize > 1638) { + ShowMessage("Please Enter a Number betweek 1 and 1638"); + FontSize->Text = 1638; + } + CurrText()->Size = atoi(FontSize->Text.c_str()); + } +} + + +void __fastcall TEditEntry::AlignClick(TObject* Sender) +{ + if ( !FUpdating ) { + TControl *oAliBtn = (TControl*)(Sender); + RichEdit1->Paragraph->Alignment = (TAlignment)oAliBtn->Tag; + } +} +//---------------------------------------------------------------------------- +void __fastcall TEditEntry::BulletsButtonClick(TObject* /*Sender*/) +{ if ( !FUpdating ) + RichEdit1->Paragraph->Numbering = (TNumberingStyle)BulletsButton->Down; +} +//---------------------------------------------------------------------------- +void __fastcall TEditEntry::FormCloseQuery(TObject* /*Sender*/, + bool & CanClose) +{ try { + CheckFileSave(); + } + catch (...) { + CanClose = False; + } +} +//---------------------------------------------------------------------------- + +//*************************** +//***Ruler Indent Dragging*** +//*************************** + +//---------------------------------------------------------------------------- +void __fastcall TEditEntry::RulerItemMouseDown(TObject * Sender, + TMouseButton Button, TShiftState Shift, int X, int Y) +{ TLabel * oTmpLabel = (TLabel *)Sender; + FDragOfs = oTmpLabel->Width / 2; + oTmpLabel->Left = oTmpLabel->Left+X-FDragOfs; + FDragging = True; +} +//---------------------------------------------------------------------------- +void __fastcall TEditEntry::RulerItemMouseMove(TObject *Sender, TShiftState Shift, int X, int /*Y*/) { + if (FDragging) { + TLabel *oTmpLabel = (TLabel *)Sender; + oTmpLabel->Left = oTmpLabel->Left+X-FDragOfs; + oTmpLabel->Left -= oTmpLabel->Left % 10; + } +} +//---------------------------------------------------------------------------- +void __fastcall TEditEntry::FirstIndMouseUp(TObject *Sender, TMouseButton + Button, TShiftState Shift, int X, int Y) +{ FDragging = False; + RichEdit1->Paragraph->FirstIndent = int((FirstInd->Left+FDragOfs-GutterWid) / RulerAdj); + LeftIndMouseUp(Sender, Button, Shift, X, Y); +} +//---------------------------------------------------------------------------- +void __fastcall TEditEntry::LeftIndMouseUp(TObject *Sender, TMouseButton + /*Button*/, TShiftState /*Shift*/, int /*X*/, int /*Y*/) +{ FDragging = False; + RichEdit1->Paragraph->LeftIndent = int((LeftInd->Left+FDragOfs-GutterWid)/ + RulerAdj)-RichEdit1->Paragraph->FirstIndent; + SelectionChange(Sender); +} +//---------------------------------------------------------------------------- +void __fastcall TEditEntry::RightIndMouseUp(TObject *Sender, TMouseButton + /*Button*/, TShiftState /*Shift*/, int /*X*/, int /*Y*/) +{ FDragging = False; + RichEdit1->Paragraph->RightIndent = + int((Ruler->ClientWidth-RightInd->Left+FDragOfs-2) / + RulerAdj)-2*GutterWid; + SelectionChange(Sender); +} +//---------------------------------------------------------------------------- +void __fastcall TEditEntry::FormActivate(TObject *Sender) +{ + System::AnsiString newtext, tmptext; + + if (Module) { + TMemoryStream *RTFStream = new TMemoryStream(); + newtext = RTFDisplay->RTFHeader; + Module->Error(); // clear error; + newtext = newtext + "\\pard \\nowidctlpar \\cf0 "; + (char *)*Module; // force key to snap to entry before pulling out the text of the key + tmptext = (char *)*Module; + + newtext = newtext + RTFDisplay->RTFVersePre + " " + tmptext + RTFDisplay->RTFVersePost; + newtext = newtext + RTFDisplay->RTFTrailer; + RTFStream->Clear(); + RTFStream->WriteBuffer(newtext.c_str(), newtext.Length()); + RTFStream->Position = 0; + RichEdit1->Lines->LoadFromStream(RTFStream); + delete RTFStream; + } + SelectionChange(this); + RichEdit1->SetFocus(); + if (ResultBuf) + delete [] ResultBuf; + ResultBuf = 0; +} +//--------------------------------------------------------------------- + +void TEditEntry::ExtractRTF() +{ + System::AnsiString newtext, tmptext; + TMemoryStream *RTFStream = new TMemoryStream(); + char *tmpbuf, *datastart; + + RTFStream->Clear(); + RichEdit1->Lines->SaveToStream(RTFStream); + RTFStream->Position = 0; + if (ResultBuf) + delete [] ResultBuf; + tmpbuf = new char [ RTFStream->Size + 1]; + RTFStream->ReadBuffer(tmpbuf, RTFStream->Size); + tmpbuf[RTFStream->Size] = 0; + strtok(strstr(tmpbuf, "colortbl"), "}"); + datastart = strtok(NULL, ""); + ResultBuf = new char [ strlen(datastart) + 2 ]; + ResultBuf[0] = '{'; + strcpy(ResultBuf+1, datastart); + delete [] tmpbuf; + delete RTFStream; + //-------- Change all fonts to \f1 + for (int i = 0; i < strlen(ResultBuf)-4; i++) { + if (ResultBuf[i] == '\\') { + if (ResultBuf[i+1] == '\\') { // skip a real '\' character + i += 1; + continue; + } + if (ResultBuf[i+1] == 'f') { + if (isdigit(ResultBuf[i+2])) { + ResultBuf[i+2] = '1'; + if (isdigit(ResultBuf[i+3])) { + memmove(&ResultBuf[i+3], &ResultBuf[i+4], strlen(&ResultBuf[i+3])); + } + } + } + } + } +} + + +__fastcall TCharsetObject::TCharsetObject(int FCharset) + : TObject() +{ + Charset = FCharset; +} +//--------------------------------------------------------------------------- diff --git a/apps/windoze/CBuilder4/BibleCS/editentryfrm.dfm b/apps/windoze/CBuilder4/BibleCS/editentryfrm.dfm Binary files differnew file mode 100644 index 0000000..3b40fc4 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/editentryfrm.dfm diff --git a/apps/windoze/CBuilder4/BibleCS/editentryfrm.h b/apps/windoze/CBuilder4/BibleCS/editentryfrm.h new file mode 100644 index 0000000..058c385 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/editentryfrm.h @@ -0,0 +1,108 @@ +//---------------------------------------------------------------------------- +//Borland C++Builder +//Copyright (c) 1987, 1998 Borland International Inc. All Rights Reserved. +//---------------------------------------------------------------------------- +//---------------------------------------------------------------------------- +#ifndef editentryfrmH +#define editentryfrmH +//---------------------------------------------------------------------------- +#include <Outline.hpp> +#include <Grids.hpp> +#include <Buttons.hpp> +#include <ExtCtrls.hpp> +#include <StdCtrls.hpp> +#include <ComCtrls.hpp> +#include <Menus.hpp> +#include <Dialogs.hpp> +#include <Forms.hpp> +#include <Controls.hpp> +#include <Graphics.hpp> +#include <Classes.hpp> +#include <SysUtils.hpp> +#include <Messages.hpp> +#include <Windows.hpp> +#include <System.hpp> +#include <swmodule.h> +#include <swdisprtf.h> +//---------------------------------------------------------------------------- +class TEditEntry : public TForm +{ +__published: + TPanel *SpeedBar; + TSpeedButton *UndoButton; + TSpeedButton *CutButton; + TSpeedButton *CopyButton; + TSpeedButton *PasteButton; + TBevel *Bevel1; + TSpeedButton *BoldButton; + TSpeedButton *ItalicButton; + TSpeedButton *LeftAlign; + TSpeedButton *CenterAlign; + TSpeedButton *RightAlign; + TSpeedButton *UnderlineButton; + TSpeedButton *BulletsButton; + TEdit *FontSize; + TUpDown *UpDown1; + TPanel *Ruler; + TLabel *FirstInd; + TLabel *LeftInd; + TBevel *RulerLine; + TLabel *RightInd; + TStatusBar *StatusBar; + TRichEdit *RichEdit1; + TLabel *Label1; + void __fastcall SelectionChange(TObject *Sender); + void __fastcall AlignClick(TObject *Sender); + void __fastcall EditUndoClick(TObject *Sender); + void __fastcall EditCutClick(TObject *Sender); + void __fastcall EditCopyClick(TObject *Sender); + void __fastcall EditPasteClick(TObject *Sender); + void __fastcall RulerResize(TObject *Sender); + void __fastcall FormCreate(TObject *Sender); + void __fastcall FormResize(TObject *Sender); + void __fastcall FormPaint(TObject *Sender); + void __fastcall BoldButtonClick(TObject *Sender); + void __fastcall FontSizeChange(TObject *Sender); + void __fastcall UnderlineButtonClick(TObject *Sender); + void __fastcall ItalicButtonClick(TObject *Sender); + void __fastcall BulletsButtonClick(TObject *Sender); + void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose); + void __fastcall RulerItemMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); + void __fastcall RulerItemMouseMove(TObject *Sender, TShiftState Shift, int X, int Y); + void __fastcall FirstIndMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); + void __fastcall LeftIndMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); + void __fastcall RightIndMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); + void __fastcall FormActivate(TObject *Sender); + +private: + AnsiString FFileName; + bool FUpdating; + int FDragOfs; + bool FDragging; + TTextAttributes *__fastcall CurrText(void); + void __fastcall CheckFileSave(void); + void __fastcall SetupRuler(void); + void __fastcall SetEditRect(void); + void __fastcall ShowHint(TObject *Sender); + +public: + SWModule *Module; + SWDispRTF *RTFDisplay; + + virtual __fastcall TEditEntry(TComponent *Owner); + __fastcall ~TEditEntry(); + char *ResultBuf; + void ExtractRTF(); +}; +//---------------------------------------------------------------------------- +class TCharsetObject : public TObject +{ +public: + int Charset; + __fastcall TCharsetObject(int FCharset); +}; +//---------------------------------------------------------------------------- +extern TEditEntry *EditEntry; +//---------------------------------------------------------------------------- +#endif +
\ No newline at end of file diff --git a/apps/windoze/CBuilder4/BibleCS/getsaved.conf b/apps/windoze/CBuilder4/BibleCS/getsaved.conf new file mode 100644 index 0000000..6a77364 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/getsaved.conf @@ -0,0 +1,8 @@ +[ROOT] +getsaved=What's God all about anyway? + +[getsaved] +verse1=Romans 3:23 +verse2=Romans 6:23 +verse3=John 3:16 +verse4=I John 1:9
\ No newline at end of file diff --git a/apps/windoze/CBuilder4/BibleCS/mainfrm.cpp b/apps/windoze/CBuilder4/BibleCS/mainfrm.cpp new file mode 100644 index 0000000..025bd06 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/mainfrm.cpp @@ -0,0 +1,1151 @@ +//--------------------------------------------------------------------------- +#include <vcl\vcl.h> +#include <vcl/clipbrd.hpp> +#pragma hdrstop + +#include "mainfrm.h" +#include "swdisprtfchap.h" +#include "searchfrm.h" +#include "swwinlog.h" +#include "AboutBoxfrm.h" +#include "ModInstForm.h" +#include "biblecsmgr.h" +#include "Greek2Greek.h" +#include "bookmarkfrm.h" +#include "optionfrm.h" +#include "vrslstfrm.h" +#include <utilstr.h> +#include <filemgr.h> +#include "editentryfrm.h" +#include "versesel.h" + +//--------------------------------------------------------------------------- +#pragma resource "*.dfm" +TForm1 *Form1; +//--------------------------------------------------------------------------- + + +__fastcall TForm1::TForm1(TComponent* Owner) + : TForm(Owner) +{ + optionsconf = new SWConfig("./options.conf"); + + Lookup->Text = "[ SWORD DDE Lookup ]"; + Search->Text = "[ SWORD DDE Search ]"; +} + +void __fastcall TForm1::DisplayHint(TObject* Sender) +{ + StatusBar1->SimpleText = GetLongHint(Application->Hint); +} + +//--------------------------------------------------------------------------- +__fastcall TForm1::~TForm1() +{ + list <SWDisplay *>::iterator it; + int loop; + + + if (mainmgr) + delete mainmgr; + for (it = displays.begin(); it != displays.end(); it++) + delete *it; + if (layoutconf) + delete layoutconf; + + if (optionsconf) + delete optionsconf; + + for (loop = 0; loop < 10; loop++) { + if (ctrlstates[loop]); + delete ctrlstates[loop]; + } + list <ModState *>::iterator mit; + for (mit = modstates.begin(); mit != modstates.end(); mit++) { + delete (*mit); + } +} +//--------------------------------------------------------------------------- +void TForm1::BuildRTFHeader(char *buf, char *font, int max) +{ + char buf1[1024], buf2[1024]; + SectionMap::iterator sit; + string value; + ConfigEntMap::iterator entry; + + sprintf(buf1, "{\\rtf1\\ansi"); + if (font) + sprintf(buf2, "{\\fonttbl{\\f0\\fdecor\\fprq2 %s;}{\\f1\\froman\\fcharset0\\fprq2 Times New Roman;}{\\f2\\froman\\fcharset0\\fprq2 Times New Roman;}{\\f3\\froman\\fcharset0\\fprq2 Times New Roman;}{\\f4\\froman\\fcharset0\\fprq2 Times New Roman;}{\\f7\\froman\\fcharset2\\fprq2 Symbol;}{\\f8\\froman\\fcharset2\\fprq2 Symbol;}}", font); + else sprintf(buf2, "{\\fonttbl{\\f0\\fdecor\\fprq2 Times New Roman;}{\\f1\\froman\\fcharset0\\fprq2 Times New Roman;}{\\f7\\froman\\fcharset2\\fprq2 Symbol;}{\\f8\\froman\\fcharset2\\fprq2 Symbol;}}"); + strcat(buf1, buf2); + + if ((sit = optionsconf->Sections.find("Appearance")) != optionsconf->Sections.end()) { + ConfigEntMap §ion = (*sit).second; + sprintf(buf2, "{\\colortbl;\\red0\\green0\\blue255;\\red%d\\green%d\\blue%d;\\red0\\green0\\blue255;\\red0\\green200\\blue50;\\red0\\green0\\blue255;\\red255\\green0\\blue0;}", + ((entry = section.find("CurrentVSColorRed")) != section.end()) ? atoi((*entry).second.c_str()) : 0, + ((entry = section.find("CurrentVSColorGreen")) != section.end()) ? atoi((*entry).second.c_str()) : 0, + ((entry = section.find("CurrentVSColorBlue")) != section.end()) ? atoi((*entry).second.c_str()) : 0); + } + else sprintf(buf2, "{\\colortbl;\\red0\\green0\\blue255;\\red0\\green200\\blue50;\\red0\\green0\\blue255;\\red0\\green200\\blue50;\\red0\\green0\\blue255;\\red255\\green0\\blue0;}"); + strcat(buf1, buf2); + memset(buf, 0, max); + strncpy(buf, buf1, max); +} + +char TForm1::CreateTextPane(SWModule *mod, char *font) { + TTabSheet *newtab = new TTabSheet(this); + SWDispRTFChap *newrtf = new SWDispRTFChap(this); + char buf[512]; + SectionMap::iterator sit; + + newtab->Caption = mod->Name(); + newtab->Hint = mod->Description(); + newtab->ParentShowHint = true; + newtab->PageControl = PageControl1; + newrtf->Parent = newtab; + newrtf->Align = alClient; + newrtf->ScrollBars = ssVertical; + newrtf->ReadOnly = true; + newrtf->PopupMenu = (strcmp(mod->Name(), "N27U4")) ? PopupMenu2 : PopupMenu1; + newrtf->OnMouseDown = RTFMouseDown; + + BuildRTFHeader(buf, font, 512); + newrtf->RTFHeader = buf; + + if ((sit = optionsconf->Sections.find("Appearance")) != optionsconf->Sections.end()) { + newrtf->MarkCurrentVerse = (atoi((*(*sit).second.find("AutoVSColor")).second.c_str())) ? true:false; + } + if ((sit = optionsconf->Sections.find("Appearance")) != optionsconf->Sections.end()) { + if ((*sit).second.find("FontSize") != (*sit).second.end()) + newrtf->FontSize = atoi((*(*sit).second.find("FontSize")).second.c_str()); + } + SWDisplay *disp = new RTFDisp(newrtf); + mod->Disp(disp); + displays.insert(displays.begin(), disp); + mod->SetKey(DefaultVSKey); + + return 0; +} +//--------------------------------------------------------------------------- +char TForm1::CreateCommentPane(SWModule *mod) { + TTabSheet *newtab = new TTabSheet(this); + TWinControl *newrtf; + SectionMap::iterator sit; + + if ((*mainmgr->config->Sections[mod->Name()].find("ModDrv")).second == "HREFCom") { +// if (mainmgr->config->Sections[mod->Name()]["External"] == "1") { + newrtf = new TPanel(this); + ((TPanel *)newrtf)->Caption = "Syncronizing to External Viewer"; + SWDisplay *disp = new DispExternal(); + mod->Disp(*displays.insert(displays.begin(), disp)); +/* + } + else { + // newrtf = new THTML(this->Handle); + // newrtf = new SWDispRTF(this); + newrtf = HTML1; + newrtf->Visible = true; + mod->Disp(*displays.insert(displays.begin(), new HREFDisp((THTML *)newrtf))); + // mod->Disp(*displays.insert(displays.begin(), new RTFDisp((SWDispRTF *)newrtf))); + } +*/ + } + else { + newrtf = new SWDispRTF(this); + if ((sit = optionsconf->Sections.find("Appearance")) != optionsconf->Sections.end()) { + if ((*sit).second.find("FontSize") != (*sit).second.end()) + ((SWDispRTF *)newrtf)->FontSize = atoi((*(*sit).second.find("FontSize")).second.c_str()); + } + SWDisplay *disp = new RTFDisp((SWDispRTF *)newrtf); + mod->Disp(*displays.insert(displays.begin(), disp)); + ((SWDispRTF *)newrtf)->ScrollBars = ssVertical; + ((SWDispRTF *)newrtf)->ReadOnly = true; + + if ((*mainmgr->config->Sections[mod->Name()].find("ModDrv")).second == "RawFiles") { + ((SWDispRTF *)newrtf)->PopupMenu = PopupMenu3; + ((SWDispRTF *)newrtf)->ExpandNewLine = false; + } + else ((SWDispRTF *)newrtf)->PopupMenu = PopupMenu2; + ((SWDispRTF *)newrtf)->OnMouseDown = RTFMouseDown; + } + + newtab->Caption = mod->Name(); + newtab->Hint = mod->Description(); + newtab->ParentShowHint = true; + newtab->PageControl = PageControl2; + newrtf->Parent = newtab; + newrtf->Align = alClient; + + mod->SetKey(DefaultVSKey); + return 0; +} +//--------------------------------------------------------------------------- +char TForm1::CreateLDPane(SWModule *mod) { + TTabSheet *newtab = new TTabSheet(this); + SWDispRTF *newrtf = new SWDispRTF(this); + SectionMap::iterator sit; + + newtab->Caption = mod->Name(); + newtab->Hint = mod->Description(); + newtab->ParentShowHint = true; + newtab->PageControl = PageControl3; + newrtf->Parent = newtab; + newrtf->Align = alClient; + newrtf->ScrollBars = ssVertical; + newrtf->ReadOnly = true; + newrtf->PopupMenu = PopupMenu2; + newrtf->OnMouseDown = RTFMouseDown; + + if ((sit = optionsconf->Sections.find("Appearance")) != optionsconf->Sections.end()) { + if ((*sit).second.find("FontSize") != (*sit).second.end()) + newrtf->FontSize = atoi((*(*sit).second.find("FontSize")).second.c_str()); + } + SWDisplay *disp = new RTFDisp(newrtf); + mod->Disp(*displays.insert(displays.begin(), disp)); + mod->SetKey(DefaultStrKey); + return 0; +} +//--------------------------------------------------------------------------- + +void __fastcall TForm1::PageControl1Change(TObject *Sender) +{ + RefreshActiveSheet(PageControl1); + Form1->ActiveControl = PageControl1; +} +//--------------------------------------------------------------------------- +void TForm1::RefreshActiveSheet(TPageControl *pc) +{ + ModMap::iterator it; + + it = mainmgr->Modules.find(pc->ActivePage->Caption.c_str()); + if (it != mainmgr->Modules.end()) { + (*it).second->Display(); + if (logmodstate) + modstates.insert(modstates.begin(), new ModState(pc, pc->ActivePage, (*it).second->KeyText())); + } +} + + +void TForm1::TextKeyChanged() +{ + cbBook->ItemIndex = cbBook->Items->IndexOf(DefaultVSKey.books[DefaultVSKey.Testament()-1][DefaultVSKey.Book()-1].name); + CHBox->Text = DefaultVSKey.Chapter(); + VSBox->Text = DefaultVSKey.Verse(); + freeHandLookup->Text = (const char *)DefaultVSKey; + RefreshActiveSheet(PageControl1); + logmodstate = false; // only log state once + RefreshActiveSheet(PageControl2); + logmodstate = true; +} + + +void __fastcall TForm1::btnLookupClick(TObject *Sender) +{ + if (!(StrToInt(CHBox->Text)) || (!StrToInt(VSBox->Text))) + DefaultVSKey.AutoNormalize(0); + + if (StrToInt(CHBox->Text) < 0) + CHBox->Text = StrToInt(CHBox->Text) + 1; + if (StrToInt(VSBox->Text) < 0) + VSBox->Text = StrToInt(VSBox->Text) + 1; + + DefaultVSKey = (cbBook->Text + " " + CHBox->Text + ":" + VSBox->Text).c_str(); + TextKeyChanged(); + DefaultVSKey.AutoNormalize(1); +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::PageControl2Change(TObject *Sender) +{ + RefreshActiveSheet(PageControl2); + Form1->ActiveControl = PageControl2; +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::DictKeyEditChange(TObject *Sender) +{ + if (DictKeyEdit->Modified) { + DefaultStrKey = DictKeyEdit->Text.c_str(); + RefreshActiveSheet(PageControl3); + DictKeyEdit->Modified = false; + FillDictKeys(); + } +} + +void TForm1::FillDictKeys() { + ModMap::iterator it; + int index = 0; + SWKey saveKey; + + it = mainmgr->Modules.find(PageControl3->ActivePage->Caption.c_str()); + if (it != mainmgr->Modules.end()) { + SWModule *mod = (*it).second; + mod->KeyText(); // snap to entry + saveKey = mod->KeyText(); + int count = lbDictKeys->Height / lbDictKeys->ItemHeight; + lbDictKeys->Items->Clear(); + for (int i = 0; i < (count / 2); i++) + (*mod)++; + for (int i = 0; i < count-1; i++) + (*mod)--; + mod->Error(); + for (;!mod->Error() && count;count--,(*mod)++) { + lbDictKeys->Items->Add(mod->KeyText()); + if (saveKey == mod->Key()) + index = lbDictKeys->Items->Count-1; + } + lbDictKeys->ItemIndex = index; + } +} + + +//--------------------------------------------------------------------------- +void __fastcall TForm1::PageControl3Change(TObject *Sender) +{ + DefaultStrKey = DictKeyEdit->Text.c_str(); + RefreshActiveSheet(PageControl3); + Form1->ActiveControl = PageControl3; + FillDictKeys(); +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::NewSearchWindow1Click(TObject *Sender) +{ + Form2->Show(); +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::Exit1Click(TObject *Sender) +{ + Close(); +} + +void __fastcall TForm1::About1Click(TObject *Sender) +{ + AboutBox->ShowModal(); +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::DictionaryLookup1Click(TObject *Sender) +{ + SWDispRTF *rtf = (SWDispRTF *)Screen->ActiveControl; + int wordstart; + int saveSelStart = rtf->SelStart; + + if (!rtf->SelLength) { + for (wordstart = rtf->SelStart; (wordstart > -1)&&(isdigit(rtf->Text[wordstart])||isalpha(rtf->Text[wordstart])); wordstart--); + rtf->SelStart = (wordstart > -1) ? wordstart: 0; + for (wordstart = rtf->SelStart + 1; (wordstart < rtf->Text.Length())&&(isdigit(rtf->Text[wordstart])||isalpha(rtf->Text[wordstart])); wordstart++); + rtf->SelLength = ((wordstart < rtf->Text.Length()) ? wordstart : rtf->Text.Length()) - rtf->SelStart - 1; + DictKeyEdit->Text = Trim(rtf->SelText); + rtf->SelStart = saveSelStart; + rtf->SelLength = 0; + } + else DictKeyEdit->Text = Trim(rtf->SelText); +} + + +void __fastcall TForm1::verseLookupClick(TObject *Sender) +{ + SWDispRTF *rtf = (SWDispRTF *)Screen->ActiveControl; + int wordstart; + int saveSelStart = rtf->SelStart; + + if (!rtf->SelLength) { + for (wordstart = rtf->SelStart; (wordstart > -1)&&(isdigit(rtf->Text[wordstart])||isalpha(rtf->Text[wordstart])); wordstart--); + rtf->SelStart = (wordstart > -1) ? wordstart: 0; + for (wordstart = rtf->SelStart + 1; (wordstart < rtf->Text.Length())&&(isdigit(rtf->Text[wordstart])||isalpha(rtf->Text[wordstart])); wordstart++); + rtf->SelLength = ((wordstart < rtf->Text.Length()) ? wordstart : rtf->Text.Length()) - rtf->SelStart - 1; + freeHandLookup->Text = Trim(rtf->SelText); + rtf->SelStart = saveSelStart; + rtf->SelLength = 0; + } + else freeHandLookup->Text = Trim(rtf->SelText); + char ret = '\r'; + freeHandLookupoldKeyPress(Sender, ret); +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::SaveLayout1Click(TObject *Sender) +{ + ConfigEntMap sit; + + sit = layoutconf->Sections["Screen"]; + sit.erase("MainTop"); sit.insert(ConfigEntMap::value_type("MainTop", IntToStr(Form1->Top).c_str())); + sit.erase("MainLeft"); sit.insert(ConfigEntMap::value_type("MainLeft", IntToStr(Form1->Left).c_str())); + sit.erase("MainHeight"); sit.insert(ConfigEntMap::value_type("MainHeight", IntToStr(Form1->Height).c_str())); + sit.erase("MainWidth"); sit.insert(ConfigEntMap::value_type("MainWidth", IntToStr(Form1->Width).c_str())); + sit.erase("TextComHeight"); sit.insert(ConfigEntMap::value_type("TextComHeight", IntToStr(pnlTextCom->Height).c_str())); + sit.erase("TextWidth"); sit.insert(ConfigEntMap::value_type("TextWidth", IntToStr(pnlText->Width).c_str())); + layoutconf->Sections["Screen"] = sit; + layoutconf->Save(); +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::FormShow(TObject *Sender) +{ + ModMap::iterator it; + SectionMap::iterator sit; + ConfigEntMap::iterator eit, eitend; + AnsiString s1; + char *font; + int loop; + int maxFiles; + string tmpval; + + logmodstate = true; + freshdict = true; + if (SWLog::systemlog) + delete SWLog::systemlog; + SWLog::systemlog = new SWWinLog(this->Handle); // set the system logger to our MSWindows specific SWLog class + tmpval = ((eit = optionsconf->Sections["System"].find("MaxFiles")) != optionsconf->Sections["System"].end())? (*eit).second : (string)""; + if ((maxFiles = atoi(tmpval.c_str()))) { + FileMgr::systemFileMgr.maxFiles = maxFiles; + } + + tmpval = ((eit = optionsconf->Sections["Hints"].find("On")) != optionsconf->Sections["Hints"].end())? (*eit).second : (string)"1"; + + if (atoi(tmpval.c_str())) + Form1->ShowHint = true; + else Form1->ShowHint = false; + + DefaultVSKey = TOP; + cbBook->Clear(); + while (!DefaultVSKey.Error()) { + s1 = (const char *)DefaultVSKey; + s1.SetLength(s1.Length() - 4); + cbBook->Items->Add(s1); + DefaultVSKey.Book(DefaultVSKey.Book() + 1); + } + cbBook->ItemIndex = cbBook->Items->IndexOf("James"); + + DefaultVSKey.Persist(1); // when set to a module, make the module hold on to this actual key and not a copy + DefaultVSKey = "James 1:19"; // set to our standard starting verse + DefaultStrKey.Persist(1); + DefaultStrKey = ""; + + mainmgr = new BibleCSMGR(ModInstFrm); + for (it = mainmgr->Modules.begin(); it != mainmgr->Modules.end(); it++) { + if (!strcmp((*it).second->Type(), "Biblical Texts")) { + font = 0; + if ((sit = mainmgr->config->Sections.find((*it).second->Name())) != mainmgr->config->Sections.end()) { + if ((eit = (*sit).second.find("Font")) != (*sit).second.end()) { + font = (char *)(*eit).second.c_str(); + } + } + CreateTextPane((*it).second, font); + } + if (!strcmp((*it).second->Type(), "Commentaries")) + CreateCommentPane((*it).second); + if (!strcmp((*it).second->Type(), "Lexicons / Dictionaries")) + CreateLDPane((*it).second); + } + + layoutconf = new SWConfig("./layout.conf"); + + if ((sit = layoutconf->Sections.find("Screen")) != layoutconf->Sections.end()) { + if ((eit = (*sit).second.find("MainTop")) != (*sit).second.end()) + Form1->Top = atoi((*eit).second.c_str()); + if ((eit = (*sit).second.find("MainLeft")) != (*sit).second.end()) + Form1->Left = atoi((*eit).second.c_str()); + if ((eit = (*sit).second.find("MainHeight")) != (*sit).second.end()) + Form1->Height = atoi((*eit).second.c_str()); + if ((eit = (*sit).second.find("MainWidth")) != (*sit).second.end()) + Form1->Width = atoi((*eit).second.c_str()); + if ((eit = (*sit).second.find("TextComHeight")) != (*sit).second.end()) + pnlTextCom->Height = atoi((*eit).second.c_str()); + if ((eit = (*sit).second.find("TextWidth")) != (*sit).second.end()) + pnlText->Width = atoi((*eit).second.c_str()); + } + + + for (loop = 0; loop < 10; loop++) + ctrlstates.insert(ctrlstates.begin(), 0); + Graphics::TBitmap *bitmap = BackBtnImage->Picture->Bitmap; + TColor transColor = bitmap->Canvas->Pixels[0][0]; + ImageList1->AddMasked(bitmap, transColor); + + bitmap = SearchBtnImage->Picture->Bitmap; + transColor = bitmap->Canvas->Pixels[0][0]; + ImageList1->AddMasked(bitmap, transColor); + + bitmap = BookmarkBtnImage->Picture->Bitmap; + transColor = bitmap->Canvas->Pixels[0][0]; + ImageList2->AddMasked(bitmap, transColor); + + // Add options to Options Main Menu choice + OptionsList options = mainmgr->getGlobalOptions(); + for (OptionsList::iterator it = options.begin(); it != options.end(); it++) { + TMenuItem *newitem = new TMenuItem(MainMenu1); + newitem->Caption = (*it).c_str(); + newitem->Default = false; + newitem->OnClick = OptionShowVals; + newitem->Hint = mainmgr->getGlobalOptionTip((*it).c_str()); + OptionsList values = mainmgr->getGlobalOptionValues((*it).c_str()); + for (OptionsList::iterator it2 = values.begin(); it2 != values.end(); it2++) { + TMenuItem *newitem2 = new TMenuItem(MainMenu1); + newitem2->Caption = (*it2).c_str(); + newitem2->Default = false; + newitem2->OnClick = GlobalOptionChange; + newitem->Add(newitem2); + } +// Mainmenu->Items->Add(newitem); + Options2->Add(newitem); + } + + + if ((sit = layoutconf->Sections.find("History")) != layoutconf->Sections.end()) { + + eitend = (*sit).second.upper_bound("SearchText"); + for (eit = (*sit).second.lower_bound("SearchText"); eit != eitend; eit++) + Form2->SearchText->Items->Add(eit->second.c_str()); + + eitend = (*sit).second.upper_bound("LookupText"); + for (eit = (*sit).second.lower_bound("LookupText"); eit != eitend; eit++) + freeHandLookup->Items->Add(eit->second.c_str()); + + if ((eit = (*sit).second.find("LastVerse")) != (*sit).second.end()) { + freeHandLookup->Text = (*eit).second.c_str(); + char ret = '\r'; + freeHandLookupoldKeyPress(0, ret); + } + } +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::LookupPokeData(TObject *Sender) +{ + char buf[255]; + char *token; + ModMap::iterator it; + + strncpy(buf, Lookup->Text.c_str(), 254); + buf[254] = 0; + token = strtok(buf, " "); + if ((it = mainmgr->Modules.find(token)) != mainmgr->Modules.end()) { + token = strtok(NULL, ""); + (*it).second->SetKey(token); + Lookup->Text = (const char *)(*(*it).second); + } + else Lookup->Text = ""; + +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::SearchPokeData(TObject *Sender) +{ + char buf[255]; + char *token; + ModMap::iterator it; + AnsiString retval = ""; + + strncpy(buf, Search->Text.c_str(), 254); + buf[254] = 0; + token = strtok(buf, " "); + if ((it = mainmgr->Modules.find(token)) != mainmgr->Modules.end()) { + token = strtok(NULL, ""); + ListKey &results = (*it).second->Search(token, REG_ICASE); + while (!results.Error()) { + retval = retval + (const char *)results + "; "; + results++; + } + Search->Text = retval; + } + else Search->Text = ""; +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::UpDown3Click(TObject *Sender, TUDBtnType Button) +{ + ModMap::iterator it; + + it = mainmgr->Modules.find(PageControl3->ActivePage->Caption.c_str()); + if (it != mainmgr->Modules.end()) { + if (Button == btNext) + (*((*it).second))++; + else (*((*it).second))--; + DictKeyEdit->Text = ((*it).second)->KeyText(); + } +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::UpDown1Click(TObject *Sender, TUDBtnType Button) +{ + btnLookupClick(Sender); +} +//--------------------------------------------------------------------------- + +void TForm1::RestoreState(ModState *state) +{ + if (state) { + state->pc->ActivePage = state->ap; + if ((state->pc == PageControl1) || (state->pc == PageControl2)) { + DefaultVSKey = state->key; + TextKeyChanged(); + } + if (state->pc == PageControl3) { + DictKeyEdit->Text = (const char *)state->key; + } + if (state->pc->ActivePage->ControlCount) + Form1->ActiveControl = (TWinControl *)state->pc->ActivePage->Controls[0]; + } +} + + +void __fastcall TForm1::BackbtnClick(TObject *Sender) +{ + list <ModState *>::iterator it; + + logmodstate = false; + it = modstates.begin(); + if (it != modstates.end()) { + it++; + + if (it != modstates.end()) { + RestoreState(*it); + delete *modstates.begin(); + modstates.erase(modstates.begin(), it); + } + } + logmodstate = true; +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::Button1Click(TObject *Sender) +{ +/* + list <ModState *>::iterator it; + ListBox1->Clear(); + for (it = modstates.begin(); it != modstates.end(); it++) { + ListBox1->Items->Add((*it)->ap->Caption.c_str()); + } +*/ +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::CopyasBGreekTransliteration1Click(TObject *Sender) +{ + char *retbuf; + int len; + TClipboard *clip = new TClipboard(); + + SWDispRTF *rtf = (SWDispRTF *)Screen->ActiveControl; + len = rtf->SelText.Length() * 2; + retbuf = new char [ len ]; + if (!Greek2bGreek(retbuf, rtf->SelText.c_str(), len)) { + clip->SetTextBuf(retbuf); + } + delete clip; +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::Copy1Click(TObject *Sender) +{ + int wordstart; + + SWDispRTF *rtf = (SWDispRTF *)Screen->ActiveControl; + if (!rtf->SelLength) { + for (wordstart = rtf->SelStart; (wordstart > -1)&&(isdigit(rtf->Text[wordstart])||isalpha(rtf->Text[wordstart])); wordstart--); + rtf->SelStart = (wordstart > -1) ? wordstart: 0; + for (wordstart = rtf->SelStart + 1; (wordstart < rtf->Text.Length())&&(isdigit(rtf->Text[wordstart])||isalpha(rtf->Text[wordstart])); wordstart++); + rtf->SelLength = ((wordstart < rtf->Text.Length()) ? wordstart : rtf->Text.Length()) - rtf->SelStart - 1; + } + rtf->CopyToClipboard(); +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::BookmarkItemClick(TObject *Sender) +{ + TMenuItem *menuchoice = (TMenuItem *)Sender; + const char *source = menuchoice->Caption.c_str(); + char *value = new char [strlen(source) + 1]; + int k = 0; + for (unsigned int j = 0; j < strlen(source); j++) { + if (source[j] != '&') + value[k++] = source[j]; + } + value[k] = 0; + DefaultVSKey = value; + delete [] value; + TextKeyChanged(); +} + +void __fastcall TForm1::AddBookmark1Click(TObject *Sender) +{ +// TMenuItem *newitem; + + Bookmarksfrm->bmtree->Items->AddChild(Bookmarksfrm->bmtree->Items->Item[0], (const char *)DefaultVSKey); +} + +void TForm1::AddSectionToMenu(TMenu *menu, TMenuItem *item, TTreeNode *tree) +{ + TMenuItem *newitem; + + for (tree = tree->getFirstChild(); tree; tree = tree->getNextSibling()) { + newitem = new TMenuItem(menu); + newitem->Caption = tree->Text; + if (!tree->getFirstChild()) + newitem->OnClick = BookmarkItemClick; + item->Add(newitem); + AddSectionToMenu(menu, newitem, tree); + } +} + +void TForm1::RefreshBookmarksMenu(TMenu *menu, TTreeView *treeview) +{ + TMenuItem *newitem; + TTreeNode *tree = 0; + + if (treeview->Items->Count) + tree = treeview->Items->Item[0]; + + while (menu->Items->Count > 3) + menu->Items->Delete(3); + + for (;tree;tree = tree->getNextSibling()) { + newitem = new TMenuItem(menu); + newitem->Caption = tree->Text; + menu->Items->Add(newitem); + AddSectionToMenu(menu, newitem, tree); + } +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::BookmarkbtnClick(TObject *Sender) +{ + TPoint menup, point; + point.x = 0; + point.y = Bookmarkbtn->Height; + menup = Bookmarkbtn->ClientToScreen(point); + RefreshBookmarksMenu(BookmarkPopup, Bookmarksfrm->bmtree); + BookmarkPopup->Popup(menup.x, menup.y); +} +//--------------------------------------------------------------------------- + + +void __fastcall TForm1::EditBookmarks1Click(TObject *Sender) +{ + Bookmarksfrm->Show(); +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key, + TShiftState Shift) +{ + char buf[5]; + int val; + ModMap::iterator it; + TPageControl *pc = PageControl1; + + if ((Shift.Contains(ssCtrl)) && (!Shift.Contains(ssAlt))) { + if ((Key >= '0') && (Key <= '9')) { + sprintf(buf, "%c", Key); + val = atoi(buf); + + if (!Shift.Contains(ssShift)) { + if ((Screen->ActiveControl == PageControl2) || (IsChild(PageControl2->Handle, Screen->ActiveControl->Handle))) + pc = PageControl2; + if ((Screen->ActiveControl == PageControl3) || (IsChild(PageControl3->Handle, Screen->ActiveControl->Handle))) + pc = PageControl3; + + it = mainmgr->Modules.find(pc->ActivePage->Caption.c_str()); + if (it != mainmgr->Modules.end()) { + if (ctrlstates[val]) + delete ctrlstates[val]; + + ctrlstates[val] = new ModState(pc, pc->ActivePage, (*it).second->KeyText()); + } + } + else RestoreState(ctrlstates[val]); + } + } +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::Options1Click(TObject *Sender) +{ + ModMap::iterator it; + SectionMap::iterator sit; + ConfigEntMap::iterator eit; + ConfigEntMap emap; + int color; + string tmpval; + + if ((sit = optionsconf->Sections.find("Appearance")) != optionsconf->Sections.end()) { + Optionsfrm->CurrentVSColor->Brush->Color = + atoi((*(*sit).second.find("CurrentVSColorRed")).second.c_str()) + | (atoi((*(*sit).second.find("CurrentVSColorGreen")).second.c_str()) << 8) + | (atoi((*(*sit).second.find("CurrentVSColorBlue")).second.c_str()) << 16); + Optionsfrm->AutoVSColor->Checked = ((atoi((*(*sit).second.find("AutoVSColor")).second.c_str()))?true:false); + if ((*sit).second.find("FontSize") != (*sit).second.end()) + Optionsfrm->UpDown1->Position = atoi((*(*sit).second.find("FontSize")).second.c_str()); + } + + if ((sit = optionsconf->Sections.find("Bookmarks")) != optionsconf->Sections.end()) { + Optionsfrm->AutoBMPersonal->Checked = ((atoi((*(*sit).second.find("AutoSavePersonal")).second.c_str()))?true:false); + Optionsfrm->AutoBMOther->Checked = ((atoi((*(*sit).second.find("AutoSaveOther")).second.c_str()))?true:false); + } + + + Optionsfrm->HintPopups->Checked = true; + tmpval = ((eit = optionsconf->Sections["Hints"].find("On")) != optionsconf->Sections["Hints"].end())? (*eit).second : (string)"1"; + if (!atoi(tmpval.c_str())) + Optionsfrm->HintPopups->Checked = false; + + if (Optionsfrm->ShowModal() == mrOk) { + emap = optionsconf->Sections["Appearance"]; + color = Optionsfrm->CurrentVSColor->Brush->Color; + emap.erase("CurrentVSColorRed"); emap.insert(ConfigEntMap::value_type("CurrentVSColorRed", IntToStr(color & 0xFF).c_str())); + emap.erase("CurrentVSColorGreen"); emap.insert(ConfigEntMap::value_type("CurrentVSColorGreen", IntToStr((color >> 8) & 0xFF).c_str())); + emap.erase("CurrentVSColorBlue"); emap.insert(ConfigEntMap::value_type("CurrentVSColorBlue", IntToStr((color >> 16) & 0xFF).c_str())); + emap.erase("AutoVSColor"); emap.insert(ConfigEntMap::value_type("AutoVSColor", IntToStr((Optionsfrm->AutoVSColor->Checked)?1:0).c_str())); + emap.erase("FontSize"); emap.insert(ConfigEntMap::value_type("FontSize", IntToStr(atoi(Optionsfrm->fontSize->Text.c_str())).c_str())); + optionsconf->Sections["Appearance"] = emap; + + emap = optionsconf->Sections["Bookmarks"]; + emap.erase("AutoSavePersonal"); emap.insert(ConfigEntMap::value_type("AutoSavePersonal", IntToStr((Optionsfrm->AutoBMPersonal->Checked)?1:0).c_str())); + emap.erase("AutoSaveOther"); emap.insert(ConfigEntMap::value_type("AutoSaveOther", IntToStr((Optionsfrm->AutoBMOther->Checked)?1:0).c_str())); + optionsconf->Sections["Bookmarks"] = emap; + + emap = optionsconf->Sections["Hints"]; + emap.erase("On"); emap.insert(ConfigEntMap::value_type("On", IntToStr((Optionsfrm->HintPopups->Checked)?1:0).c_str())); + optionsconf->Sections["Hints"] = emap; + + optionsconf->Save(); + } + + tmpval = ((eit = optionsconf->Sections["Hints"].find("On")) != optionsconf->Sections["Hints"].end())? (*eit).second : (string)"1"; + + if (atoi(tmpval.c_str())) + Form1->ShowHint = true; + else Form1->ShowHint = false; + +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::cbBookChange(TObject *Sender) +{ + CHBox->Text = "1"; + VSBox->Text = "1"; + if (Screen->ActiveControl == cbBook) + btnLookupClick(Sender); +} +//--------------------------------------------------------------------------- +void __fastcall TForm1::FormCreate(TObject *Sender) +{ + Hint = ""; + Application->OnHint = DisplayHint; + Application->ShowHint = true; + this->ShowHint = true; +} + + +void TForm1::AddVerseChoices(TPopupMenu *menu, const char *buf, TRichEdit *rtf) { + TMenuItem *newitem; + + tmpVerseList = VerseKey::ParseVerseList((char *)buf, DefaultVSKey); + + ModMap::iterator target; + target = mainmgr->Modules.find(((TPageControl*)rtf->Parent->Parent)->ActivePage->Caption.c_str()); + if (target != Form1->mainmgr->Modules.end()) { + char *keytext = 0; // check for and remove return at end of keytext + stdstr(&keytext, (*(*target).second).KeyText()); + if (keytext[strlen(keytext)-1] == '\r') + keytext[strlen(keytext)-1] = 0; + + tmpVerseListCaption = String("VerseList from- ") + (*target).first.c_str() + ": " + keytext; + delete [] keytext; // --------------------------------- + } + newitem = new TMenuItem(menu); + newitem->Caption = "-"; + menu->Items->Add(newitem); + newitem = new TMenuItem(menu); + newitem->Caption = "Create Verse List"; + newitem->Hint = "Create a New Verse List Window"; + newitem->Default = true; + newitem->OnClick = createVerseList; + menu->Items->Add(newitem); + int breakcnt = 3; + while (!tmpVerseList.Error()) { + breakcnt++; + newitem = new TMenuItem(menu); + newitem->Caption = (const char *)tmpVerseList; + newitem->OnClick = BookmarkItemClick; + if (!(breakcnt%15)) + newitem->Break = mbBreak; + menu->Items->Add(newitem); + tmpVerseList++; + } + + + +} + + +void __fastcall TForm1::PopupMenuPopup(TObject *Sender) { + + int versestart, verseend; + TPopupMenu *menu = (TPopupMenu *)Sender; + int staticMenuItemsCount = 0; + TMenuItem *newitem; + + if (menu == PopupMenu1) + staticMenuItemsCount = 3; + else if (menu == PopupMenu2) + staticMenuItemsCount = 2; + else if (menu == PopupMenu3) + staticMenuItemsCount = 6; + + while (menu->Items->Count > staticMenuItemsCount) + menu->Items->Delete(staticMenuItemsCount); + + SWDispRTF *rtf = (SWDispRTF *)Screen->ActiveControl; + if (!rtf->SelLength) { + int entrylen = strlen(rtf->Text.c_str()); + char *entrytext = new char [ entrylen + 1 ]; + int selstart = rtf->SelStart; + strcpy(entrytext, rtf->Text.c_str()); +// for (versestart = rtf->SelStart; ((versestart)&&(rtf->Text[versestart] != '#')); versestart--); + for (versestart = selstart; ((versestart)&&(entrytext[versestart] != '#')); versestart--); + if (versestart) { + for (verseend = versestart; ((verseend < entrylen) && (entrytext[verseend] != '|')); verseend++); + if ((verseend < entrylen) && (verseend > selstart)) { + int len = (verseend - versestart) + 1; + char *buf = new char [ len + 1 ]; + memset(buf, 0 , len + 1); + strncpy(buf, &entrytext[versestart+1], len - 2); // strip the # and | from the string + int buflen = strlen(buf); + for (int i = 0; i < buflen; i++) { + if ((buf[i] == 10) || (buf[i] == 13)) + buf[i] = ' '; + } + AddVerseChoices(menu, buf, rtf); + delete [] buf; + } + } + delete [] entrytext; + } + else { + string highlight = Trim(rtf->SelText).c_str(); + tmpVerseList = VerseKey::ParseVerseList((char *)highlight.c_str(), DefaultVSKey); + if (tmpVerseList.Count()) + AddVerseChoices(menu, highlight.c_str(), rtf); + +// newitem = new TMenuItem(menu); +// newitem->Caption = "Verse Lookup"; +// newitem->Hint = "Attempt to lookup highlighted text as a verse"; +// newitem->OnClick = verseLookupClick; +// menu->Items->Add(newitem); + } + +} +//--------------------------------------------------------------------------- + + +void __fastcall TForm1::createVerseList(TObject *Sender) +{ + TVerseListFrm *tmpForm = new TVerseListFrm(this, tmpVerseList); + tmpForm->Caption = tmpVerseListCaption; + tmpForm->Show(); +} +//--------------------------------------------------------------------------- + +void __fastcall TForm1::freeHandLookupoldKeyPress(TObject *Sender, char &Key) +{ + if (Key == '\r') { + ListKey tmpVerseList = VerseKey::ParseVerseList(freeHandLookup->Text.c_str(), DefaultVSKey); + + if (tmpVerseList.Count()) { + int index = freeHandLookup->Items->IndexOf(freeHandLookup->Text); + freeHandLookup->Items->Insert(0, freeHandLookup->Text); + + if (index >= 0) + freeHandLookup->Items->Delete(index+1); + + freeHandLookup->ItemIndex = 0; + + if (tmpVerseList.Count() > 1) { + TVerseListFrm *tmpForm = new TVerseListFrm(this, tmpVerseList); + tmpForm->Caption = "User Verse List"; + tmpForm->Show(); + } + + tmpVerseList = TOP; + DefaultVSKey = tmpVerseList; + TextKeyChanged(); + } + } +} +//--------------------------------------------------------------------------- + + +void __fastcall TForm1::RTFMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { + ((TWinControl *)Sender)->SetFocus(); + TRichEdit *rtf = (TRichEdit *)Sender; + if (Button == mbRight) { + if (!rtf->SelLength) + SendMessage(rtf->Handle, WM_LBUTTONDOWN, MK_LBUTTON, MAKELONG(X, Y)); + } +} + + +//--------------------------------------------------------------------------- + +void __fastcall TForm1::EditEntry1Click(TObject *Sender) +{ + SWDispRTF *rtf = (SWDispRTF *)Screen->ActiveControl; + SWModule *module; +// EditEntry->RichEdit1->Text = rtf->Text; + ModMap::iterator target; + target = mainmgr->Modules.find(((TPageControl*)rtf->Parent->Parent)->ActivePage->Caption.c_str()); + if (target != Form1->mainmgr->Modules.end()) { + EditEntry->Module = module = (*target).second; + EditEntry->RTFDisplay = rtf; + } + else EditEntry->Module = module = 0; + EditEntry->ShowModal(); + if (EditEntry->ResultBuf) { + if (module) +// DictKeyEdit->Text = EditEntry->ResultBuf; // for testing purposes + *module << EditEntry->ResultBuf; + } + RefreshActiveSheet(PageControl2); +} +//--------------------------------------------------------------------------- + +void __fastcall TForm1::DeleteEntry1Click(TObject *Sender) +{ + SWDispRTF *rtf = (SWDispRTF *)Screen->ActiveControl; + SWModule *module; + ModMap::iterator target; + + target = mainmgr->Modules.find(((TPageControl*)rtf->Parent->Parent)->ActivePage->Caption.c_str()); + if (target != Form1->mainmgr->Modules.end()) { + module = (*target).second; + module->Delete(); + } + RefreshActiveSheet(PageControl2); +} +//--------------------------------------------------------------------------- + +void __fastcall TForm1::LinktoVerse1Click(TObject *Sender) +{ + if (VerseSelFrm->ShowModal() == mrOk) { + SWDispRTF *rtf = (SWDispRTF *)Screen->ActiveControl; + SWModule *module; + ModMap::iterator target; + SWKey *linkkey = new VerseKey(VerseSelFrm->Panel2->Caption.c_str()); + + target = mainmgr->Modules.find(((TPageControl*)rtf->Parent->Parent)->ActivePage->Caption.c_str()); + if (target != Form1->mainmgr->Modules.end()) { + module = (*target).second; + *module << linkkey; + } + RefreshActiveSheet(PageControl2); + } +} +//--------------------------------------------------------------------------- + + +void __fastcall TForm1::GlobalOptionChange(TObject *Sender) +{ + TMenuItem *menuchoice = (TMenuItem *)Sender; + const char *source = menuchoice->Caption.c_str(); + char *value = new char [strlen(source) + 1]; + int k = 0; + for (unsigned int j = 0; j < strlen(source); j++) { + if (source[j] != '&') + value[k++] = source[j]; + } + value[k] = 0; + source = menuchoice->Parent->Caption.c_str(); + char *option = new char [strlen(source) + 1]; + k = 0; + for (unsigned int j = 0; j < strlen(source); j++) { + if (source[j] != '&') + option[k++] = source[j]; + } + option[k] = 0; + mainmgr->setGlobalOption(option, value); + delete [] option; + delete [] value; + TextKeyChanged(); +} +//--------------------------------------------------------------------------- + + + +void __fastcall TForm1::OptionShowVals(TObject *Sender) +{ + TMenuItem *menuChoice = (TMenuItem *)Sender; + + string option = menuChoice->Caption.c_str(); + int k = 0; + const char *source = option.c_str(); + char *caption = new char [strlen(source) + 1]; + for (unsigned int j = 0; j < strlen(source); j++) { + if (source[j] != '&') + caption[k++] = source[j]; + } + caption[k] = 0; + + string value = mainmgr->getGlobalOption(caption); + delete [] caption; + for (int i = 0; i < menuChoice->Count; i++) { + int k = 0; + char *source = menuChoice->Items[i]->Caption.c_str(); + char *caption = new char [strlen(source) + 1]; + for (unsigned int j = 0; j < strlen(source); j++) { + if (source[j] != '&') + caption[k++] = source[j]; + } + caption[k] = 0; + if (!stricmp(caption, value.c_str())) + menuChoice->Items[i]->Checked = true; + else menuChoice->Items[i]->Checked = false; + delete [] caption; + } +} +//--------------------------------------------------------------------------- + +void __fastcall TForm1::Contents1Click(TObject *Sender) +{ + string helpDir; + ConfigEntMap::iterator it = optionsconf->Sections["Help"].find("Directory"); + if (it != optionsconf->Sections["Help"].end()) + helpDir = (*it).second; + else helpDir = ".\\help"; + + string helpExe = helpDir + "\\sword.chm"; + + if ((int)ShellExecute(this->Handle, "open", helpExe.c_str(), NULL, NULL, SW_SHOWNORMAL) < 33) { + helpExe = helpDir + "\\index.html"; + ShellExecute(this->Handle, "open", helpExe.c_str(), NULL, NULL, SW_SHOWNORMAL); + } +} +//--------------------------------------------------------------------------- + + +void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action) +{ + int saveCount = 5; + + + ConfigEntMap section; + ConfigEntMap::iterator entryIt; + + section = layoutconf->Sections["History"]; + entryIt = section.find("SearchSaveCount"); + if (entryIt != section.end()) + saveCount = atoi(entryIt->second.c_str()); + else section.insert(ConfigEntMap::value_type("SearchSaveCount", "5")); + + section.erase("SearchText"); + for (int loop = 0; ((loop < saveCount) && (loop < Form2->SearchText->Items->Count)); loop++) + section.insert(ConfigEntMap::value_type("SearchText", Form2->SearchText->Items->Strings[loop].c_str())); + + entryIt = section.find("LookupSaveCount"); + if (entryIt != section.end()) + saveCount = atoi(entryIt->second.c_str()); + else section.insert(ConfigEntMap::value_type("LookupSaveCount", "5")); + + section.erase("LookupText"); + for (int loop = 0; ((loop < saveCount) && (loop < freeHandLookup->Items->Count)); loop++) + section.insert(ConfigEntMap::value_type("LookupText", freeHandLookup->Items->Strings[loop].c_str())); + + section.erase("LastVerse"); + section.insert(ConfigEntMap::value_type("LastVerse", (const char *)DefaultVSKey)); + + layoutconf->Sections["History"] = section; + layoutconf->Save(); + +} +//--------------------------------------------------------------------------- + +void __fastcall TForm1::lbDictKeysClick(TObject *Sender) +{ + DictKeyEdit->Text = lbDictKeys->Items->Strings[lbDictKeys->ItemIndex]; +} +//--------------------------------------------------------------------------- + diff --git a/apps/windoze/CBuilder4/BibleCS/mainfrm.dfm b/apps/windoze/CBuilder4/BibleCS/mainfrm.dfm Binary files differnew file mode 100644 index 0000000..76b27a2 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/mainfrm.dfm diff --git a/apps/windoze/CBuilder4/BibleCS/mainfrm.h b/apps/windoze/CBuilder4/BibleCS/mainfrm.h new file mode 100644 index 0000000..60cdc25 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/mainfrm.h @@ -0,0 +1,252 @@ +//--------------------------------------------------------------------------- +#ifndef mainfrmH +#define mainfrmH +//--------------------------------------------------------------------------- +#include <vcl\Classes.hpp> +#include <vcl\Controls.hpp> +#include <vcl\StdCtrls.hpp> +#include <vcl\Forms.hpp> +#include <vcl\ExtCtrls.hpp> +#include <vcl\ComCtrls.hpp> +#include <swmgr.h> +#include <swtext.h> +#include <strkey.h> +#include <regex.h> +#include <listkey.h> +#include "swdisprtfchap.h" +#include <vcl\Buttons.hpp> +#include <vcl\Menus.hpp> +#include <vcl\DdeMan.hpp> +//#include <NMHTML.hpp> +#include <OleCtrls.hpp> +#include <ToolWin.hpp> +//#include <vcl\isp.hpp> +#include <shellapi.h> +#include <Graphics.hpp> +#include <ImgList.hpp> +#include <jpeg.hpp> +#include <list> +#include <vector> + +class RTFDisp : public SWDisplay { + SWDispRTF *edit; +public: + RTFDisp(SWDispRTF *iedit) { edit = iedit; } + RTFDisp() {} + char Display(SWModule &imodule) { + return edit->Display(imodule); + } +}; + +/* +class HREFDisp : public SWDisplay { + THTML *edit; +public: + HREFDisp(THTML *iedit) { edit = iedit; } + HREFDisp() {} + char Display(SWModule &imodule) { + edit->RequestDoc((char *)imodule); + } +}; +*/ + +class DispExternal : public SWDisplay { +public: + DispExternal() {} + char Display(SWModule &imodule) { + SHELLEXECUTEINFO info; + info.cbSize = sizeof(SHELLEXECUTEINFO); + info.fMask = SEE_MASK_NOCLOSEPROCESS; //SEE_MASK_CLASSNAME; + info.hwnd = GetFocus(); + info.lpVerb = "open"; + info.lpFile = (char *)imodule; + info.lpParameters = NULL; + info.lpDirectory = NULL; + info.nShow = 0; +// info.lpClass = ".html"; + ShellExecuteEx(&info); +// ShellExecute(edit->Handle, "open", (char *)imodule, NULL, NULL, SW_SHOWNORMAL); + return 0; + } +}; + + +class ModState { +public: + ModState(TPageControl *ipc, TTabSheet *iap, SWKey ikey) { pc = ipc; ap = iap; key = ikey; } + ModState(); + TPageControl *pc; + TTabSheet* ap; + SWKey key; +}; + +//--------------------------------------------------------------------------- +class TForm1 : public TForm +{ +__published: // IDE-managed Components + TPanel *pnlTextCom; + TSplitter *Splitter2; + TPanel *pnlText; + TPanel *pnlComment; + TSplitter *Splitter1; + TPanel *pnlDict; + TPageControl *PageControl1; + TPageControl *PageControl2; + TStatusBar *StatusBar1; + TPageControl *PageControl3; + TMainMenu *MainMenu1; + TMenuItem *Search1; + TMenuItem *NewSearchWindow1; + TMenuItem *Help1; + TMenuItem *About1; + TPopupMenu *PopupMenu2; + TMenuItem *DictionaryLookup1; + TMenuItem *File1; + TMenuItem *SaveLayout1; + TMenuItem *Exit1; + TMenuItem *N1; + TDdeServerItem *Search; + TDdeServerItem *Lookup; + TDdeServerConv *Bible; + TPopupMenu *PopupMenu1; + TMenuItem *MenuItem1; + TMenuItem *Copy1; + TMenuItem *CopyasBGreekTransliteration1; + TMenuItem *Copy2; + TMenuItem *Edit1; + TMenuItem *Copy3; + TPopupMenu *BookmarkPopup; + TMenuItem *AddBookmark1; + TMenuItem *N2; + TMenuItem *EditBookmarks1; + TMenuItem *Options1; + TCoolBar *CoolBar1; + TImageList *ImageList1; + TImage *BackBtnImage; + TImage *SearchBtnImage; + TToolBar *ToolBar2; + TToolButton *ToolButton3; + TToolButton *ToolButton4; + TPanel *pnlSpeed; + TPanel *Panel1; + TComboBox *cbBook; + TEdit *CHBox; + TUpDown *UpDown1; + TEdit *VSBox; + TUpDown *UpDown2; + TSpeedButton *btnLookup; + TToolBar *ToolBar1; + TImageList *ImageList2; + TImage *BookmarkBtnImage; + TSpeedButton *Bookmarkbtn; + TPopupMenu *PopupMenu3; + TMenuItem *MenuItem2; + TMenuItem *MenuItem3; + TMenuItem *N3; + TMenuItem *EditEntry1; + TMenuItem *DeleteEntry1; + TMenuItem *LinktoVerse1; + TMenuItem *Options2; + TMenuItem *Contents1; + TComboBox *freeHandLookup; + TPanel *Panel2; + TSplitter *Splitter3; + TRichEdit *DictKeyEdit; + TListBox *lbDictKeys; + void __fastcall PageControl1Change(TObject *Sender); + void __fastcall btnLookupClick(TObject *Sender); + void __fastcall PageControl2Change(TObject *Sender); + + + + void __fastcall DictKeyEditChange(TObject *Sender); + void __fastcall PageControl3Change(TObject *Sender); + void __fastcall NewSearchWindow1Click(TObject *Sender); + + void __fastcall Exit1Click(TObject *Sender); + void __fastcall About1Click(TObject *Sender); + void __fastcall DictionaryLookup1Click(TObject *Sender); + void __fastcall SaveLayout1Click(TObject *Sender); + + + void __fastcall FormShow(TObject *Sender); + + void __fastcall LookupPokeData(TObject *Sender); + + void __fastcall SearchPokeData(TObject *Sender); + void __fastcall UpDown3Click(TObject *Sender, TUDBtnType Button); + void __fastcall UpDown1Click(TObject *Sender, TUDBtnType Button); + + + void __fastcall BackbtnClick(TObject *Sender); + void __fastcall Button1Click(TObject *Sender); + void __fastcall CopyasBGreekTransliteration1Click(TObject *Sender); + void __fastcall Copy1Click(TObject *Sender); + + + + void __fastcall AddBookmark1Click(TObject *Sender); + void __fastcall BookmarkItemClick(TObject *Sender); + void __fastcall BookmarkbtnClick(TObject *Sender); + void __fastcall EditBookmarks1Click(TObject *Sender); + + void __fastcall FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift); + void __fastcall Options1Click(TObject *Sender); + void __fastcall cbBookChange(TObject *Sender); + + void __fastcall FormCreate(TObject *Sender); + void __fastcall DisplayHint(TObject* Sender) ; + void __fastcall PopupMenuPopup(TObject *Sender); + void __fastcall createVerseList(TObject *Sender); + void __fastcall freeHandLookupoldKeyPress(TObject *Sender, char &Key); + void __fastcall RTFMouseDown(TObject *Sender, TMouseButton Button, + TShiftState Shift, int X, int Y); + void __fastcall EditEntry1Click(TObject *Sender); + void __fastcall DeleteEntry1Click(TObject *Sender); + void __fastcall LinktoVerse1Click(TObject *Sender); + + void __fastcall GlobalOptionChange(TObject *Sender); + + + void __fastcall OptionShowVals(TObject *Sender); + void __fastcall Contents1Click(TObject *Sender); + void __fastcall FormClose(TObject *Sender, TCloseAction &Action); + void __fastcall lbDictKeysClick(TObject *Sender); + void __fastcall verseLookupClick(TObject *Sender); +private: // User declarations + list <SWDisplay *> displays; // so we can delete each display we create + list <ModState *> modstates; + vector <ModState *> ctrlstates; + bool logmodstate; + bool freshdict; + + char CreateTextPane(SWModule *mod, char *font = 0); + char CreateCommentPane(SWModule *mod); + char CreateLDPane(SWModule *mod); + void PushState(); + void BackState(); + void ForwardState(); + void BuildRTFHeader(char *buf, char *font, int max); + void AddSectionToMenu(TMenu *menu, TMenuItem *item, TTreeNode *tree); + void FillDictKeys(); + void AddVerseChoices(TPopupMenu *menu, const char *buf, TRichEdit *rtf); + +public: // User declarations + VerseKey DefaultVSKey; + SWKey DefaultStrKey; + SWMgr *mainmgr; + SWConfig *layoutconf; + SWConfig *optionsconf; + __fastcall TForm1(TComponent* Owner); + __fastcall ~TForm1(); + void RefreshActiveSheet(TPageControl *ts); + void TextKeyChanged(); // updates dependents on TextKeyChanged + void RefreshBookmarksMenu(TMenu *menu, TTreeView *tree); + void RestoreState(ModState *state); + ListKey tmpVerseList; + String tmpVerseListCaption; +}; +//--------------------------------------------------------------------------- +extern TForm1 *Form1; +//--------------------------------------------------------------------------- +#endif diff --git a/apps/windoze/CBuilder4/BibleCS/mods.conf b/apps/windoze/CBuilder4/BibleCS/mods.conf new file mode 100644 index 0000000..dbfa84a --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/mods.conf @@ -0,0 +1,487 @@ +[Globals] +;AutoInstall=./newmods/ + + +[OLB] +DataPath=../../../../modules/texts/rawgbf/olb/ +ModDrv=RawGBF +GlobalOptionFilter=GBFStrongs +GlobalOptionFilter=GBFFootnotes +Description=OLB Converted Module +About= OLB Converted Module + +[-+*Personal*+-] +DataPath=../../../../modules/comments/rawfiles/personal/ +ModDrv=RawFiles +Description=Personal Commentary +About=This module allows you to store your own commentary. + +[SpanishRVA] +DataPath=../../../../modules/texts/rawgbf/spanishrva/ +ModDrv=RawGBF +Description=The New International Version +About=\qc El texto b¡blico designado RVA es de LA SANTA BIBLIA, \par \ +VERSION REINA-VALERA ACTUALIZADA. Copyright 1982, 1986, \par \ +1987, 1989 de la Casa Bautista de Publicaciones. \par\par \ +Todos los derechos reservados. \par\par \ +El texto computarizado de la RVA para LA BIBLIA COM- \par \ +PUTARIZADA no puede ser modificado ni copiado sin per- \par \ +miso por escrito por la Casa Bautista de Publicaciones. \par\pard \ + + +[NASB] +DataPath=../../../../modules/texts/rawgbf/nasb/ +ModDrv=RawGBF +Description=The New American Standard Bible +About=\qc -=+* see the file errata.doc for important verse descrepencies *+=- \par\par \ +The New American Standard Bible \par \ +Copyright THE LOCKMAN FOUNDATION, 1960, 1962, 1963 \par \ +La Habra, Calif. \par \ +All rights in this book are reserved. \par \ +No part may be reproduced in any manner without \par \ +permission in writing from The Lockman Foundation, \par \ +except brief quotations used in connection with \par \ +a review in a magazine or newspaper. \par\pard + + + + +[NIV] +DataPath=../../../../modules/texts/rawgbf/niv/ +ModDrv=RawGBF +Description=The New International Version +About=\qc -=+* see the file errata.doc for important verse descrepencies *+=- \par\par\pard \ +Quotations designated (NIV) are from \par\par \ +THE HOLY BIBLE: NEW INTERNATIONAL VERSION®. \par \ +Copyright © 1973, 1978, 1984 by International Bible Society; \ +Zondervan Publishing House. All rights reserved. \par\par \ +The "NIV" and "New International Version" trademarks are registered in \ +the United States Patent and Trademark Office by International Bible \ +Society. \par\par \ +The NIV text may be quoted in any form (written, visual, electronic, or \ +audio), up to and inclusive of five hundred (500) verses or less without \ +written permission, providing the verses quoted do not amount to a \ +complete book of the Bible, do not comprise 25% or more of the total \ +text of the work in which they are quoted, and the verses are not being \ +quoted in a commentary or other Biblical reference work. This \ +permission is contingent upon an appropriate copyright acknowledgment. \par\par \ +The NIV database is not a shareware program and may not be \ +duplicated. \par\par\pard + + +[JFB] +DataPath=../../../../modules/comments/hrefcom/jfb/ +ModDrv=HREFCom +Prefix=http://ccel.wheaton.edu/j/jfb/jfb/ +;External=0 +;Prefix=file:///../../../../modules/comments/hrefcom/jfb/ +External=1 +Description=Jamison Faucett Brown Bible Commentary +About=\qc Jamison Faucett Brown Commentary + + +[Naves] +DataPath=../../../../modules/lexdict/rawld/naves/naves +ModDrv=RawLD +Description=Nave's Topical Bible +About= -=+* see the file 'naves.doc' for more details *+=-\par\par \ +\qc Nave's Topical Bible \par\par \ +Public Domain -- Copy Freely \par\par\pard \ + Nave's Topics were originaly produced by Orville J. Nave, A.M., D.D., \ +LL.D. while serving as a Chaplin in the United States Army. He referred \ +to this work as "the result of fourteen years of delightful and untiring \ +study of the Word of God." Nave's topics were originally published in \ +the early 1900's, and a photo-offset reproduction is currently published \ +by Hendrickson, ISBN 0-917006-02-X. The title page states that this \ +work consists of 20,000+ topics and subtopics, and 100,000 references to \ +the Scriptures. \par\par \ + The most current and correct copies of these files can be obtained from the \ +following. If any errors are located, please ensure you have the latest files, and if so, \ +we would appreciate being informed of the error. \par\par \ + The Bible Foundation \par \ + http://www.bf.org \par\par \ + Or by contacting: \par\par \ + Mark Fuller \par \ + 1129 East Loyola Drive \par \ + Tempe, Arizona, 85282 \par \ + 602-829-8542 (voice) + +[BBE] +DataPath=../../../../modules/texts/rawtext/bbe/ +ModDrv=RawText +Description=The Bible in Basic English +About= \qc -=+* see the file 'bbe.doc' for more details *+=-\par\par \ +1949/1964 Bible In Basic English \par \ +Public Domain -- Copy Freely \par\par\pard \ +The Bible In Basic English was printed in 1965 by Cambridge Press in \ +England. Published without any copyright notice and distributed in \ +America, this work fell immediatly and irretrievably into the Public \ +Domain in the United States according to the UCC convention of that \ +time. A call to Cambridge prior to placing this work in etext resulted \ +in an admission of this fact. \par\par \ +For more information about the text, see the file INTRO.BBE which \ +contains the printed introduction page. \par\par \ +The most current and correct copies of these files can be obtained from \ +the following. If any errors are located, please ensure you have the \ +latest files, and if so, we would appreciate being informed of the \ +error. \par\par \ + The Bible Foundation \par \ + http://www.bf.org \par\par \ +Or by contacting: \par \ + Mark Fuller\par \ + 1129 East Loyola Drive \par \ + Tempe, Arizona, 85282 \par \ + 602-829-8542 (voice) + +[IndTB] +DataPath=../../../../modules/texts/rawtext/indtb/ +ModDrv=RawText +Description=Indonesian Terjemahan Baru +About=\qc Terjemahan Baru (TB) \par\par \ +Copyright Lembaga Alkitab Indonesia \par \ +(Indonesian Bible Society), 1994. \par \ +Released for non-profit scholarly and personal use. \par \ +Not to be sold for profit. \par \ +When making formal public reference to the materials, \par \ +please acknowlege The Indonesian Bible Society \par \ +(Lembaga Alkitab Indonesia) as the copyright holder. \par \pard + + + +[IndBIS] +DataPath=../../../../modules/texts/rawtext/indbis/ +ModDrv=RawText +Description=Indonesian Bahasa Indonesia Sehari-hari (BIS) +About=\qc Bahasa Indonesia Sehari-hari (BIS) \par\par \ +Copyright Lembaga Alkitab Indonesia \par \ +(Indonesian Bible Society), 1994. \par \ +Released for non-profit scholarly and personal use. \par \ +Not to be sold for profit. \par \ +When making formal public reference to the materials, \par \ +please acknowlege The Indonesian Bible Society \par \ +(Lembaga Alkitab Indonesia) as the copyright holder. \par \pard + + + +[Websters] +DataPath=../../../../modules/texts/rawtext/websters/ +ModDrv=RawText +Description=The Webster Bible +About= -=+* see the files 'intro.txt' and 'revision.txt' for more details *+=-\par\par \ +\qc THE \par HOLY BIBLE, \par CONTAINING THE \par OLD AND NEW TESTAMENTS, \par IN THE \par \ +COMMON VERSION. \par WITH \par AMENDMENTS OF THE LANGUAGE, \par \ +BY NOAH WEBSTER, LL. D. \par\par ------------- \par NEW HAVEN: \par \ +PUBLISHED BY DURRIE & PECK. \par \ +Sold by HEZEKIAH HOWE & CO., and A. H. MALTBY, New Haven; \par \ +and by N.&J. WHITE, New York. \par\par ------ \par 1833 \par\par \ +Webster Bible Electronic Format.\par \ +PUBLIC DOMAIN\par\par \ +February 1992\par\par\pard \ +Webster Biography:\par \ +Noah Webster: America's first grammarian and founding father of American education.\par\par \ + In 1828 Noah Webster published the 'American Dictionary of the English Language'. This \ +dictionary demonstrates the Christian values which were found in America's educational \ +and scholarly systems. It is from this early dictionary that we have todays popular \ +'Webster Dictionary'. In 1833 Noah Webster, who had mastered 20 languages including \ +Hebrew and Greek, published the King James Authorized Version 'with amendments to the \ +language'. In stating his reasons for producing this version of the Bible, Webster said:\par\par \ + 'In the present version, the language is, in general, correct and perspicuous; \ +... in many passages uniting sublimity with beautiful simplicity. In my view, the general \ +style of the version ought not to be altered. But, in the lapse of two or three centuries, \ +changes have taken place, which, in particular passages, impair the beauty; in others, \ +obscure the sense, of the original languages. ... they do not present to the reader \ +the Word of God. ... My principal aim is to remedy this evil.'\par\par \ +It was with cautious reverence that Webster corrected misused grammar, removed offensive \ +terms and expressions, and substituted commonly understood words for words that had fallen \ +into disuse, or no longer carried the same meaning.\par\par\ + In 1834, the year after completing the Webster Bible, Noah Webster wrote a \ +companion piece titled 'Value of the Bible and Excellence of the Christian Religion - For \ +the Use of Families and Schools'.\par\par\ + Webster, who was considered 'The schoolmaster to a nation' and produced the \ +earliest spellers and textbooks for America's school children, believed Christian religious \ +values and American public education to be inseparable. He believed the Webster Bible to \ +be 'the most important enterprise' of his life, and referred to the Bible as:\par\par \ + '... the chief moral cause of all that is good, and the best corrector of all that \ +is evil, in human society; the best book for regulating the temporal concerns of men, and \ +the only book that can serve as an infallible guide to future felicity.'\par\par \ +Introduction to the Electronic Format:\par \ + Beginning in July of 1991 the task of placing the Webster Bible text in electronic \ +format began. The original purpose was to provide Larry Pierce, who produces the \ +On-Line Bible program, with a more modern *public domain* text, similar in content and \ +style to the AV but with a grammar that would provide better comprehension in todays \ +English.\par\par\ + I plan on maintaining an accurate copy of the Webster text. Anyone finding an \ +error should contact me; Anyone desiring to obtain the latest, most correct text, can find \ +it on the Bible Foundation BBS, or can contact me in the following methods:\par \ + Internet acus10@waccvm.corp.mot.com\par \ + Home phone 602-829-8542\par \ + Address Mark Fuller\par \ + 1129 East Loyola Drive\par \ + Tempe Arizona, 85282\par \ + Bible Foundation http://www.bf.org\par\par \ + I would like to thank the Bible Foundation not only for scanning nearly the entire \ +Webster Bible but for encouraging me to undertake this monumental work; particularly around \ +page 20 when I realized what I had gotten myself into. Special thanks to Jerry Kingery of \ +the Bible Foundation for scanning, and Jerry Hastings for doing some preliminary scan \ +cleaning and making the texts available on the BBS. + + +[Sve] +DataPath=../../../../modules/texts/rawtext/sve/ +ModDrv=RawText +Description=Swedish Bible 1917 New Testament +About=\qc BIBELN eller DEN HELIGA SKRIFT \par innehållande \par \ +NYA TESTAMENTETS KANONISKA BÖCKER \par i överensstämmelse med den av \par \ +KONUNGEN ÅR 1917 \par gillade och stadfästa översättningen \par\par \ +THE BIBLE or THE HOLY SCRIPT \par containing \par CANONICAL BOOKS OF NEW TESTAMENT \par \ +in conformity with that of \par THE KING YEAR 1917 \par \ +liked and confirmed translation \par\par\pard \ + Thank you to Roland Nygren for making this work available. For the latest \ +information, to report corrections, or for other correspondence: \par\par \ + Roland Nygren \par \ + qtxrony@aom.ericsson.se + +[VNT] +DataPath=../../../../modules/texts/rawtext/vnt/ +ModDrv=RawText +Description=Valera 1858 Spanish New Testament Text +About=\qc-=+* see the file 'intro.rtf' for more details *+=- \par\par \ +El \par NUEVO TESTAMENTO \par DE \par NUESTRO SEÑOR JESU-CRISTO \par \ +QUE CONTIENE \par LOS ESCRITOS EVANGÉLICOS Y APOSTÓLICOS \par \ +ANTIGUA VERSION DE CIPRIANO DE VALERA \par REVISADA \par \ +Con arreglo al original griego. \par MADRID \par \ +SE HALLA EN EL DEPÓSITO CENTRAL DE LA SOCIEDAD BÍBLICA B. Y E. \par \ +Calle de Preciados, número 46. \par 1884 \par EL SANTO EVANGELIO \par DE \par \ +NUESTRO SEÑOR JESU-CRISTO \par SEGUN \par SAN MATEO. \par\par \pard \ + Thank you to Bill Kincaid for making this work available. \ +This New Testament text (Valera 1858) was downloaded from The Word of God in \ +Spanish: Valera 1909 web site. (http://www.west.ga.net/~ForHim/word.html) This text is not \ +copyrighted, you are free to distribute it as you wish. We only ask out of respect for the \ +work we invested in bringing you this text (Finding, scanning, and proofing.), that you \ +leave this notice and the following introduction ([see the file intro.rtf]) in any copies \ +that you might make publish on the Internet. If you have any questions or comments please \ +contact: mnj@acnet.net \par\par \ + Este texto del Nuevo Testamento (Valera 1858) fue bajado del la pagina de \ +web: La Palabra de Dios en Español: Valera 1909. (http://www.west.ga.net/~ForHim/word.html) \ + Este texto no tiene derechos reservados, puedes distribuirlo como quieres. Solamente \ +pedimos que por respeto del trabajo que invertimos en dándote este texto (Encontrando, \ +escaneando, y corrigiendo.), que dejes esta noticia y la siguiente introducción \ +(FILE: intro.rtf) en cualquier copia que publicas sobre el Internet. Si tienes cualquier \ +pregunta o comentario por favor escribe a: mnj@acnet.net. + + +[MHC] +DataPath=../../../../modules/comments/rawcom/mhc/ +ModDrv=RawCom +Description=Matthew Henry's Commentary on the Whole Bible +About=\qc Matthew Henry's \par Concise Commentary on the Whole Bible \par\par \ +Public Domain--Copy Freely. \par\par\pard \ + This text matches the printed edition as published by Moody Press, 28th printing, \ +no Copyright displayed. ISBN: 0-8024-5190-X. This text was created from an existing \ +electronic copy, with roughly 1200 errors corrected. The current files can be \ +found at: \par\par \ + The Bible Foundation, \par \ + http://www.bf.org \par\par \ + If any errors are located, please notify me at the above BBS, or at: \par\par \ + Mark Fuller \par \ + 1129 E. Loyola Dr. \par \ + Tempe, Az. 85282 \par \ + (602) 829-8542 + + + +[RWP] +DataPath=../../../../modules/comments/rawcom/rwp/ +ModDrv=RawCom +Description=Robertson's Word Pictures +About=\qc -=+* see the files 'about.txt', 'title.pg', 'rwp.int', 'read.me', and \ +'correct.txt' for more details *+=- \par\par \ + Robertson's \par Word Pictures in the \par New Testament \par\par \ +A.T. Robertson, A.M., D.D., LL. D., Litt.D. \par\par\pard \ +Vol 1,2,3,4 Public Domain -- Copy Freely \par\par Volume 5 (c) 1932. \par \ +Renewal 1960 Broadman Press. All rights reserved. \par Used by permission. \par \ +[Copyright expires Dec. 31, 2006.] \par\par Volume 6 (c) 1933. \par \ +Renewal 1960 Broadman Press. All rights reserved. \par Used by permission. \par \ +[Copyright expires Dec. 31, 2007.] \par\par \ ++--------------- Copy Freely --------------+ \par\par \ + The current files can be found at: \par\par \ + The Bible Foundation, \par \ + http://www.bf.org \par\par \ + If any errors are located, please notify me at the above location, or at: \par\par \ + Mark Fuller \par \ + 1129 E. Loyola Dr. \par \ + Tempe, Az. 85282 \par \ + (602) 829-8542 + + +[Eastons] +DataPath=../../../../modules/lexdict/rawld/eastons/eastons +ModDrv=RawLD +Description=Easton's Bible Dictionary +About=\qc Easton's 1897 Bible Dictionary \par\par \ +Public Domain -- Copy Freely \par\par\pard \ + These Dictionary topics are from M.G. Easton M.A., D.D., Illustrated Bible \ +Dictionary, Third Edition, published by Thomas Nelson, 1897. Due to the nature of etext, \ +the illustrated portions of the Dictionary have not been included. \par\par \ + The most current and correct copies of these files can be obtained from the \ +following. If any errors are located, please ensure you have the latest files, and if so, \ +we would appreciate being informed of the error. \par\par \ + The Bible Foundation \par \ + http://www.bf.org \par\par \ + Or by contacting: \par\par \ + Mark Fuller \par \ + 1129 East Loyola Drive \par \ + Tempe, Arizona, 85282 \par \ + 602-829-8542 (voice) + +[Vines] +DataPath=../../../../modules/lexdict/rawld/vines/vines +ModDrv=RawLD +Description=Vines Bible Dictionary +About=\qc Vine's Expository Dictionary \par of New Testament Words \par\par \ +Public Domain -- Copy Freely \par\par\pard \ + These Dictionary topics are from W.E. Vine's M.A., Expository Dictionary of New Testament \ +Words published in 1940 and without copyright. \par\par \ + The most current and correct copies of these files can be obtained from the \ +following. If any errors are located, please ensure you have the latest files, and if so, \ +we would appreciate being informed of the error. \par\par \ + The Bible Foundation \par \ + http://www.bf.org \par\par \ + Or by contacting: \par\par \ + Mark Fuller \par \ + 1129 East Loyola Drive \par \ + Tempe, Arizona, 85282 \par \ + 602-829-8542 (voice) + + +[Strongs Hebrew (OT)] +DataPath=../../../../modules/lexdict/rawld/strongs/hebrew +ModDrv=RawLD +Description=Strong's / Englishman's Hebrew Bible Dictionary +About=\qc Strong's / Englishman's Bible Dictionary \par\par \pard \ +This is a lexicon of Hebrew words keyed off of Strong's numbers. + +[Strongs Greek (NT)] +DataPath=../../../../modules/lexdict/rawld/strongs/greek +ModDrv=RawLD +Description=Strong's / Englishman's Greek Bible Dictionary +About=\qc Strong's / Englishman's Bible Dictionary \par\par \pard \ +This is a lexicon of Greek words keyed off of Strong's numbers. + + + +[WEB] +DataPath=../../../../modules/texts/rawgbf/web/ +ModDrv=RawGBF +Description=The World English Bible +About= -=+* see the file 'info.txt' for more details *+=-\par\par \ +\qc The World English Bible (WEB) \par\par Public Domain \par\par \pard \ + The World English Bible is a 1997 revision of the American Standard Version of the \ +Holy Bible, first published in 1901. It is in the Public Domain. Please feel free to copy \ +and distribute it freely. \par\par \ + Thank you to Michael Paul Johnson for making this work available. For the latest \ +information, to report corrections, or for other correspondence: \par\par \ + Michael Paul Johnson \par \ + http://www.ebible.org/bible \par \ + mpj@ebible.org + + +[ORTHJBC] +DataPath=../../../../modules/texts/rawtext/orthjbc/ +ModDrv=RawText +Description=The Orthodox Jewish Brit Chadasha +About= \qc THE ORTHODOX JEWISH BRIT CHADASHA \par\par \pard \ + A translation from the original language without goyishe and non-frum \ +terminology. \par\par \ +(C)COPYRIGHT, 1996, ARTISTS FOR ISRAEL INTERNATIONAL \par \ +ALL RIGHTS RESERVED \par \ +USED BY PERMISSION \par\par \ + Thank you to Dr. Phil Goble for making this work available. This work is NOT in \ +the public domain. Please honor all applicable copyright laws. Permission to distribute \ +this text in its present electronic format for personal use has been granted by the \ +copyright holder. \par\par \ + Please direct all correspondence to: \par\par \ + Artists for Israel International \par \ + http://www.afii.org \par \ + P. O. Box 2056 \par \ + New York, NY 10163 + + + +[N27U4] +DataPath=../../../../modules/texts/rawtext/nu/ +ModDrv=RawText +Font=Greek +Description=Nestle Aland 27th Ed./ UBS 4th Ed. Greek Text +About= \qc Thank you to Barbara Aland, Kurt Aland, Johannes Karavidopoulos, Carlo M. \ +Martini, and Bruce M. Metzger for bringing this work to us. \par\par \pard \ +GREEK.TTF Greek Regular Font (C) Peter J. Gentry & Andrew M. Fountain, 1993. All Rights \ +Reserved. Special thanks to the copyright holders for permission to use these fonts with \ +The SWORD Project for personal use. For a complete list of Greek / Hebrew Utilities or \ +inquiries for other use may be directed to: \par\par \ + Peter J. Gentry \par \ + 55 Ambercroft Blvd. \par \ + Scarborough \par \ + Ontario, Canada \par \ + M1W 2Z6 + + +[KJV] +DataPath=../../../../modules/texts/rawtext/kjv/ +ModDrv=RawText +Description=King James Version of 1611 +About= -=+* see the file 'kjvpref.rtf' for more details *+=-\par\par \ + This is the King James Version of the Holy Bible (also known as the Authorized \ +Version) in Rich Text Format (among others, italics and red included). The preface from \ +the translators is in KJVPREF.RTF. These files are in the Public Domain. \par\par \ + May God bless you as you study His Word. \par \ + Michael Paul Johnson \par \ + Sysop, Colorado Catacombs BBS (303-772-1062) \par \ + email: mpj@csn.net \par \ + http://www.csn.net/~mpj + + + + +[KJVSTR] +DataPath=../../../../modules/texts/rawtext/kjvstr/ +ModDrv=RawText +Description=King James Version of 1611 w/ Strongs Numbers +About= This is the King James Version of the Holy Bible (also known as the Authorized \ +Version) with embedded Strong's Numbers. This makes useful for looking up the exact \ +original language word in a lexicon that is keyed off of Strong's numbers. \par\par \ +Special thanks to Larry Pierce for extensive work encorporating the embedded \ +Strong's numbers in this module. This feature is not in the public domain. \ +Permission to use this feature for personal use has been granted by the author. \par \ +Inquiries and comments may be directed to: \par\par \ + Larry Pierce \par \ + 103526.2724@compuserve.com \par \ + http://www.online-bible.com + +[FrenchLSG] +DataPath=../../../../modules/texts/rawgbf/frenchlsg/ +ModDrv=RawGBF +GlobalOptionFilter=GBFStrongs +Description=French 1910 Louis Segond Version +About=The 1910 edition of the Louis Segond Bible is keyed to Strong's numbers. \ +All this material may be freely copied and shared with your friends. \ +If you wish to use this material for other purposes, please contact: \par\par \ + Stg. Publishare \par \ + c/o Transvaalstraat 5 \par \ + 3312 EX DORDRECHT \par \ + The Netherlands \par\par \ +to obtain the latest accurate copy. The Englishman Strong's numbers are \ +not in the public domain and any commercial use requires a licence. + +[NKJV] +DataPath=../../../../modules/texts/rawtext/nkjv/ +ModDrv=RawText +Version=1.2 +CipherKey=yomama +History_1.1=changed text source to more reliable version +Description=The New King James Version +About=The New King James Version NKJV, copyright 1982 \par \ +Thomas Nelson, Inc. All rights reserved. Bible text from \par \ +the New King James Version is not to be reproduced in \par \ +copies or otherwise by any means except as permitted in \par \ +writing by Thomas Nelson, Inc. diff --git a/apps/windoze/CBuilder4/BibleCS/newbmfilefrm.cpp b/apps/windoze/CBuilder4/BibleCS/newbmfilefrm.cpp new file mode 100644 index 0000000..c611804 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/newbmfilefrm.cpp @@ -0,0 +1,14 @@ +//--------------------------------------------------------------------------- +#include <vcl\vcl.h> +#pragma hdrstop + +#include "newbmfilefrm.h" +//--------------------------------------------------------------------------- +#pragma resource "*.dfm" +TNewBMfrm *NewBMfrm; +//--------------------------------------------------------------------------- +__fastcall TNewBMfrm::TNewBMfrm(TComponent* Owner) + : TForm(Owner) +{ +} +//---------------------------------------------------------------------------
\ No newline at end of file diff --git a/apps/windoze/CBuilder4/BibleCS/newbmfilefrm.dfm b/apps/windoze/CBuilder4/BibleCS/newbmfilefrm.dfm Binary files differnew file mode 100644 index 0000000..33d61d4 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/newbmfilefrm.dfm diff --git a/apps/windoze/CBuilder4/BibleCS/newbmfilefrm.h b/apps/windoze/CBuilder4/BibleCS/newbmfilefrm.h new file mode 100644 index 0000000..9b4c017 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/newbmfilefrm.h @@ -0,0 +1,27 @@ +//--------------------------------------------------------------------------- +#ifndef newbmfilefrmH +#define newbmfilefrmH +//--------------------------------------------------------------------------- +#include <vcl\Classes.hpp> +#include <vcl\Controls.hpp> +#include <vcl\StdCtrls.hpp> +#include <vcl\Forms.hpp> +//--------------------------------------------------------------------------- +class TNewBMfrm : public TForm +{ +__published: // IDE-managed Components + TLabel *Label1; + TEdit *bmfile; + TEdit *bmtitle; + TLabel *Label2; + TButton *Button1; + TButton *Button2; +private: // User declarations +public: // User declarations + __fastcall TNewBMfrm(TComponent* Owner); +}; +//--------------------------------------------------------------------------- +extern TNewBMfrm *NewBMfrm; +//--------------------------------------------------------------------------- +#endif +
\ No newline at end of file diff --git a/apps/windoze/CBuilder4/BibleCS/optionfrm.cpp b/apps/windoze/CBuilder4/BibleCS/optionfrm.cpp new file mode 100644 index 0000000..621c45f --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/optionfrm.cpp @@ -0,0 +1,22 @@ +//--------------------------------------------------------------------------- +#include <vcl\vcl.h> +#pragma hdrstop + +#include "optionfrm.h" +//--------------------------------------------------------------------------- +#pragma resource "*.dfm" +TOptionsfrm *Optionsfrm; +//--------------------------------------------------------------------------- +__fastcall TOptionsfrm::TOptionsfrm(TComponent* Owner) + : TForm(Owner) +{ +} +//--------------------------------------------------------------------------- +void __fastcall TOptionsfrm::ChooseColorbtnClick(TObject *Sender) +{ + ColorDialog1->Execute(); + CurrentVSColor->Brush->Color = ColorDialog1->Color; +} +//--------------------------------------------------------------------------- + + diff --git a/apps/windoze/CBuilder4/BibleCS/optionfrm.dfm b/apps/windoze/CBuilder4/BibleCS/optionfrm.dfm Binary files differnew file mode 100644 index 0000000..13859c6 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/optionfrm.dfm diff --git a/apps/windoze/CBuilder4/BibleCS/optionfrm.h b/apps/windoze/CBuilder4/BibleCS/optionfrm.h new file mode 100644 index 0000000..f3e1d41 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/optionfrm.h @@ -0,0 +1,47 @@ +//--------------------------------------------------------------------------- +#ifndef optionfrmH +#define optionfrmH +//--------------------------------------------------------------------------- +#include <vcl\Classes.hpp> +#include <vcl\Controls.hpp> +#include <vcl\StdCtrls.hpp> +#include <vcl\Forms.hpp> +#include <vcl\ExtCtrls.hpp> +#include <vcl\Dialogs.hpp> +#include <ComCtrls.hpp> +//--------------------------------------------------------------------------- +class TOptionsfrm : public TForm +{ +__published: // IDE-managed Components + TPanel *Panel1; + TGroupBox *GroupBox1; + TCheckBox *AutoBMPersonal; + TCheckBox *AutoBMOther; + TGroupBox *GroupBox2; + TCheckBox *AutoVSColor; + TShape *CurrentVSColor; + TColorDialog *ColorDialog1; + TButton *ChooseColorbtn; + TPanel *Panel2; + TButton *Button1; + TPanel *Panel3; + TButton *Button2; + TLabel *Label1; + TLabel *Label2; + TLabel *Label3; + TUpDown *UpDown1; + TEdit *fontSize; + TPanel *Panel4; + TGroupBox *GroupBox3; + TCheckBox *HintPopups; + void __fastcall ChooseColorbtnClick(TObject *Sender); + +private: // User declarations +public: // User declarations + __fastcall TOptionsfrm(TComponent* Owner); +}; +//--------------------------------------------------------------------------- +extern TOptionsfrm *Optionsfrm; +//--------------------------------------------------------------------------- +#endif +
\ No newline at end of file diff --git a/apps/windoze/CBuilder4/BibleCS/options.conf b/apps/windoze/CBuilder4/BibleCS/options.conf new file mode 100644 index 0000000..5b50f30 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/options.conf @@ -0,0 +1,22 @@ + +[Appearance] +AutoVSColor=1 +CurrentVSColorBlue=255 +CurrentVSColorGreen=128 +CurrentVSColorRed=0 +FontSize=0 + +[Bookmarks] +AutoSaveOther=1 +AutoSavePersonal=1 +Directory= + +[CustomRanges] +New Testament=mat - rev + +[Hints] +On=1 + +[System] +MaxFiles=40 + diff --git a/apps/windoze/CBuilder4/BibleCS/search.bmp b/apps/windoze/CBuilder4/BibleCS/search.bmp Binary files differnew file mode 100644 index 0000000..ee693be --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/search.bmp diff --git a/apps/windoze/CBuilder4/BibleCS/searchfrm.cpp b/apps/windoze/CBuilder4/BibleCS/searchfrm.cpp new file mode 100644 index 0000000..afc45c0 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/searchfrm.cpp @@ -0,0 +1,192 @@ +//--------------------------------------------------------------------------- +#include <vcl\vcl.h> +#pragma hdrstop + +#include "searchfrm.h" +#include <listkey.h> +#include "mainfrm.h" +#include <regex.h> +#include "RangeMaintFrm.h" + + +//--------------------------------------------------------------------------- +#pragma resource "*.dfm" +TForm2 *Form2; +//--------------------------------------------------------------------------- +__fastcall TForm2::TForm2(TComponent* Owner) + : TForm(Owner) { + pvrtf = new SWDispRTF(this); + + pvrtf->Parent = plPreview; + pvrtf->Align = alClient; + pvrtf->ScrollBars = ssVertical; + pvrtf->ReadOnly = true; + SearchText->Align = alClient; +// pvrtf->PopupMenu = PopupMenu2; + +// mod->Disp(*displays.insert(displays.begin(), new RTFDisp(newrtf))); +// mod->SetKey(DefaultVSKey); +// return 0; +} +//--------------------------------------------------------------------------- +void __fastcall TForm2::Button1Click(TObject *Sender) +{ +// ModMap::iterator target; + class TWaitCursor { + public: + TWaitCursor() : oldc(Screen->Cursor) { Screen->Cursor = crHourGlass; } + ~TWaitCursor() { Screen->Cursor = oldc; } + private: + TCursor oldc; + } wait; // show hourglass + + if (!SearchText->Text.Length()) + return; + + + int index = SearchText->Items->IndexOf(SearchText->Text); + SearchText->Items->Insert(0, SearchText->Text); + + if (index >= 0) + SearchText->Items->Delete(index+1); + + SearchText->ItemIndex = 0; + + Caption = ""; + + targetpc = Form1->PageControl1; + + if ((Form1->ActiveControl == Form1->PageControl2) || (IsChild(Form1->PageControl2->Handle, Form1->ActiveControl->Handle))) + targetpc = Form1->PageControl2; + if ((Form1->ActiveControl == Form1->PageControl3) || (IsChild(Form1->PageControl3->Handle, Form1->ActiveControl->Handle))) + targetpc = Form1->PageControl3; + + + target = Form1->mainmgr->Modules.find(targetpc->ActivePage->Caption.c_str()); + if (target != Form1->mainmgr->Modules.end()) { + Caption = Caption + "Searching [" + (*target).first.c_str() + "]..."; + ListBox1->Clear(); + int searchType; + switch (searchTypeGroup->ItemIndex) { + case 0: searchType = -2; break; + case 1: searchType = -1; break; + case 2: searchType = 0; break; + } + int searchOptions = (CheckBox2->Checked) ? 0 : REG_ICASE; + Button1->Caption = "Halt"; + Button1->OnClick = TerminateSearch; + SWKey *scope = 0; + switch (scopeGroup->ItemIndex) { + case 2: + if (ComboBox1->ItemIndex < 0) + results = VerseKey().ParseVerseList(ComboBox1->Text.c_str(), "", true); + else { + TCustomRange *rs = (TCustomRange *)ComboBox1->Items->Objects[ComboBox1->ItemIndex]; + results = VerseKey().ParseVerseList(rs->text.c_str(), "", true); + } + case 1: scope = &results; break; + } + searchThread = new TSearchThread(this, SearchText->Text.c_str(), searchType, searchOptions, scope); + } + else Caption = "Error finding target module"; +} + + +void __fastcall TForm2::TerminateSearch(TObject *Sender) +{ + (*target).second->terminateSearch = true; +} + +//--------------------------------------------------------------------------- +void __fastcall TForm2::ListBox1DblClick(TObject *Sender) +{ + if (targetpc == Form1->PageControl3) { + Form1->DictKeyEdit->Text = ListBox1->Items->Strings[ListBox1->ItemIndex].c_str(); + } + else { + Form1->DefaultVSKey = ListBox1->Items->Strings[ListBox1->ItemIndex].c_str(); + Form1->TextKeyChanged(); + } +} +//--------------------------------------------------------------------------- +void __fastcall TForm2::ListBox1Click(TObject *Sender) +{ + if (target != Form1->mainmgr->Modules.end()) { + SWKey *savekey = *(*target).second; + (*target).second->SetKey(ListBox1->Items->Strings[ListBox1->ItemIndex].c_str()); + pvrtf->Display(*(*target).second); + (*target).second->SetKey(*savekey); + } +} +//--------------------------------------------------------------------------- + +__fastcall TForm2::TSearchThread::TSearchThread(TForm2 *parent, string searchText, int searchType, int searchOptions, SWKey *scope, bool CreateSuspended) + : TThread(CreateSuspended) +{ + this->parent = parent; + this->searchText = searchText; + this->searchType = searchType; + this->searchOptions = searchOptions; + this->scope = scope; + Priority = tpNormal; + FreeOnTerminate = true; +} +//--------------------------------------------------------------------------- +void __fastcall TForm2::TSearchThread::FillListBox(void) +{ + for (results = TOP; !results.Error(); results++) { + parent->ListBox1->Items->Add((const char *)results); + } +// ListBox1->Items->Pack(); // so Count is set correctly (per helpfile) + parent->Caption = ""; + parent->Caption = parent->Caption + "Results from [" + (*(parent->target)).first.c_str() + "] (" + parent->ListBox1->Items->Count + ((parent->ListBox1->Items->Count == 1) ? " match)" : " matches)"); + parent->Button1->Caption = "Search"; + parent->Button1->OnClick = parent->Button1Click; +} + +void __fastcall TForm2::TSearchThread::Execute() +{ + results = (*(parent->target)).second->Search(searchText.c_str(), searchType, searchOptions, scope); + + Synchronize((TThreadMethod)&FillListBox); + parent->results = results; +} + + + + +void __fastcall TForm2::scopeGroupClick(TObject *Sender) { + bool enabled = (scopeGroup->ItemIndex == 2); + + Button2->Enabled = enabled; + ComboBox1->Enabled = enabled; +} +//--------------------------------------------------------------------------- + +void __fastcall TForm2::Button2Click(TObject *Sender) +{ + RangeMaintForm->ShowModal(); + populateRanges(); +} +//--------------------------------------------------------------------------- + +void TForm2::populateRanges() { + ConfigEntMap::iterator loop, end; + SWConfig config("./options.conf"); + ComboBox1->Clear(); + loop = config.Sections["CustomRanges"].begin(); + end = config.Sections["CustomRanges"].end(); + while (loop != end) { + TCustomRange *rs = new TCustomRange(loop->first.c_str(), loop->second.c_str()); + ComboBox1->Items->AddObject(rs->name.c_str(), rs); + loop++; + } +} + + +void __fastcall TForm2::FormShow(TObject *Sender) +{ + populateRanges(); +} +//--------------------------------------------------------------------------- + diff --git a/apps/windoze/CBuilder4/BibleCS/searchfrm.dfm b/apps/windoze/CBuilder4/BibleCS/searchfrm.dfm Binary files differnew file mode 100644 index 0000000..de8802a --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/searchfrm.dfm diff --git a/apps/windoze/CBuilder4/BibleCS/searchfrm.h b/apps/windoze/CBuilder4/BibleCS/searchfrm.h new file mode 100644 index 0000000..1d47379 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/searchfrm.h @@ -0,0 +1,69 @@ +//--------------------------------------------------------------------------- +#ifndef searchH +#define searchH +//--------------------------------------------------------------------------- +#include <vcl\Classes.hpp> +#include <vcl\Controls.hpp> +#include <vcl\StdCtrls.hpp> +#include <vcl\Forms.hpp> +#include <vcl\ExtCtrls.hpp> +#include "mainfrm.h" +#include <swmgr.h> +//--------------------------------------------------------------------------- +class TForm2 : public TForm { + class TSearchThread; + friend class TSearchThread; +__published: // IDE-managed Components + TPanel *Panel1; + TPanel *pnlResult; + TListBox *ListBox1; + TPanel *Panel3; + TPanel *plPreview; + TRadioGroup *searchTypeGroup; + TGroupBox *GroupBox1; + TCheckBox *CheckBox2; + TPanel *Panel4; + TButton *Button1; + TSplitter *Splitter1; + TPanel *pnlScope; + TComboBox *SearchText; + TComboBox *ComboBox1; + TButton *Button2; + TPanel *Panel2; + TRadioGroup *scopeGroup; + void __fastcall Button1Click(TObject *Sender); + void __fastcall TerminateSearch(TObject *Sender); + void __fastcall ListBox1DblClick(TObject *Sender); + void __fastcall ListBox1Click(TObject *Sender); + void __fastcall scopeGroupClick(TObject *Sender); + void __fastcall Button2Click(TObject *Sender); + void __fastcall FormShow(TObject *Sender); +private: // User declarations + class TSearchThread : public TThread { + ListKey results; + string searchText; + int searchType; + int searchOptions; + SWKey *scope; + TForm2 *parent; + protected: + void __fastcall Execute(); + public: + __fastcall TSearchThread(TForm2 *parent, string searchText, int searchType, int searchOptions, SWKey *scope = 0, bool CreateSuspended = false); + void __fastcall FillListBox(void); + } *searchThread; + SWDispRTF *pvrtf; + ListKey results; + void populateRanges(); +public: // User declarations + ModMap::iterator target; + TPageControl *targetpc; +// AnsiString CapText; + + __fastcall TForm2(TComponent* Owner); +}; +//--------------------------------------------------------------------------- +extern TForm2 *Form2; +//--------------------------------------------------------------------------- +#endif + diff --git a/apps/windoze/CBuilder4/BibleCS/sword.bpr b/apps/windoze/CBuilder4/BibleCS/sword.bpr new file mode 100644 index 0000000..f8049e7 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/sword.bpr @@ -0,0 +1,201 @@ +# --------------------------------------------------------------------------- +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +# --------------------------------------------------------------------------- +# IDE SECTION +# --------------------------------------------------------------------------- +# The following section of the project makefile is managed by the BCB IDE. +# It is recommended to use the IDE to change any of the values in this +# section. +# --------------------------------------------------------------------------- + +VERSION = BCB.04.04 +# --------------------------------------------------------------------------- +PROJECT = sword.exe +OBJFILES = sword.obj mainfrm.obj AboutBoxfrm.obj bookmarkfrm.obj newbmfilefrm.obj \ + optionfrm.obj searchfrm.obj biblecsmgr.obj ModInstForm.obj vrslstfrm.obj \ + editentryfrm.obj versesel.obj RangeMaintFrm.obj +RESFILES = sword.res +RESDEPEN = $(RESFILES) mainfrm.dfm AboutBoxfrm.dfm bookmarkfrm.dfm newbmfilefrm.dfm \ + optionfrm.dfm searchfrm.dfm ModInstForm.dfm vrslstfrm.dfm editentryfrm.dfm \ + versesel.dfm RangeMaintFrm.dfm +LIBFILES = swordlib.lib +LIBRARIES = vcljpg40.lib nmfast40.lib vcldb40.lib vclx40.lib vcl40.lib +SPARELIBS = vcl40.lib vclx40.lib vcldb40.lib nmfast40.lib vcljpg40.lib +DEFFILE = +PACKAGES = vclx40.bpi vcl40.bpi vcldb40.bpi vcldbx40.bpi ibsmp40.bpi bcbsmp40.bpi \ + dclocx40.bpi qrpt40.bpi teeui40.bpi vclsmp40.bpi teedb40.bpi tee40.bpi \ + dss40.bpi nmfast40.bpi vclmid40.bpi +# --------------------------------------------------------------------------- +PATHCPP = .; +PATHASM = .; +PATHPAS = .; +PATHRC = .; +DEBUGLIBPATH = $(BCB)\lib\debug +RELEASELIBPATH = $(BCB)\lib\release +SYSDEFINES = NO_STRICT +USERDEFINES = +# --------------------------------------------------------------------------- +CFLAG1 = -I"..\..\..\..\..\..\..\Program Files\Borland\CBuilder4\Projects";"..\..\..\..\..\..\..\program files\borland\cbuilder3\projects";..\..\..\..\include;$(BCB)\include;$(BCB)\include\vcl \ + -O2 -w -Ve -a8 -4 -k- -vi -D$(SYSDEFINES);$(USERDEFINES) -c -b- -w-par -w-inl \ + -Vx -tW -tWM +CFLAG2 = +CFLAG3 = +PFLAGS = -U"..\..\..\..\..\..\..\Program Files\Borland\CBuilder4\Projects";"..\..\..\..\..\..\..\program files\borland\cbuilder3\projects";..\..\..\..\..\..\..\borland\cbuilder3\lib\release;$(BCB)\lib\release;$(BCB)\lib\obj;$(BCB)\lib;$(RELEASELIBPATH) \ + -I"..\..\..\..\..\..\..\Program Files\Borland\CBuilder4\Projects";"..\..\..\..\..\..\..\program files\borland\cbuilder3\projects";..\..\..\..\include;$(BCB)\include;$(BCB)\include\vcl \ + -$Y- -$L- -$D- -v -M -JPHNE +RFLAGS = -i"..\..\..\..\..\..\..\Program Files\Borland\CBuilder4\Projects";"..\..\..\..\..\..\..\program files\borland\cbuilder3\projects";..\..\..\..\include;$(BCB)\include;$(BCB)\include\vcl +AFLAGS = /i"..\..\..\..\..\..\..\program files\borland\cbuilder3\projects" \ + /i..\..\..\..\include /i$(BCB)\include /i$(BCB)\include\vcl /mx /w2 /zn \ + /dUSEPACKAGES +LFLAGS = -L"..\..\..\..\..\..\..\Program Files\Borland\CBuilder4\Projects";"..\..\..\..\..\..\..\program files\borland\cbuilder3\projects";..\..\..\..\..\..\..\borland\cbuilder3\lib\release;$(BCB)\lib\release;$(BCB)\lib\obj;$(BCB)\lib;$(RELEASELIBPATH) \ + -aa -Tpe -x -Gn +IFLAGS = +# --------------------------------------------------------------------------- +ALLOBJ = c0w32.obj $(OBJFILES) +ALLRES = $(RESFILES) +ALLLIB = $(LIBFILES) $(LIBRARIES) import32.lib cp32mt.lib +# --------------------------------------------------------------------------- +!ifdef IDEOPTIONS + +[Version Info] +IncludeVerInfo=1 +AutoIncBuild=1 +MajorVer=1 +MinorVer=4 +Release=7 +Build=0 +Debug=0 +PreRelease=1 +Special=0 +Private=0 +DLL=0 +Locale=1033 +CodePage=1252 + +[Version Info Keys] +CompanyName=CrossWire Software & Bible Society +FileDescription=Windows 32bit User Interface to The SWORD Project +FileVersion=1.4.7.0 +InternalName=biblecs +LegalCopyright=(c) 1999 CrossWire Bible Society under the terms of the GNU General Public License +LegalTrademarks= +OriginalFilename= +ProductName=The SWORD Project +ProductVersion=1.4.7 +Comments=Seek Him and you will find Him + +[HistoryLists\hlIncludePath] +Count=3 +Item0=..\..\..\..\..\..\..\program files\borland\cbuilder3\projects;..\..\..\..\include;$(BCB)\include;$(BCB)\include\vcl +Item1=..\..\..\..\include;$(BCB)\include;$(BCB)\include\vcl +Item2=c:\usr\troy\src\sword\include;$(BCB)\include;$(BCB)\include\vcl + +[HistoryLists\hlLibraryPath] +Count=4 +Item0=..\..\..\..\..\..\..\program files\borland\cbuilder3\projects;..\..\..\..\..\..\..\borland\cbuilder3\lib\release;$(BCB)\lib\release;$(BCB)\lib\obj;$(BCB)\lib +Item1=..\..\..\..\..\..\..\program files\borland\cbuilder3\projects;d:\borland\cbuilder3\lib\release;$(BCB)\lib\release;$(BCB)\lib\obj;$(BCB)\lib +Item2=d:\borland\cbuilder3\lib\release;$(BCB)\lib\release;$(BCB)\lib\obj;$(BCB)\lib +Item3=$(BCB)\lib\release;$(BCB)\lib\obj;$(BCB)\lib + +[HistoryLists\hlDebugSourcePath] +Count=1 +Item0=$(BCB)\source\vcl + +[HistoryLists\hlConditionals] +Count=2 +Item0=USEPACKAGES +Item1=_RTLDLL;USEPACKAGES + +[Debugging] +DebugSourceDirs=$(BCB)\source\vcl + +[Parameters] +RunParams= +HostApplication= +RemoteHost= +RemotePath= +RemoteDebug=0 + +[Compiler] +InMemoryExe=0 +ShowInfoMsgs=0 + +!endif + +# --------------------------------------------------------------------------- +# MAKE SECTION +# --------------------------------------------------------------------------- +# This section of the project file is not used by the BCB IDE. It is for +# the benefit of building from the command-line using the MAKE utility. +# --------------------------------------------------------------------------- + +.autodepend +# --------------------------------------------------------------------------- +!if !$d(BCC32) +BCC32 = bcc32 +!endif + +!if !$d(DCC32) +DCC32 = dcc32 +!endif + +!if !$d(TASM32) +TASM32 = tasm32 +!endif + +!if !$d(LINKER) +LINKER = ilink32 +!endif + +!if !$d(BRCC32) +BRCC32 = brcc32 +!endif +# --------------------------------------------------------------------------- +!if $d(PATHCPP) +.PATH.CPP = $(PATHCPP) +.PATH.C = $(PATHCPP) +!endif + +!if $d(PATHPAS) +.PATH.PAS = $(PATHPAS) +!endif + +!if $d(PATHASM) +.PATH.ASM = $(PATHASM) +!endif + +!if $d(PATHRC) +.PATH.RC = $(PATHRC) +!endif +# --------------------------------------------------------------------------- +$(PROJECT): $(OBJFILES) $(RESDEPEN) $(DEFFILE) + $(BCB)\BIN\$(LINKER) @&&! + $(LFLAGS) $(IFLAGS) + + $(ALLOBJ), + + $(PROJECT),, + + $(ALLLIB), + + $(DEFFILE), + + $(ALLRES) +! +# --------------------------------------------------------------------------- +.pas.hpp: + $(BCB)\BIN\$(DCC32) $(PFLAGS) {$< } + +.pas.obj: + $(BCB)\BIN\$(DCC32) $(PFLAGS) {$< } + +.cpp.obj: + $(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< } + +.c.obj: + $(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< } + +.asm.obj: + $(BCB)\BIN\$(TASM32) $(AFLAGS) $<, $@ + +.rc.res: + $(BCB)\BIN\$(BRCC32) $(RFLAGS) -fo$@ $< +# --------------------------------------------------------------------------- diff --git a/apps/windoze/CBuilder4/BibleCS/sword.cpp b/apps/windoze/CBuilder4/BibleCS/sword.cpp new file mode 100644 index 0000000..b4743d0 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/sword.cpp @@ -0,0 +1,41 @@ +//--------------------------------------------------------------------------- +#include <vcl.h> +#pragma hdrstop +USERES("sword.res"); +USEFORM("mainfrm.cpp", Form1); +USEFORM("AboutBoxfrm.cpp", AboutBox); +USEFORM("bookmarkfrm.cpp", Bookmarksfrm); +USEFORM("newbmfilefrm.cpp", NewBMfrm); +USEFORM("optionfrm.cpp", Optionsfrm); +USEFORM("searchfrm.cpp", Form2); +USEUNIT("biblecsmgr.cpp"); +USEFORM("ModInstForm.cpp", ModInstFrm); +USEFORM("vrslstfrm.cpp", VerseListFrm); +USEFORM("editentryfrm.cpp", EditEntry); +USEFORM("versesel.cpp", VerseSelFrm); +USELIB("swordlib.lib"); +USEFORM("RangeMaintFrm.cpp", RangeMaintForm); +//--------------------------------------------------------------------------- +WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { + try { + Application->Initialize(); + Application->Title = "The SWORD Project"; + Application->CreateForm(__classid(TForm1), &Form1); + Application->CreateForm(__classid(TAboutBox), &AboutBox); + Application->CreateForm(__classid(TBookmarksfrm), &Bookmarksfrm); + Application->CreateForm(__classid(TNewBMfrm), &NewBMfrm); + Application->CreateForm(__classid(TOptionsfrm), &Optionsfrm); + Application->CreateForm(__classid(TForm2), &Form2); + Application->CreateForm(__classid(TModInstFrm), &ModInstFrm); + Application->CreateForm(__classid(TVerseListFrm), &VerseListFrm); + Application->CreateForm(__classid(TEditEntry), &EditEntry); + Application->CreateForm(__classid(TVerseSelFrm), &VerseSelFrm); + Application->CreateForm(__classid(TRangeMaintForm), &RangeMaintForm); + Application->Run(); + } + catch (Exception &exception) { + Application->ShowException(&exception); + } + return 0; +} +//--------------------------------------------------------------------------- diff --git a/apps/windoze/CBuilder4/BibleCS/sword.ico b/apps/windoze/CBuilder4/BibleCS/sword.ico Binary files differnew file mode 100644 index 0000000..694fbb1 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/sword.ico diff --git a/apps/windoze/CBuilder4/BibleCS/sword.res b/apps/windoze/CBuilder4/BibleCS/sword.res Binary files differnew file mode 100644 index 0000000..2aafbdf --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/sword.res diff --git a/apps/windoze/CBuilder4/BibleCS/swordlib.bpr b/apps/windoze/CBuilder4/BibleCS/swordlib.bpr new file mode 100644 index 0000000..cd9d1d3 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/swordlib.bpr @@ -0,0 +1,208 @@ +# --------------------------------------------------------------------------- +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +# --------------------------------------------------------------------------- +# IDE SECTION +# --------------------------------------------------------------------------- +# The following section of the project makefile is managed by the BCB IDE. +# It is recommended to use the IDE to change any of the values in this +# section. +# --------------------------------------------------------------------------- + +VERSION = BCB.04.04 +# --------------------------------------------------------------------------- +PROJECT = swordlib.lib +OBJFILES = swordlib.obj ..\..\..\..\src\keys\versekey.obj ..\..\..\..\src\keys\swkey.obj \ + ..\..\..\..\src\keys\listkey.obj ..\..\..\..\src\keys\strkey.obj \ + ..\..\..\..\src\mgr\swmgr.obj ..\..\..\..\src\mgr\swconfig.obj \ + ..\..\..\..\src\modules\comments\rawcom\rawcom.obj \ + ..\..\..\..\src\modules\comments\swcom.obj \ + ..\..\..\..\src\modules\common\rawverse.obj \ + ..\..\..\..\src\modules\common\rawstr.obj \ + ..\..\..\..\src\modules\filters\rwprtf.obj \ + ..\..\..\..\src\modules\filters\gbfrtf.obj \ + ..\..\..\..\src\modules\filters\gbfplain.obj \ + ..\..\..\..\src\modules\lexdict\rawld\rawld.obj \ + ..\..\..\..\src\modules\lexdict\swld.obj \ + ..\..\..\..\src\modules\texts\rawgbf\rawgbf.obj \ + ..\..\..\..\src\modules\texts\rawtext\rawtext.obj \ + ..\..\..\..\src\modules\texts\swtext.obj ..\..\..\..\src\modules\swmodule.obj \ + ..\..\tbdisp.obj ..\..\swdisprtfchap.obj ..\..\swwinlog.obj ..\..\swdisprtf.obj \ + ..\..\..\..\src\modules\comments\hrefcom\hrefcom.obj \ + ..\..\..\..\src\mgr\filemgr.obj \ + ..\..\..\..\src\modules\comments\rawfiles\rawfiles.obj \ + ..\..\..\..\src\utilfuns\utilstr.obj ..\..\..\..\src\utilfuns\utilconf.obj \ + ..\..\..\..\src\utilfuns\Greek2Greek.obj ..\..\..\..\src\utilfuns\regex.obj \ + ..\..\..\..\src\frontend\swlog.obj ..\..\..\..\src\frontend\swdisp.obj \ + ..\..\..\..\src\modules\filters\gbfstrongs.obj \ + ..\..\..\..\src\modules\filters\gbffootnotes.obj \ + ..\..\..\..\src\modules\filters\cipherfil.obj \ + ..\..\..\..\src\modules\common\sapphire.obj \ + ..\..\..\..\src\modules\common\swcipher.obj +LIBFILES = +RESDEPEN = $(RESFILES) +RESFILES = +LIBRARIES = nmfast40.lib vclx40.lib vcl40.lib +SPARELIBS = vcl40.lib vclx40.lib nmfast40.lib +DEFFILE = +PACKAGES = +# --------------------------------------------------------------------------- +PATHCPP = .;..\..\..\..\src\keys;..\..\..\..\src\mgr;..\..\..\..\src\modules\comments\rawcom;..\..\..\..\src\modules\comments;..\..\..\..\src\modules\common;..\..\..\..\src\modules\filters;..\..\..\..\src\modules\lexdict\rawld;..\..\..\..\src\modules\lexdict;..\..\..\..\src\modules\texts\rawgbf;..\..\..\..\src\modules\texts\rawtext;..\..\..\..\src\modules\texts;..\..\..\..\src\modules;..\..;..\..\..\..\src\modules\comments\hrefcom;..\..\..\..\src\modules\comments\rawfiles;..\..\..\..\src\utilfuns;..\..\..\..\src\frontend +PATHASM = .; +PATHPAS = .; +PATHRC = .; +SYSDEFINES = NO_STRICT;_NO_VCL +USERDEFINES = +# --------------------------------------------------------------------------- +CFLAG1 = -I..\..;..\..\..\..\src\frontend;..\..\..;..\..\..\..\utilfuns;..\..\..\framework;..\..\..\..\src\modules\comments\rawfiles;..\..\..\..\src\modules\comments\hrefcom;..\..\..\..\include;..\..\..\..\frontend;..\..\..\..\src\utilfuns;..\..\..\..\src\modules;..\..\..\..\src\modules\texts;..\..\..\..\src\modules\texts\rawtext;..\..\..\..\src\modules\texts\rawgbf;..\..\..\..\src\modules\lexdict;..\..\..\..\src\modules\lexdict\rawld;..\..\..\..\src\modules\filters;..\..\..\..\src\modules\common;..\..\..\..\src\modules\comments;..\..\..\..\src\modules\comments\rawcom;..\..\..\..\src\mgr;..\..\..\..\src\keys;$(BCB)\include;$(BCB)\include\vcl \ + -O2 -Hc -H=$(BCB)\lib\vcl40.csm -w -Ve -a8 -4 -k- -vi \ + -D$(SYSDEFINES);$(USERDEFINES) -c -b- -w-par -w-inl -Vx -g0 -tWM +CFLAG2 = +CFLAG3 = +PFLAGS = -U..\..\..\..\src\modules\common;$(DEBUGLIBPATH) \ + -I..\..;..\..\..\..\src\frontend;..\..\..;..\..\..\..\utilfuns;..\..\..\framework;..\..\..\..\src\modules\comments\rawfiles;..\..\..\..\src\modules\comments\hrefcom;..\..\..\..\include;..\..\..\..\frontend;..\..\..\..\src\utilfuns;..\..\..\..\src\modules;..\..\..\..\src\modules\texts;..\..\..\..\src\modules\texts\rawtext;..\..\..\..\src\modules\texts\rawgbf;..\..\..\..\src\modules\lexdict;..\..\..\..\src\modules\lexdict\rawld;..\..\..\..\src\modules\filters;..\..\..\..\src\modules\common;..\..\..\..\src\modules\comments;..\..\..\..\src\modules\comments\rawcom;..\..\..\..\src\mgr;..\..\..\..\src\keys;$(BCB)\include;$(BCB)\include\vcl \ + -$Y- -$L- -$D- -v -M -JPHNE +AFLAGS = /i..\.. /i..\..\..\..\src\frontend /i..\..\.. /i..\..\..\..\utilfuns \ + /i..\..\..\framework /i..\..\..\..\src\modules\comments\rawfiles \ + /i..\..\..\..\src\modules\comments\hrefcom /i..\..\..\..\include \ + /i..\..\..\..\frontend /i..\..\..\..\src\utilfuns /i..\..\..\..\src\modules \ + /i..\..\..\..\src\modules\texts /i..\..\..\..\src\modules\texts\rawtext \ + /i..\..\..\..\src\modules\texts\rawgbf /i..\..\..\..\src\modules\lexdict \ + /i..\..\..\..\src\modules\lexdict\rawld /i..\..\..\..\src\modules\filters \ + /i..\..\..\..\src\modules\common /i..\..\..\..\src\modules\comments \ + /i..\..\..\..\src\modules\comments\rawcom /i..\..\..\..\src\mgr \ + /i..\..\..\..\src\keys /i$(BCB)\include /i$(BCB)\include\vcl /mx /w2 /zn \ + /d_NO_VCL +RFLAGS = -i..\..;..\..\..\..\src\frontend;..\..\..;..\..\..\..\utilfuns;..\..\..\framework;..\..\..\..\src\modules\comments\rawfiles;..\..\..\..\src\modules\comments\hrefcom;..\..\..\..\include;..\..\..\..\frontend;..\..\..\..\src\utilfuns;..\..\..\..\src\modules;..\..\..\..\src\modules\texts;..\..\..\..\src\modules\texts\rawtext;..\..\..\..\src\modules\texts\rawgbf;..\..\..\..\src\modules\lexdict;..\..\..\..\src\modules\lexdict\rawld;..\..\..\..\src\modules\filters;..\..\..\..\src\modules\common;..\..\..\..\src\modules\comments;..\..\..\..\src\modules\comments\rawcom;..\..\..\..\src\mgr;..\..\..\..\src\keys;$(BCB)\include;$(BCB)\include\vcl +LFLAGS = /P64 +IFLAGS = +# --------------------------------------------------------------------------- +ALLOBJ = $(OBJFILES) +ALLLIB = +# --------------------------------------------------------------------------- +!ifdef IDEOPTIONS + +[Version Info] +IncludeVerInfo=0 +AutoIncBuild=0 +MajorVer=1 +MinorVer=0 +Release=0 +Build=0 +Debug=0 +PreRelease=0 +Special=0 +Private=0 +DLL=0 +Locale=1033 +CodePage=1252 + +[Version Info Keys] +CompanyName= +FileDescription= +FileVersion=1.0.0.0 +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion=1.0.0.0 +Comments= + +[HistoryLists\hlIncludePath] +Count=10 +Item0=..\..;..\..\..\..\src\frontend;..\..\..;..\..\..\..\utilfuns;..\..\..\framework;..\..\..\..\src\modules\comments\rawfiles;..\..\..\..\src\modules\comments\hrefcom;..\..\..\..\include;..\..\..\..\frontend;..\..\..\..\src\utilfuns;..\..\..\..\src\modules;..\..\..\..\src\modules\texts;..\..\..\..\src\modules\texts\rawtext;..\..\..\..\src\modules\texts\rawgbf;..\..\..\..\src\modules\lexdict;..\..\..\..\src\modules\lexdict\rawld;..\..\..\..\src\modules\filters;..\..\..\..\src\modules\common;..\..\..\..\src\modules\comments;..\..\..\..\src\modules\comments\rawcom;..\..\..\..\src\mgr;..\..\..\..\src\keys;$(BCB)\include;$(BCB)\include\vcl +Item1=..\..;..\..\..\..\src\frontend;..\..\..\..\apps;..\..\..\..\utilfuns;..\..\..\framework;..\..\..\..\src\modules\comments\rawfiles;..\..\..\..\src\modules\comments\hrefcom;..\..\..\..\include;..\..\..\..\frontend;..\..\..\windoze;..\..\..\..\src\utilfuns;..\..\..\..\src\modules;..\..\..\..\src\modules\texts;..\..\..\..\src\modules\texts\rawtext;..\..\..\..\src\modules\texts\rawgbf;..\..\..\..\src\modules\lexdict;..\..\..\..\src\modules\lexdict\rawld;..\..\..\..\src\modules\filters;..\..\..\..\src\modules\common;..\..\..\..\src\modules\comments;..\..\..\..\src\modules\comments\rawcom;..\..\..\..\src\mgr;..\..\..\..\src\keys;$(BCB)\include;$(BCB)\include\vcl +Item2=..\..\..\..\src\frontend;..\..\..\..\apps;..\..\..\..\utilfuns;..\..\..\framework;..\..\..\..\src\modules\comments\rawfiles;..\..\..\..\src\modules\comments\hrefcom;..\..\..\..\include;..\..\..\..\frontend;..\..\..\windoze;..\..\..\..\src\utilfuns;..\..\..\..\src\modules;..\..\..\..\src\modules\texts;..\..\..\..\src\modules\texts\rawtext;..\..\..\..\src\modules\texts\rawgbf;..\..\..\..\src\modules\lexdict;..\..\..\..\src\modules\lexdict\rawld;..\..\..\..\src\modules\filters;..\..\..\..\src\modules\common;..\..\..\..\src\modules\comments;..\..\..\..\src\modules\comments\rawcom;..\..\..\..\src\mgr;..\..\..\..\src\keys;$(BCB)\include;$(BCB)\include\vcl +Item3=..\..\..\framework;..\..\..\..\src\modules\comments\rawfiles;..\..\..\..\src\modules\comments\hrefcom;..\..\..\..\include;..\..\..\..\frontend;..\..\..\windoze;..\..\..\..\src\utilfuns;..\..\..\..\src\modules;..\..\..\..\src\modules\texts;..\..\..\..\src\modules\texts\rawtext;..\..\..\..\src\modules\texts\rawgbf;..\..\..\..\src\modules\lexdict;..\..\..\..\src\modules\lexdict\rawld;..\..\..\..\src\modules\filters;..\..\..\..\src\modules\common;..\..\..\..\src\modules\comments;..\..\..\..\src\modules\comments\rawcom;..\..\..\..\src\mgr;..\..\..\..\src\keys;$(BCB)\include;$(BCB)\include\vcl +Item4=..\..\..\..\src\modules\comments\rawfiles;..\..\..\..\src\modules\comments\hrefcom;..\..\..\..\include;..\..\..\..\frontend;..\..\..\windoze;..\..\..\..\src\utilfuns;..\..\..\..\src\modules;..\..\..\..\src\modules\texts;..\..\..\..\src\modules\texts\rawtext;..\..\..\..\src\modules\texts\rawgbf;..\..\..\..\src\modules\lexdict;..\..\..\..\src\modules\lexdict\rawld;..\..\..\..\src\modules\filters;..\..\..\..\src\modules\common;..\..\..\..\src\modules\comments;..\..\..\..\src\modules\comments\rawcom;..\..\..\..\src\mgr;..\..\..\..\src\keys;$(BCB)\include;$(BCB)\include\vcl +Item5=..\..\..\..\src\modules\comments\hrefcom;..\..\..\..\include;..\..\..\..\frontend;..\..\..\windoze;..\..\..\..\src\utilfuns;..\..\..\..\src\modules;..\..\..\..\src\modules\texts;..\..\..\..\src\modules\texts\rawtext;..\..\..\..\src\modules\texts\rawgbf;..\..\..\..\src\modules\lexdict;..\..\..\..\src\modules\lexdict\rawld;..\..\..\..\src\modules\filters;..\..\..\..\src\modules\common;..\..\..\..\src\modules\comments;..\..\..\..\src\modules\comments\rawcom;..\..\..\..\src\mgr;..\..\..\..\src\keys;$(BCB)\include;$(BCB)\include\vcl +Item6=..\..\..\..\include;..\..\..\..\frontend;..\..\..\windoze;..\..\..\..\src\utilfuns;..\..\..\..\src\modules;..\..\..\..\src\modules\texts;..\..\..\..\src\modules\texts\rawtext;..\..\..\..\src\modules\texts\rawgbf;..\..\..\..\src\modules\lexdict;..\..\..\..\src\modules\lexdict\rawld;..\..\..\..\src\modules\filters;..\..\..\..\src\modules\common;..\..\..\..\src\modules\comments;..\..\..\..\src\modules\comments\rawcom;..\..\..\..\src\mgr;..\..\..\..\src\keys;$(BCB)\include;$(BCB)\include\vcl +Item7=..\..\..\..\frontend;..\..\..\windoze;..\..\..\..\src\utilfuns;..\..\..\..\src\modules;..\..\..\..\src\modules\texts;..\..\..\..\src\modules\texts\rawtext;..\..\..\..\src\modules\texts\rawgbf;..\..\..\..\src\modules\lexdict;..\..\..\..\src\modules\lexdict\rawld;..\..\..\..\src\modules\filters;..\..\..\..\src\modules\common;..\..\..\..\src\modules\comments;..\..\..\..\src\modules\comments\rawcom;..\..\..\..\src\mgr;..\..\..\..\src\keys;$(BCB)\include;$(BCB)\include\vcl +Item8=c:\usr\troy\src\sword\include;c:\usr\troy\src\sword\frontend;c:\usr\troy\src\sword\frontend\windoze;c:\usr\troy\src\sword\utilfuns;c:\usr\troy\src\sword\modules;c:\usr\troy\src\sword\modules\texts;c:\usr\troy\src\sword\modules\texts\rawtext;c:\usr\troy\src\sword\modules\texts\rawgbf;c:\usr\troy\src\sword\modules\lexdict;c:\usr\troy\src\sword\modules\lexdict\rawld;c:\usr\troy\src\sword\modules\filters;c:\usr\troy\src\sword\modules\common;c:\usr\troy\src\sword\modules\comments;c:\usr\troy\src\sword\modules\comments\rawcom;c:\usr\troy\src\sword\mgr;c:\usr\troy\src\sword\keys;$(BCB)\include;$(BCB)\include\vcl +Item9=c:\usr\src\sword\include;c:\usr\troy\src\sword\frontend;c:\usr\troy\src\sword\frontend\windoze;c:\usr\troy\src\sword\utilfuns;c:\usr\troy\src\sword\modules;c:\usr\troy\src\sword\modules\texts;c:\usr\troy\src\sword\modules\texts\rawtext;c:\usr\troy\src\sword\modules\texts\rawgbf;c:\usr\troy\src\sword\modules\lexdict;c:\usr\troy\src\sword\modules\lexdict\rawld;c:\usr\troy\src\sword\modules\filters;c:\usr\troy\src\sword\modules\common;c:\usr\troy\src\sword\modules\comments;c:\usr\troy\src\sword\modules\comments\rawcom;c:\usr\troy\src\sword\mgr;c:\usr\troy\src\sword\keys;$(BCB)\include;$(BCB)\include\vcl + +[HistoryLists\hlDebugSourcePath] +Count=1 +Item0=$(BCB)\source\vcl + +[HistoryLists\hlConditionals] +Count=1 +Item0=_NO_VCL + +[Debugging] +DebugSourceDirs=$(BCB)\source\vcl + +[Parameters] +RunParams= +HostApplication= +RemoteHost= +RemotePath= +RemoteDebug=0 + +[Compiler] +InMemoryExe=0 +ShowInfoMsgs=0 + +!endif + +# --------------------------------------------------------------------------- +# MAKE SECTION +# --------------------------------------------------------------------------- +# This section of the project makefile is not used by the BCB IDE. It is for +# the benefit of building from the command-line using the MAKE utility. +# --------------------------------------------------------------------------- + +.autodepend +# --------------------------------------------------------------------------- +!if !$d(BCC32) +BCC32 = bcc32 +!endif + +!if !$d(DCC32) +DCC32 = dcc32 +!endif + +!if !$d(TASM32) +TASM32 = tasm32 +!endif + +!if !$d(LINKER) +LINKER = TLib +!endif +# --------------------------------------------------------------------------- +!if $d(PATHCPP) +.PATH.CPP = $(PATHCPP) +.PATH.C = $(PATHCPP) +!endif + +!if $d(PATHPAS) +.PATH.PAS = $(PATHPAS) +!endif + +!if $d(PATHASM) +.PATH.ASM = $(PATHASM) +!endif +# --------------------------------------------------------------------------- +$(PROJECT): $(OBJFILES) + $(BCB)\BIN\$(LINKER) /u $@ @&&! + $(LFLAGS) $? +! +# --------------------------------------------------------------------------- +.pas.hpp: + $(BCB)\BIN\$(DCC32) $(PFLAGS) {$< } + +.pas.obj: + $(BCB)\BIN\$(DCC32) $(PFLAGS) {$< } + +.cpp.obj: + $(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< } + +.c.obj: + $(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< } + +.asm.obj: + $(BCB)\BIN\$(TASM32) $(AFLAGS) $<, $@ +# --------------------------------------------------------------------------- diff --git a/apps/windoze/CBuilder4/BibleCS/swordlib.cpp b/apps/windoze/CBuilder4/BibleCS/swordlib.cpp new file mode 100644 index 0000000..8aad358 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/swordlib.cpp @@ -0,0 +1,45 @@ +//--------------------------------------------------------------------------- +#include <condefs.h> +#pragma hdrstop +USEUNIT("..\..\..\..\src\keys\versekey.cpp"); +USEUNIT("..\..\..\..\src\keys\swkey.cpp"); +USEUNIT("..\..\..\..\src\keys\listkey.cpp"); +USEUNIT("..\..\..\..\src\keys\strkey.cpp"); +USEUNIT("..\..\..\..\src\mgr\swmgr.cpp"); +USEUNIT("..\..\..\..\src\mgr\swconfig.cpp"); +USEUNIT("..\..\..\..\src\modules\comments\rawcom\rawcom.cpp"); +USEUNIT("..\..\..\..\src\modules\comments\swcom.cpp"); +USEUNIT("..\..\..\..\src\modules\common\rawverse.cpp"); +USEUNIT("..\..\..\..\src\modules\common\rawstr.cpp"); +USEUNIT("..\..\..\..\src\modules\filters\rwprtf.cpp"); +USEUNIT("..\..\..\..\src\modules\filters\gbfrtf.cpp"); +USEUNIT("..\..\..\..\src\modules\filters\gbfplain.cpp"); +USEUNIT("..\..\..\..\src\modules\lexdict\rawld\rawld.cpp"); +USEUNIT("..\..\..\..\src\modules\lexdict\swld.cpp"); +USEUNIT("..\..\..\..\src\modules\texts\rawgbf\rawgbf.cpp"); +USEUNIT("..\..\..\..\src\modules\texts\rawtext\rawtext.cpp"); +USEUNIT("..\..\..\..\src\modules\texts\swtext.cpp"); +USEUNIT("..\..\..\..\src\modules\swmodule.cpp"); +USEUNIT("..\..\tbdisp.cpp"); +USEUNIT("..\..\swdisprtfchap.cpp"); +USEUNIT("..\..\swwinlog.cpp"); +USEUNIT("..\..\swdisprtf.cpp"); +USEUNIT("..\..\..\..\src\modules\comments\hrefcom\hrefcom.cpp"); +USEUNIT("..\..\..\..\src\mgr\filemgr.cpp"); +USEUNIT("..\..\..\..\src\modules\comments\rawfiles\rawfiles.cpp"); +USEUNIT("..\..\..\..\src\utilfuns\utilstr.cpp"); +USEUNIT("..\..\..\..\src\utilfuns\utilconf.cpp"); +USEUNIT("..\..\..\..\src\utilfuns\Greek2Greek.cpp"); +USEUNIT("..\..\..\..\src\utilfuns\regex.c"); +USEUNIT("..\..\..\..\src\frontend\swlog.cpp"); +USEUNIT("..\..\..\..\src\frontend\swdisp.cpp"); +USEUNIT("..\..\..\..\src\modules\filters\gbfstrongs.cpp"); +USEUNIT("..\..\..\..\src\modules\filters\gbffootnotes.cpp"); +USEUNIT("..\..\..\..\src\modules\filters\cipherfil.cpp"); +USEUNIT("..\..\..\..\src\modules\common\sapphire.cpp"); +USEUNIT("..\..\..\..\src\modules\common\swcipher.cpp"); +//--------------------------------------------------------------------------- +#define Library + +// To add a file to the library use the Project menu 'Add to Project'. + diff --git a/apps/windoze/CBuilder4/BibleCS/swordprj.bpg b/apps/windoze/CBuilder4/BibleCS/swordprj.bpg new file mode 100644 index 0000000..44add94 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/swordprj.bpg @@ -0,0 +1,24 @@ +#------------------------------------------------------------------------------ +VERSION = BWS.01 +#------------------------------------------------------------------------------ +!ifndef ROOT +ROOT = $(MAKEDIR)\.. +!endif +#------------------------------------------------------------------------------ +MAKE = $(ROOT)\bin\make.exe -$(MAKEFLAGS) -f$** +DCC = $(ROOT)\bin\dcc32.exe $** +BRCC = $(ROOT)\bin\brcc32.exe $** +#------------------------------------------------------------------------------ +PROJECTS = swordlib sword +#------------------------------------------------------------------------------ +default: sword +#------------------------------------------------------------------------------ + + +swordlib: swordlib.bpr + $(MAKE) + +sword: sword.bpr + $(MAKE) + + diff --git a/apps/windoze/CBuilder4/BibleCS/versesel.cpp b/apps/windoze/CBuilder4/BibleCS/versesel.cpp new file mode 100644 index 0000000..8788580 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/versesel.cpp @@ -0,0 +1,22 @@ +//--------------------------------------------------------------------------- +#include <vcl.h> +#pragma hdrstop + +#include "versesel.h" +#include <versekey.h> +//--------------------------------------------------------------------------- +#pragma package(smart_init) +#pragma resource "*.dfm" +TVerseSelFrm *VerseSelFrm; +//--------------------------------------------------------------------------- +__fastcall TVerseSelFrm::TVerseSelFrm(TComponent* Owner) + : TForm(Owner) +{ +} +//--------------------------------------------------------------------------- +void __fastcall TVerseSelFrm::Edit1Change(TObject *Sender) +{ + VerseKey trykey = Edit1->Text.c_str(); + Panel2->Caption = (const char *)trykey; +} +//--------------------------------------------------------------------------- diff --git a/apps/windoze/CBuilder4/BibleCS/versesel.dfm b/apps/windoze/CBuilder4/BibleCS/versesel.dfm Binary files differnew file mode 100644 index 0000000..ddc4857 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/versesel.dfm diff --git a/apps/windoze/CBuilder4/BibleCS/versesel.h b/apps/windoze/CBuilder4/BibleCS/versesel.h new file mode 100644 index 0000000..b4c1981 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/versesel.h @@ -0,0 +1,27 @@ +//--------------------------------------------------------------------------- +#ifndef verseselH +#define verseselH +//--------------------------------------------------------------------------- +#include <Classes.hpp> +#include <Controls.hpp> +#include <StdCtrls.hpp> +#include <Forms.hpp> +#include <ExtCtrls.hpp> +//--------------------------------------------------------------------------- +class TVerseSelFrm : public TForm +{ +__published: // IDE-managed Components + TEdit *Edit1; + TPanel *Panel2; + TPanel *Panel1; + TButton *Button1; + TButton *Button2; + void __fastcall Edit1Change(TObject *Sender); +private: // User declarations +public: // User declarations + __fastcall TVerseSelFrm(TComponent* Owner); +}; +//--------------------------------------------------------------------------- +extern PACKAGE TVerseSelFrm *VerseSelFrm; +//--------------------------------------------------------------------------- +#endif diff --git a/apps/windoze/CBuilder4/BibleCS/vrslstfrm.cpp b/apps/windoze/CBuilder4/BibleCS/vrslstfrm.cpp new file mode 100644 index 0000000..0528c7f --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/vrslstfrm.cpp @@ -0,0 +1,48 @@ +//--------------------------------------------------------------------------- +#include <vcl.h> +#pragma hdrstop + +#include "vrslstfrm.h" +//--------------------------------------------------------------------------- +#pragma package(smart_init) +#pragma resource "*.dfm" +TVerseListFrm *VerseListFrm; +//--------------------------------------------------------------------------- +__fastcall TVerseListFrm::TVerseListFrm(TComponent* Owner, ListKey &iVerseList) + : TForm(Owner), verseList(iVerseList) { + pvrtf = new SWDispRTF(this); + + pvrtf->Parent = plPreview; + pvrtf->Align = alClient; + pvrtf->ScrollBars = ssVertical; + pvrtf->ReadOnly = true; +} +//--------------------------------------------------------------------------- + +void __fastcall TVerseListFrm::ListBox1Click(TObject *Sender) { + ModMap::iterator target; + target = Form1->mainmgr->Modules.find(Form1->PageControl1->ActivePage->Caption.c_str()); + if (target != Form1->mainmgr->Modules.end()) { + SWKey *savekey = *(*target).second; + (*target).second->SetKey(ListBox1->Items->Strings[ListBox1->ItemIndex].c_str()); + pvrtf->Display(*(*target).second); + (*target).second->SetKey(*savekey); + } +} +//--------------------------------------------------------------------------- + +void __fastcall TVerseListFrm::ListBox1DblClick(TObject *Sender) +{ + Form1->DefaultVSKey = ListBox1->Items->Strings[ListBox1->ItemIndex].c_str(); + Form1->TextKeyChanged(); +} +//--------------------------------------------------------------------------- +void __fastcall TVerseListFrm::FormShow(TObject *Sender) +{ + for (verseList = TOP; (!verseList.Error()); verseList++) + ListBox1->Items->Add((const char *)verseList); +} +//--------------------------------------------------------------------------- + + + diff --git a/apps/windoze/CBuilder4/BibleCS/vrslstfrm.dfm b/apps/windoze/CBuilder4/BibleCS/vrslstfrm.dfm Binary files differnew file mode 100644 index 0000000..0e923ed --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/vrslstfrm.dfm diff --git a/apps/windoze/CBuilder4/BibleCS/vrslstfrm.h b/apps/windoze/CBuilder4/BibleCS/vrslstfrm.h new file mode 100644 index 0000000..7af64b9 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/vrslstfrm.h @@ -0,0 +1,29 @@ +//--------------------------------------------------------------------------- +#ifndef vrslstfrmH +#define vrslstfrmH +//--------------------------------------------------------------------------- +#include <Classes.hpp> +#include <Controls.hpp> +#include <StdCtrls.hpp> +#include <Forms.hpp> +#include <ExtCtrls.hpp> +#include "mainfrm.h" +//--------------------------------------------------------------------------- +class TVerseListFrm : public TForm +{ +__published: // IDE-managed Components + TPanel *plPreview; + TListBox *ListBox1; + void __fastcall ListBox1Click(TObject *Sender); + void __fastcall ListBox1DblClick(TObject *Sender); + void __fastcall FormShow(TObject *Sender); +private: // User declarations + SWDispRTF *pvrtf; + ListKey &verseList; +public: // User declarations + __fastcall TVerseListFrm(TComponent* Owner, ListKey &iVerseList); +}; +//--------------------------------------------------------------------------- +extern PACKAGE TVerseListFrm *VerseListFrm; +//--------------------------------------------------------------------------- +#endif diff --git a/apps/windoze/CBuilder4/BibleCS/wtbsa.conf b/apps/windoze/CBuilder4/BibleCS/wtbsa.conf new file mode 100644 index 0000000..ff69dc7 --- /dev/null +++ b/apps/windoze/CBuilder4/BibleCS/wtbsa.conf @@ -0,0 +1,20 @@ +[ROOT] +WTBSA=What the Bible Says About... + +[WTBSA] +Mormons=Mormonism +Calvan=Calvanism + +[Mormons] +Verse=I Peter 2:8 + +[Calvan] +Verse=James 1:19 +TotalDep=Total Depravity of Man +UncondEl=Unconditional Election +LimAt=Limited Atonement +IrrGrace=Irresistable Grace +PersSt=Perseverence of the Saints + +[TotalDep] +Verse=Romans 1:1 |