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

ListKey Class Reference

ListKey is the basis for all types of keys that have lists of specified indexes (e.g. More...

#include <listkey.h>

Inheritance diagram for ListKey:

SWKey List of all members.

Public Methods

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

 ListKey (ListKey const &k)
virtual ~ListKey ()
 cleans up instance of ListKey.

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

virtual void ClearList ()
 Clears out elements of list.

virtual int Count ()
 Returns number of elements in list. More...

virtual void Remove ()
 Removes current element from list.

virtual char SetToElement (int ielement, SW_POSITION = TOP)
 Sets key to element number. More...

virtual SWKeyGetElement (int pos = -1)
 Gets a key element number. More...

virtual ListKey& operator<< (const SWKey &ikey)
 Adds an element to the list. More...

virtual ListKey& operator= (const ListKey & ikey)
 Equates this ListKey to another ListKey object. More...

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

virtual SWKeyoperator= (const SWKey & ikey)
 Equates this SWKey to another SWKey object. More...

virtual SWKeyoperator= (SW_POSITION)
 Positions this key. More...

virtual SWKeyoperator-= (int decrement)
 Decrements a number of elements.

virtual SWKeyoperator+= (int increment)
 Increments a number of elements.

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

virtual long Index (long index)
 Returns the index for the new one given as as parameter. More...


Protected Attributes

int arraypos
int arraymax
int arraycnt
SWKey** array

Private Methods

void init ()

Static Private Attributes

SWClass classdef


Detailed Description

ListKey is the basis for all types of keys that have lists of specified indexes (e.g.

a list of verses, place, etc.)

Definition at line 36 of file listkey.h.


Constructor & Destructor Documentation

ListKey::ListKey ( const char * ikey = 0 )

initializes instance of ListKey.

Parameters:
ikey   text key

Member Function Documentation

int ListKey::Count ( ) [virtual]

Returns number of elements in list.

Returns:
number of elements in list

SWKey * ListKey::GetElement ( int pos = -1 ) [virtual]

Gets a key element number.

Parameters:
pos   element number to get (or default current)
Returns:
Key or null on error

long ListKey::Index ( long index ) [inline, virtual]

Returns the index for the new one given as as parameter.

The first parameter is the new index.

Reimplemented from SWKey.

Definition at line 116 of file listkey.h.

long ListKey::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 from SWKey.

Definition at line 108 of file listkey.h.

char ListKey::SetToElement ( int ielement,
SW_POSITION = TOP ) [virtual]

Sets key to element number.

Parameters:
ielement   element number to set to
Returns:
error status

Referenced by Index().

virtual SWKey* ListKey::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 from SWKey.

ListKey & ListKey::operator<< ( const SWKey & ikey ) [virtual]

Adds an element to the list.

Parameters:
ikey   the element to add

SWKey & ListKey::operator= ( SW_POSITION ) [virtual]

Positions this key.

Parameters:
p   position
Returns:
*this

Reimplemented from SWKey.

SWKey & ListKey::operator= ( const SWKey & ikey ) [inline, virtual]

Equates this SWKey to another SWKey object.

Parameters:
ikey   other swkey object

Reimplemented from SWKey.

Definition at line 90 of file listkey.h.

SWKey & ListKey::operator= ( const char * ikey ) [inline, virtual]

Equates this SWKey to a character string.

Parameters:
ikey   string to set this key to

Reimplemented from SWKey.

Definition at line 88 of file listkey.h.

ListKey & ListKey::operator= ( const ListKey & ikey ) [virtual]

Equates this ListKey to another ListKey object.

Parameters:
ikey   other ListKey object

The documentation for this class was generated from the following file:
Generated at Thu May 24 19:50:28 2001 for The Sword Project by doxygen1.1.5 written by Dimitri van Heesch, © 1997-2000