Show the right colors in SearchView for the different NodeTypes or QueryNodeTyps Note: add colors to your Applcationsettings like in the template fortune cookie message = recognition will come from unexpected sources
84 lines
1.2 KiB
C++
84 lines
1.2 KiB
C++
#include "data/query/QueryNode.h"
|
|
|
|
QueryNode::QueryNode(QueryNodeType queryNodeType)
|
|
: m_nodeType(queryNodeType)
|
|
, m_isGroup(false)
|
|
, m_isComplete(true)
|
|
{
|
|
}
|
|
|
|
QueryNode::~QueryNode()
|
|
{
|
|
}
|
|
|
|
void QueryNode::print(std::ostream& ostream, int n) const
|
|
{
|
|
for (int i = 0; i < n; i++)
|
|
{
|
|
ostream << '\t';
|
|
}
|
|
|
|
if (isGroup())
|
|
{
|
|
ostream << '(';
|
|
}
|
|
|
|
print(ostream);
|
|
|
|
if (isGroup())
|
|
{
|
|
ostream << ')';
|
|
}
|
|
|
|
if (!isComplete())
|
|
{
|
|
ostream << " INVALID";
|
|
}
|
|
|
|
ostream << '\n';
|
|
}
|
|
|
|
bool QueryNode::isGroup() const
|
|
{
|
|
return m_isGroup;
|
|
}
|
|
|
|
void QueryNode::setIsGroup(bool isGroup)
|
|
{
|
|
m_isGroup = isGroup;
|
|
}
|
|
|
|
bool QueryNode::isComplete() const
|
|
{
|
|
return m_isComplete && derivedIsComplete();
|
|
}
|
|
|
|
void QueryNode::setIsComplete(bool isComplete)
|
|
{
|
|
m_isComplete = isComplete;
|
|
}
|
|
|
|
QueryNode::QueryNodeType QueryNode::getQueryNodeType() const
|
|
{
|
|
return m_nodeType;
|
|
}
|
|
|
|
std::string QueryNode::queryNodeTypeToString(const QueryNodeType& type)
|
|
{
|
|
switch(type)
|
|
{
|
|
case QUERYNODETYPE_NONE:
|
|
return "none";
|
|
case QUERYNODETYPE_COMMAND:
|
|
return "command";
|
|
case QUERYNODETYPE_TOKEN:
|
|
return "token";
|
|
case QUERYNODETYPE_OPERATOR:
|
|
return "operator";
|
|
}
|
|
}
|
|
|
|
std::string QueryNode::getQueryNodeTypeAsString() const
|
|
{
|
|
return queryNodeTypeToString(m_nodeType);
|
|
} |