diff --git a/include/Doxybook/Enums.hpp b/include/Doxybook/Enums.hpp index 4db8704c0..106777fd1 100644 --- a/include/Doxybook/Enums.hpp +++ b/include/Doxybook/Enums.hpp @@ -69,6 +69,8 @@ namespace Doxybook2 { extern std::string toStr(Virtual value); extern std::string toStr(FolderCategory value); + extern Type kindToType(Kind kind); + extern bool isKindLanguage(Kind kind); extern bool isKindStructured(Kind kind); extern bool isKindFile(Kind kind); diff --git a/src/Doxybook/Enums.cpp b/src/Doxybook/Enums.cpp index 726a72d2f..d00b8b970 100644 --- a/src/Doxybook/Enums.cpp +++ b/src/Doxybook/Enums.cpp @@ -151,6 +151,69 @@ std::string Doxybook2::toStr(const FolderCategory value) { return fromEnum(FOLDER_CATEGORY_STRS, value); } +Doxybook2::Type Doxybook2::kindToType(const Doxybook2::Kind kind) { + switch (kind) { + case Kind::DEFINE: { + return Type::DEFINES; + } + case Kind::FRIEND: { + return Type::FRIENDS; + } + case Kind::VARIABLE: { + return Type::ATTRIBUTES; + } + case Kind::FUNCTION: { + return Type::FUNCTIONS; + } + case Kind::ENUMVALUE: + case Kind::ENUM: + case Kind::USING: + case Kind::TYPEDEF: { + return Type::TYPES; + } + case Kind::MODULE: { + return Type::MODULES; + } + case Kind::NAMESPACE: { + return Type::NAMESPACES; + } + case Kind::UNION: + case Kind::INTERFACE: + case Kind::STRUCT: + case Kind::CLASS: { + return Type::CLASSES; + } + case Kind::FILE: { + return Type::FILES; + } + case Kind::DIR: { + return Type::DIRS; + } + case Kind::PAGE: { + return Type::PAGES; + } + case Kind::EXAMPLE: { + return Type::EXAMPLES; + } + case Kind::SIGNAL: { + return Type::SIGNALS; + } + case Kind::SLOT: { + return Type::SLOTS; + } + case Kind::EVENT: { + return Type::EVENTS; + } + case Kind::PROPERTY: { + return Type::PROPERTIES; + } + default: { + break; + } + } + return Type::NONE; +} + bool Doxybook2::isKindStructured(const Kind kind) { switch (kind) { case Doxybook2::Kind::CLASS: diff --git a/src/Doxybook/Node.cpp b/src/Doxybook/Node.cpp index 1afe463cd..16d6814c3 100644 --- a/src/Doxybook/Node.cpp +++ b/src/Doxybook/Node.cpp @@ -206,81 +206,7 @@ void Doxybook2::Node::parseBaseInfo(const Xml::Element& element) { this->title = this->name; } - switch (kind) { - case Kind::DEFINE: { - type = Type::DEFINES; - break; - } - case Kind::FRIEND: { - type = Type::FRIENDS; - break; - } - case Kind::VARIABLE: { - type = Type::ATTRIBUTES; - break; - } - case Kind::FUNCTION: { - type = Type::FUNCTIONS; - break; - } - case Kind::ENUMVALUE: - case Kind::ENUM: - case Kind::USING: - case Kind::TYPEDEF: { - type = Type::TYPES; - break; - } - case Kind::MODULE: { - type = Type::MODULES; - break; - } - case Kind::NAMESPACE: { - type = Type::NAMESPACES; - break; - } - case Kind::UNION: - case Kind::INTERFACE: - case Kind::STRUCT: - case Kind::CLASS: { - type = Type::CLASSES; - break; - } - case Kind::FILE: { - type = Type::FILES; - break; - } - case Kind::DIR: { - type = Type::DIRS; - break; - } - case Kind::PAGE: { - type = Type::PAGES; - break; - } - case Kind::EXAMPLE: { - type = Type::EXAMPLES; - break; - } - case Kind::SIGNAL: { - type = Type::SIGNALS; - break; - } - case Kind::SLOT: { - type = Type::SLOTS; - break; - } - case Kind::EVENT: { - type = Type::EVENTS; - break; - } - case Kind::PROPERTY: { - type = Type::PROPERTIES; - break; - } - default: { - break; - } - } + type = kindToType(kind); } void Doxybook2::Node::parseInheritanceInfo(const Xml::Element& element) {