00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef VERSETREEKEY_H
00024 #define VERSETREEKEY_H
00025
00026 #include <versekey.h>
00027 #include <treekey.h>
00028 #include <swmacs.h>
00029 #include <listkey.h>
00030
00031 #include <defs.h>
00032
00033 SWORD_NAMESPACE_START
00034
00039 class SWDLLEXPORT VerseTreeKey : public VerseKey {
00040
00041 static SWClass classdef;
00042 TreeKey *treeKey;
00043
00044 public:
00045
00052 VerseTreeKey(TreeKey *treeKey, const char *ikey = 0);
00053
00060 VerseTreeKey(TreeKey *treeKey, const SWKey *ikey);
00061
00068 VerseTreeKey(TreeKey *treeKey, const char *min, const char *max);
00069
00075 VerseTreeKey(const VerseTreeKey &k);
00076
00080 virtual ~VerseTreeKey();
00081
00085 virtual SWKey *clone() const;
00086
00087 virtual bool isTraversable() const { return true; }
00088
00089 virtual TreeKey *getTreeKey() { return treeKey; }
00090
00091
00092
00093
00094
00095 SWKEY_OPERATORS
00096
00097 virtual SWKey & operator = (const VerseKey & ikey) { copyFrom(ikey); return *this; }
00098 };
00099
00100 SWORD_NAMESPACE_END
00101
00102 #endif //VERSETREEKEY_H