From d3aba74d8b3b913492af382c991b4cf8a9b57e6f Mon Sep 17 00:00:00 2001 From: mlangkabel Date: Fri, 8 Dec 2017 15:18:47 +0100 Subject: [PATCH] src: moved search filters to NodeType --- src/lib/data/NodeType.cpp | 22 ++++++++++++++++++ src/lib/data/NodeType.h | 1 + src/lib/data/storage/PersistentStorage.cpp | 27 ++++++---------------- 3 files changed, 30 insertions(+), 20 deletions(-) diff --git a/src/lib/data/NodeType.cpp b/src/lib/data/NodeType.cpp index a336639f..c9f41525 100644 --- a/src/lib/data/NodeType.cpp +++ b/src/lib/data/NodeType.cpp @@ -135,6 +135,28 @@ bool NodeType::isVisibleAsParentInGraph() const return !isPackage(); } +bool NodeType::hasSearchFilter() const +{ + const NodeType::TypeMask mask = + NodeType::NODE_BUILTIN_TYPE | + NodeType::NODE_NAMESPACE | + NodeType::NODE_PACKAGE | + NodeType::NODE_STRUCT | + NodeType::NODE_CLASS | + NodeType::NODE_INTERFACE | + NodeType::NODE_GLOBAL_VARIABLE | + NodeType::NODE_FIELD | + NodeType::NODE_FUNCTION | + NodeType::NODE_METHOD | + NodeType::NODE_ENUM | + NodeType::NODE_ENUM_CONSTANT | + NodeType::NODE_TYPEDEF | + NodeType::NODE_FILE | + NodeType::NODE_MACRO | + NodeType::NODE_UNION; + return ((m_type & mask) > 0); +} + Tree NodeType::getOverviewBundleTree() const { switch (m_type) diff --git a/src/lib/data/NodeType.h b/src/lib/data/NodeType.h index 29b472f2..20d33ab8 100644 --- a/src/lib/data/NodeType.h +++ b/src/lib/data/NodeType.h @@ -83,6 +83,7 @@ public: bool isPotentialMember() const; bool isCollapsible() const; bool isVisibleAsParentInGraph() const; + bool hasSearchFilter() const; Tree getOverviewBundleTree() const; FilePath getIconPath() const; diff --git a/src/lib/data/storage/PersistentStorage.cpp b/src/lib/data/storage/PersistentStorage.cpp index 036aafe9..98bccae6 100644 --- a/src/lib/data/storage/PersistentStorage.cpp +++ b/src/lib/data/storage/PersistentStorage.cpp @@ -32,26 +32,13 @@ PersistentStorage::PersistentStorage(const FilePath& dbPath, const FilePath& boo m_commandIndex.addNode(0, SearchMatch::getCommandName(SearchMatch::COMMAND_ALL)); m_commandIndex.addNode(0, SearchMatch::getCommandName(SearchMatch::COMMAND_ERROR)); - // m_commandIndex.addNode(0, NodeType(NodeType::NODE_SYMBOL).getReadableTypeString()); - // m_commandIndex.addNode(0, NodeType(NodeType::NODE_TYPE).getReadableTypeString()); - m_commandIndex.addNode(0, NodeType(NodeType::NODE_BUILTIN_TYPE).getReadableTypeString()); - m_commandIndex.addNode(0, NodeType(NodeType::NODE_NAMESPACE).getReadableTypeString()); - m_commandIndex.addNode(0, NodeType(NodeType::NODE_PACKAGE).getReadableTypeString()); - m_commandIndex.addNode(0, NodeType(NodeType::NODE_STRUCT).getReadableTypeString()); - m_commandIndex.addNode(0, NodeType(NodeType::NODE_CLASS).getReadableTypeString()); - m_commandIndex.addNode(0, NodeType(NodeType::NODE_INTERFACE).getReadableTypeString()); - m_commandIndex.addNode(0, NodeType(NodeType::NODE_GLOBAL_VARIABLE).getReadableTypeString()); - m_commandIndex.addNode(0, NodeType(NodeType::NODE_FIELD).getReadableTypeString()); - m_commandIndex.addNode(0, NodeType(NodeType::NODE_FUNCTION).getReadableTypeString()); - m_commandIndex.addNode(0, NodeType(NodeType::NODE_METHOD).getReadableTypeString()); - m_commandIndex.addNode(0, NodeType(NodeType::NODE_ENUM).getReadableTypeString()); - m_commandIndex.addNode(0, NodeType(NodeType::NODE_ENUM_CONSTANT).getReadableTypeString()); - m_commandIndex.addNode(0, NodeType(NodeType::NODE_TYPEDEF).getReadableTypeString()); - // m_commandIndex.addNode(0, NodeType(NodeType::NODE_TEMPLATE_PARAMETER_TYPE).getReadableTypeString()); - // m_commandIndex.addNode(0, NodeType(NodeType::NODE_TYPE_PARAMETER).getReadableTypeString()); - m_commandIndex.addNode(0, NodeType(NodeType::NODE_FILE).getReadableTypeString()); - m_commandIndex.addNode(0, NodeType(NodeType::NODE_MACRO).getReadableTypeString()); - m_commandIndex.addNode(0, NodeType(NodeType::NODE_UNION).getReadableTypeString()); + for (const NodeType& nodeType : NodeTypeSet::all().getNodeTypes()) + { + if (nodeType.hasSearchFilter()) + { + m_commandIndex.addNode(0, nodeType.getReadableTypeString()); + } + } m_commandIndex.finishSetup(); }