Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   Related Pages  

sword::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 sword::SWKey:

Inheritance graph
[legend]
Collaboration diagram for sword::SWKey:

Collaboration graph
[legend]
List of all members.

Public Member Functions

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

 SWKey (SWKey const &k)
 Copy Constructor.

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

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

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

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

virtual char Error ()
 Gets and clears error status.

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

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

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

virtual const char * getShortText () const
virtual const char * getRangeText () const
virtual bool isBoundSet () const
virtual int compare (const SWKey &ikey)
 Compares another VerseKey object.

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

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

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

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

virtual long Index (long iindex)
SWKey & operator= (const char *ikey)
SWKey & operator= (const SWKey &ikey)
SWKey & operator= (SW_POSITION pos)
 operator const char * () const
bool operator== (const SWKey &ikey)
bool operator!= (const SWKey &ikey)
virtual bool operator> (const SWKey &ikey)
virtual bool operator< (const SWKey &ikey)
virtual bool operator>= (const SWKey &ikey)
virtual bool operator<= (const SWKey &ikey)
SWKey & operator-= (int steps)
SWKey & operator+= (int steps)
SWKey & operator++ (int)
SWKey & operator-- (int)

Public Attributes

void * userData

Protected Attributes

char * keytext
char * rangeText
bool boundSet
char persist
char error

Private Member Functions

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


Constructor & Destructor Documentation

sword::SWKey::SWKey const char *    ikey = 0
 

initializes instance of SWKey

Parameters:
ikey Initialize from text key.

sword::SWKey::SWKey SWKey const &    k
 

Copy Constructor.

Parameters:
k The SWKey object to copy.


Member Function Documentation

SWKey * sword::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 sword::ListKey, sword::TreeKeyIdx, and sword::VerseKey.

int sword::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 sword::TreeKey, sword::TreeKeyIdx, and sword::VerseKey.

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

Equates this SWKey to another SWKey object.

Parameters:
ikey other swkey object

Reimplemented in sword::ListKey, sword::TreeKeyIdx, and sword::VerseKey.

void sword::SWKey::decrement int    steps = 1 [virtual]
 

Decrements key a number of entries.

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

Reimplemented in sword::ListKey, sword::TreeKey, sword::TreeKeyIdx, and sword::VerseKey.

virtual bool sword::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

char sword::SWKey::Error   [virtual]
 

Gets and clears error status.

Returns:
error status

void sword::SWKey::increment int    steps = 1 [virtual]
 

Increments key a number of entries.

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

Reimplemented in sword::ListKey, sword::TreeKey, sword::TreeKeyIdx, and sword::VerseKey.

virtual long sword::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 sword::ListKey, sword::TreeKey, and sword::VerseKey.

char sword::SWKey::Persist signed char    ipersist
 

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 sword::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

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

Equates this SWKey to a character string.

Parameters:
ikey string to set this key to

Reimplemented in sword::ListKey, sword::TreeKey, sword::TreeKeyIdx, and sword::VerseKey.


The documentation for this class was generated from the following files:
Generated on Fri Feb 28 22:01:43 2003 for The Sword Project by doxygen1.3-rc3