Switch to side-by-side view

--- a/src/rcldb/searchdata.h
+++ b/src/rcldb/searchdata.h
@@ -34,6 +34,7 @@
 #include "hldata.h"
 
 class RclConfig;
+class AdvSearch;
 
 namespace Rcl {
 
@@ -77,6 +78,12 @@
 	if (m_tp != SCLT_OR && m_tp != SCLT_AND) 
 	    m_tp = SCLT_OR;
     }
+    SearchData() 
+	: m_tp(SCLT_AND), m_haveDates(false), m_maxSize(size_t(-1)),
+	  m_minSize(size_t(-1)), m_haveWildCards(false), m_stemlang("english")
+    {
+    }
+    
     ~SearchData() {erase();}
 
     /** Make pristine */
@@ -136,6 +143,12 @@
     std::string getDescription() {return m_description;}
     void setDescription(const std::string& d) {m_description = d;}
 
+    virtual string asXML();
+    void setTp(SClType tp) 
+    {
+	m_tp = tp;
+    }
+    friend class ::AdvSearch;
 private:
     // Combine type. Only SCLT_AND or SCLT_OR here
     SClType                   m_tp; 
@@ -196,7 +209,7 @@
     virtual std::string getReason() const {return m_reason;}
     virtual void getTerms(HighlightData & hldata) const = 0;
 
-    SClType getTp() 
+    SClType getTp() const
     {
 	return m_tp;
     }
@@ -326,6 +339,10 @@
     }
 
     virtual bool toNativeQuery(Rcl::Db &, void *, int maxexp, int maxcl);
+    virtual int getslack() const
+    {
+	return m_slack;
+    }
 private:
     int m_slack;
 };