[sword-devel] Mac OSX UI

Joachim Ansorg sword-devel@crosswire.org
Fri, 20 Sep 2002 16:08:15 +0200


Hi!

Since I'm working on BibleTime I think I can answer some of your questions.

> Thanks for the responses, I got html rendering working, along with
> links, and it is really quite a nice usable program (Services are really
> cool). I'm not sure exactly how to deal with the links now ;-). How do
> the other UIs work?, I'm not able to test them at the moment. For
> instance should strongs defns pull up a new window for each? use the
> same window? or have a small attached panel to the originating window?
> With bible refs in commentaries, similar questions arise. New windows,
> with bible or with commentary. What should you do when the reference is
> something like "Isa 40:3; Mal 3:1; Mt 3:3, 11:10"?

In BibleTime we use tooltips to display the definitions of the strong numbers, 
after the user stays some little time with the mouse over the link. If you 
click on a link a new display window will be opened for the chosen link.

For Bible links we do the same. We handle all links in the same way: Moving 
over them displays a tooltip and clicking on them opens a window.
When the reference is a list of refs, we split the list at the semicolons and 
make each part an own link.

It's important to have the information about the type in the link (e.g. hebrew 
strong number, greek strong number, scripture link etc.) because you can 
offer default modules for each type. If the user clicks on a tooltip the 
default module for strong numbers will be opened at the given position. The 
same for scripture links if the module wasn't given in the scripRef.

Have a look at BibleTime's code in the backend folder.

We use somthing like 
<A HREF="sword://Bible/WEB/Genesis 3:4">link text</A>
or 
<A HREF="sword://HebrewStrong/00344">link text</A>

> More questions:
> How do daily bible notes work?

Daily devotionals are simple lexicons modules with the entry format 
"month.day", e.g. "10.15" or "01.01".
To check wheter a lexicon supports daily devotionals use the following code 
(we assume SWModule* module = <somethign valid module pointer>):

const bool hasFeature = module->getConfig().has("Feature", "DailyDevotion");

> Is there a way of checking whether bibles support options like strongs
> or headings.

Yes, there is. It's similair to the Daily devotionals thing. In BibleTime we 
use this code:

//use this to see if a module supports strong numbers
	bool supports = module->getConfig().has("Feature", "StrongsNumber");

// Use this to see if a lexicon supports strong number definitions for the 
// greek numbers
	bool supports = module->getConfig().has("Feature", "GreekDef");		

// Use this to see if a lexicon supports strong number definitions for the 
// hebrew numbers
	bool supports = module->getConfig().has("Feature", "HebrewDef");		

// Use this to see if a lexicon supports strong number definitions for the 
// greek numbers
	bool supports = module->getConfig().has("Feature", "GreekParse");		

// Use this to see if a lexicon supports morph code defintions for 
// the hebrew morph codes
	bool supports = module->getConfig().has("Feature", "HebrewParse");		

//Use this to see whether the lexicon supports daily devotional entries
	bool supports = module->getConfig().has("Feature", "DailyDevotion");		

//Use this to see whether the lexicon is a dictionary
	bool supports = module->getConfig().has("Feature", "Glossary");		

I hope I was able to help you a bit,
Joachim