aboutsummaryrefslogtreecommitdiffstats
path: root/include/treekey.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/treekey.h')
-rw-r--r--include/treekey.h89
1 files changed, 89 insertions, 0 deletions
diff --git a/include/treekey.h b/include/treekey.h
new file mode 100644
index 0000000..8768ac5
--- /dev/null
+++ b/include/treekey.h
@@ -0,0 +1,89 @@
+/******************************************************************************
+ * versekey.h - code for class 'versekey'- a standard Biblical verse key
+ *
+ * $Id: treekey.h,v 1.3 2002/04/15 21:26:44 scribe Exp $
+ *
+ * Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
+
+#ifndef TREEKEY_H
+#define TREEKEY_H
+
+#include <swkey.h>
+#include <swmacs.h>
+
+#include <defs.h>
+
+
+/**
+ * Class VerseKey
+ * The SWKey implementation used for verse based modules like Bibles or commentaries.
+ */
+class SWDLLEXPORT TreeKey : public SWKey {
+ static SWClass classdef;
+ void init();
+
+public:
+// TreeKey (const char *ikey = 0);
+// TreeKey (const SWKey * ikey);
+// TreeKey (TreeKey const &k);
+ TreeKey () { init(); };
+ ~TreeKey () {};
+
+
+ virtual const char *getLocalName() = 0;
+ virtual const char *setLocalName(const char *) = 0;
+
+ virtual const char *getUserData(int *size = 0) = 0;
+ virtual void setUserData(const char *userData, int size = 0) = 0;
+
+ virtual const char *getFullName() const = 0;
+
+ virtual void root() = 0;
+ virtual bool parent() = 0;
+
+ virtual bool firstChild() = 0;
+ virtual bool nextSibling() = 0;
+ virtual bool previousSibling() = 0;
+
+ virtual bool hasChildren() = 0;
+
+ virtual void append() = 0;
+ virtual void appendChild() = 0;
+ virtual void insertBefore() = 0;
+
+ virtual void remove() = 0;
+
+ virtual void setOffset(unsigned long offset) = 0;
+ virtual unsigned long getOffset() const = 0;
+
+ virtual void setText(const char *ikey) = 0;
+ virtual void setPosition(SW_POSITION p) = 0;
+ virtual const char *getText() const = 0;
+ virtual int compare(const SWKey &ikey) = 0;
+ virtual void decrement(int steps = 1) = 0;
+ virtual void increment(int steps = 1) = 0;
+ virtual char Traversable () { return 1; }
+ virtual long Index () const { return getOffset(); }
+ virtual long Index (long iindex) { setOffset(iindex); return getOffset(); }
+
+ SWKEY_OPERATORS
+
+ };
+
+
+#endif