Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  

SWKey Class Reference

SWKey is the basis for all types of keys for indexing into modules (e.g. More...

#include <swkey.h>

Inheritance diagram for SWKey::

SWObject ListKey StrKey VerseKey List of all members.

Public Methods

 SWKey (const char *ikey=0)
 initializes instance of SWKey. More...

 SWKey (SWKey const &k)
 Copy Constructor. More...

virtual ~SWKey ()
 Destructor, cleans up this instance of SWKey.

virtual SWKey * clone () const
 Returns a copy of this SWKey object. More...

char Persist () const
 Gets whether this object itself persists within a module that it was used to SetKey or just a copy. More...

char Persist (char ikey)
 Set/gets whether this object itself persists within a module that it was used to SetKey or just a copy. More...

virtual char Error ()
 Gets and clears error status. More...

virtual void setText (const char *ikey)
 Equates this SWKey to a character string. More...

virtual void copyFrom (const SWKey &ikey)
 Equates this SWKey to another SWKey object. More...

virtual const char * getText () const
 returns text key if (char *) cast is requested.

virtual int compare (const SWKey &ikey)
 Compares another VerseKey object. More...

virtual bool equals (const SWKey &ikey)
 Compares another VerseKey object. More...

virtual void setPosition (SW_POSITION)
virtual void decrement (int steps=1)
 Decrements key a number of entries. More...

virtual void increment (int steps=1)
 Increments key a number of entries. More...

virtual char Traversable ()
virtual long Index () const
 Use this function to get te current position withing a module. More...

virtual long Index (long iindex)

Protected Attributes

char * keytext
char persist
char error

Private Methods

void init ()

Private Attributes

long index

Static Private Attributes

SWClass classdef

Detailed Description

SWKey is the basis for all types of keys for indexing into modules (e.g.

verse, word, place, etc.)

Definition at line 76 of file swkey.h.


Constructor & Destructor Documentation

SWKey::SWKey const char * ikey = 0
 

initializes instance of SWKey.

Parameters:
ikey   text key

SWKey::SWKey SWKey const & k
 

Copy Constructor.

Parameters:
The   SWKey object to copy.


Member Function Documentation

virtual char SWKey::Error [virtual]
 

Gets and clears error status.

Returns:
error status

virtual long SWKey::Index const [inline, virtual]
 

Use this function to get te current position withing a module.

Here's a small example how to use this function and Index(long). This function uses the GerLut module and chooses a random verse from the Bible and returns it.

 const char* randomVerse() {
   VerseKey vk;
   SWMgr mgr;
   LocaleMgr::systemLocaleMgr.setDefaultLocaleName("de");

   SWModule* module = mgr->Modules("GerLut");
   srand( time(0) );
   const double newIndex = (double(rand())/RAND_MAX)*(24108+8224);
   vk.Index(newIndex);
   module->SetKey(vk);

   char* text;
   sprintf(text, "%s: %s",(const char*)vk ,module->StripText(&vk));
   return text;

Reimplemented in ListKey, and VerseKey.

Definition at line 204 of file swkey.h.

Referenced by ListKey::Index().

char SWKey::Persist char ikey
 

Set/gets whether this object itself persists within a module that it was used to SetKey or just a copy.

(1 - persists in module; 0 - a copy is attempted

Parameters:
ipersist   value which to set persist; [-1] - only get
Returns:
value of persist

char SWKey::Persist const
 

Gets whether this object itself persists within a module that it was used to SetKey or just a copy.

(1 - persists in module; 0 - a copy is attempted

Returns:
value of persist

virtual SWKey* SWKey::clone const [virtual]
 

Returns a copy of this SWKey object.

This is useful to get a 1:1 copy of an SWKey based object.

Returns:
SWKey

Reimplemented in ListKey, and VerseKey.

virtual int SWKey::compare const SWKey & ikey [virtual]
 

Compares another VerseKey object.

Parameters:
ikey   key to compare with this one
Returns:
>0 if this key is greater than compare key; <0 if this key is smaller than compare key; 0 if the keys are the same

Reimplemented in VerseKey.

Referenced by equals().

virtual void SWKey::copyFrom const SWKey & ikey [virtual]
 

Equates this SWKey to another SWKey object.

Parameters:
ikey   other swkey object

Reimplemented in ListKey, and VerseKey.

Referenced by ListKey::copyFrom().

virtual void SWKey::decrement int step = 1 [virtual]
 

Decrements key a number of entries.

Parameters:
steps   Number of entries to jump backward
Returns:
*this

Reimplemented in ListKey, and VerseKey.

virtual bool SWKey::equals const SWKey & ikey [inline, virtual]
 

Compares another VerseKey object.

Parameters:
ikey   key to compare with this one
Returns:
true if the keys are the same

Definition at line 163 of file swkey.h.

virtual void SWKey::increment int step = 1 [virtual]
 

Increments key a number of entries.

Parameters:
increment   Number of entries to jump forward
Returns:
*this

Reimplemented in ListKey, and VerseKey.

virtual void SWKey::setText const char * ikey [virtual]
 

Equates this SWKey to a character string.

Parameters:
ikey   string to set this key to

Reimplemented in VerseKey.

Referenced by VerseKey::setText().


The documentation for this class was generated from the following file:
Generated at Tue Jan 22 14:52:49 2002 for The Sword Project by doxygen1.2.9.1 written by Dimitri van Heesch, © 1997-2001