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

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

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

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

virtual void setPosition (SW_POSITION)
 Positions this key. More...

virtual void decrement (int step)
 Decrements a number of elements.

virtual void increment (int step)
 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...

SWKEY_OPERATORS ListKey& operator= (const ListKey &key)

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 112 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 106 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.

void ListKey::copyFrom ( 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.

void ListKey::copyFrom ( const ListKey & ikey ) [virtual]
 

Equates this ListKey to another ListKey object.

Parameters:
ikey   other ListKey object

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

Adds an element to the list.

Parameters:
ikey   the element to add

Definition at line 82 of file listkey.h.

void ListKey::setPosition ( SW_POSITION ) [virtual]
 

Positions this key.

Parameters:
p   position
Returns:
*this

Reimplemented from SWKey.


The documentation for this class was generated from the following file:
Generated at Fri Oct 5 22:45:35 2001 for The Sword Project by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001