highlighting would not work with cat filt active because ClausSub did not implement getTerms

This commit is contained in:
dockes 2008-10-14 07:50:14 +00:00
parent 131e0e7684
commit b6936d5a60
3 changed files with 15 additions and 6 deletions

View File

@ -1,5 +1,5 @@
#ifndef lint #ifndef lint
static char rcsid[] = "@(#$Id: searchdata.cpp,v 1.25 2008-09-29 11:33:55 dockes Exp $ (C) 2006 J.F.Dockes"; static char rcsid[] = "@(#$Id: searchdata.cpp,v 1.26 2008-10-14 07:50:13 dockes Exp $ (C) 2006 J.F.Dockes";
#endif #endif
/* /*
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -636,4 +636,11 @@ bool SearchDataClauseSub::toNativeQuery(Rcl::Db &db, void *p, const string&)
return m_sub->toNativeQuery(db, p); return m_sub->toNativeQuery(db, p);
} }
bool SearchDataClauseSub::getTerms(vector<string>& terms,
vector<vector<string> >& groups,
vector<int>& gslks) const
{
return m_sub.getconstptr()->getTerms(terms, groups, gslks);
}
} // Namespace Rcl } // Namespace Rcl

View File

@ -16,7 +16,7 @@
*/ */
#ifndef _SEARCHDATA_H_INCLUDED_ #ifndef _SEARCHDATA_H_INCLUDED_
#define _SEARCHDATA_H_INCLUDED_ #define _SEARCHDATA_H_INCLUDED_
/* @(#$Id: searchdata.h,v 1.20 2008-09-29 11:33:55 dockes Exp $ (C) 2004 J.F.Dockes */ /* @(#$Id: searchdata.h,v 1.21 2008-10-14 07:50:13 dockes Exp $ (C) 2004 J.F.Dockes */
/** /**
* Structures to hold data coming almost directly from the gui * Structures to hold data coming almost directly from the gui
@ -139,8 +139,8 @@ public:
bool isFileName() const {return m_tp == SCLT_FILENAME ? true: false;} bool isFileName() const {return m_tp == SCLT_FILENAME ? true: false;}
virtual string getReason() const {return m_reason;} virtual string getReason() const {return m_reason;}
virtual bool getTerms(vector<string>&, vector<vector<string> >&, virtual bool getTerms(vector<string>&, vector<vector<string> >&,
vector<int>&) const vector<int>&) const = 0;
{return true;} // {return true;}
SClType getTp() {return m_tp;} SClType getTp() {return m_tp;}
void setParent(SearchData *p) {m_parentSearch = p;} void setParent(SearchData *p) {m_parentSearch = p;}
virtual void setModifiers(Modifier mod) {m_modifiers = mod;} virtual void setModifiers(Modifier mod) {m_modifiers = mod;}
@ -247,7 +247,8 @@ public:
: SearchDataClause(tp), m_sub(sub) {} : SearchDataClause(tp), m_sub(sub) {}
virtual ~SearchDataClauseSub() {} virtual ~SearchDataClauseSub() {}
virtual bool toNativeQuery(Rcl::Db &db, void *, const string& stemlang); virtual bool toNativeQuery(Rcl::Db &db, void *, const string& stemlang);
virtual bool getTerms(vector<string>&, vector<vector<string> >&,
vector<int>&) const;
protected: protected:
RefCntr<SearchData> m_sub; RefCntr<SearchData> m_sub;
}; };

View File

@ -40,8 +40,9 @@ public:
} }
} }
X *operator->() {return rep;} X *operator->() {return rep;}
int getcnt() const {return pcount ? *pcount : 0;}
X *getptr() const {return rep;} X *getptr() const {return rep;}
const X *getconstptr() const {return rep;}
int getcnt() const {return pcount ? *pcount : 0;}
bool isNull() const {return rep == 0;} bool isNull() const {return rep == 0;}
}; };