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

char SWKey::Error ( ) [virtual]
 

Gets and clears error status.

Returns:
error status

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

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.

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().

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().

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.

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.

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.

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 Fri Oct 5 22:45:36 2001 for The Sword Project by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001