ui: improvements proposed by Julian Mautner

* automatically expand active class
* increase arrow size
* return child nodes in autocompletions
* always return filters in autocompletions
This commit is contained in:
Eberhard Graether
2015-01-12 23:47:57 +01:00
parent 8242454104
commit 7596c699d6
13 changed files with 103 additions and 55 deletions
@@ -18,10 +18,11 @@ GraphFilterConductor::~GraphFilterConductor()
{
}
void GraphFilterConductor::filter(const QueryTree* tree, const FilterableGraph* in, FilterableGraph* out) const
void GraphFilterConductor::filter(const QueryTree* tree, const FilterableGraph* in, FilterableGraph* out)
{
if (tree->isValid())
{
m_inGraph = in;
filterRecursively(tree->getRoot().get(), in, out);
}
}
@@ -38,7 +39,7 @@ void GraphFilterConductor::filterRecursively(const QueryNode* node, const Filter
}
else if (node->isToken())
{
filterTokenNode(dynamic_cast<const QueryToken*>(node), in, out);
filterTokenNode(dynamic_cast<const QueryToken*>(node), out);
}
}
@@ -172,7 +173,7 @@ void GraphFilterConductor::filterCommandNode(const QueryCommand* node, const Fil
}
}
void GraphFilterConductor::filterTokenNode(const QueryToken* node, const FilterableGraph* in, FilterableGraph* out) const
void GraphFilterConductor::filterTokenNode(const QueryToken* node, FilterableGraph* out) const
{
GraphFilterToken(node->getTokenName(), node->getTokenIds()).apply(in, out);
GraphFilterToken(node->getTokenName(), node->getTokenIds()).apply(m_inGraph, out);
}
@@ -14,13 +14,15 @@ public:
GraphFilterConductor();
~GraphFilterConductor();
void filter(const QueryTree* tree, const FilterableGraph* in, FilterableGraph* out) const;
void filter(const QueryTree* tree, const FilterableGraph* in, FilterableGraph* out);
private:
void filterRecursively(const QueryNode* node, const FilterableGraph* in, FilterableGraph* out) const;
void filterOperatorNode(const QueryOperator* node, const FilterableGraph* in, FilterableGraph* out) const;
void filterCommandNode(const QueryCommand* node, const FilterableGraph* in, FilterableGraph* out) const;
void filterTokenNode(const QueryToken* node, const FilterableGraph* in, FilterableGraph* out) const;
void filterTokenNode(const QueryToken* node, FilterableGraph* out) const;
const FilterableGraph* m_inGraph;
};
#endif // GRAPH_FILTER_CONDUCTOR_H