Switch to side-by-side view

--- a/src/query/docseq.h
+++ b/src/query/docseq.h
@@ -1,6 +1,6 @@
 #ifndef _DOCSEQ_H_INCLUDED_
 #define _DOCSEQ_H_INCLUDED_
-/* @(#$Id: docseq.h,v 1.3 2005-12-05 16:13:12 dockes Exp $  (C) 2004 J.F.Dockes */
+/* @(#$Id: docseq.h,v 1.4 2006-01-11 15:08:22 dockes Exp $  (C) 2004 J.F.Dockes */
 
 #include "rcldb.h"
 #include "history.h"
@@ -11,11 +11,14 @@
     history or Db query). We have an interface to make things cleaner.
 */
 class DocSequence {
+    std::string m_title;
  public:
+    DocSequence(const std::string &t) : m_title(t) {}
+    virtual ~DocSequence() {}
     virtual bool getDoc(int num, Rcl::Doc &doc, int *percent, string *sh = 0) 
 	= 0;
     virtual int getResCnt() = 0;
-    virtual std::string title() = 0;
+    virtual std::string title() {return m_title;}
 };
 
 
@@ -23,11 +26,12 @@
     to make sense */
 class DocSequenceDb : public DocSequence {
  public:
-    DocSequenceDb(Rcl::Db *d) : m_db(d), m_rescnt(-1) {}
+    DocSequenceDb(Rcl::Db *d, const std::string &t) : 
+	DocSequence(t), m_db(d), m_rescnt(-1) 
+	{}
     virtual ~DocSequenceDb() {}
     virtual bool getDoc(int num, Rcl::Doc &doc, int *percent, string * = 0);
     virtual int getResCnt();
-    virtual std::string title() {return string("Query results");}
  private:
     Rcl::Db *m_db;
     int m_rescnt;
@@ -36,13 +40,12 @@
 /** A DocSequence coming from the history file */
 class DocSequenceHistory : public DocSequence {
  public:
-    DocSequenceHistory(Rcl::Db *d, RclDHistory *h) 
-	: m_db(d), m_hist(h), m_prevnum(-1), m_prevtime(-1) {}
+    DocSequenceHistory(Rcl::Db *d, RclDHistory *h, const std::string &t) 
+	: DocSequence(t), m_db(d), m_hist(h), m_prevnum(-1), m_prevtime(-1) {}
     virtual ~DocSequenceHistory() {}
 
     virtual bool getDoc(int num, Rcl::Doc &doc, int *percent, string *sh = 0);
     virtual int getResCnt();
-    virtual std::string title() {return string("Document history");}
  private:
     Rcl::Db *m_db;
     RclDHistory *m_hist;