Added diagram type enum

This commit is contained in:
Bartek Kryza
2022-03-30 23:43:08 +02:00
parent a8b57e4eb1
commit 22483df105
8 changed files with 25 additions and 6 deletions

View File

@@ -36,6 +36,11 @@ const std::vector<type_safe::object_ref<const enum_>> diagram::enums() const
return enums_;
}
common::model::diagram_t diagram::type() const
{
return common::model::diagram_t::kClass;
}
bool diagram::has_class(const class_ &c) const
{
return std::any_of(classes_.cbegin(), classes_.cend(),

View File

@@ -41,6 +41,8 @@ public:
diagram &operator=(const diagram &) = delete;
diagram &operator=(diagram &&) = default;
common::model::diagram_t type() const override;
const std::vector<type_safe::object_ref<const class_>> classes() const;
const std::vector<type_safe::object_ref<const enum_>> enums() const;

View File

@@ -34,6 +34,8 @@ public:
diagram();
virtual ~diagram();
virtual diagram_t type() const = 0;
diagram(const diagram &) = delete;
diagram(diagram &&);
diagram &operator=(const diagram &) = delete;

View File

@@ -21,6 +21,8 @@
namespace clanguml::common::model {
enum class diagram_t { kClass, kSequence, kPackage };
enum class access_t { kPublic, kProtected, kPrivate };
enum class relationship_t {

View File

@@ -23,6 +23,11 @@
namespace clanguml::package_diagram::model {
common::model::diagram_t diagram::type() const
{
return common::model::diagram_t::kPackage;
}
std::string diagram::to_alias(const std::string &full_name) const
{
LOG_DBG("Looking for alias for {}", full_name);

View File

@@ -38,6 +38,8 @@ public:
diagram &operator=(const diagram &) = delete;
diagram &operator=(diagram &&) = default;
common::model::diagram_t type() const override;
std::string to_alias(const std::string &full_name) const;
};
}

View File

@@ -18,17 +18,16 @@
#include "diagram.h"
#include <clang-c/CXCompilationDatabase.h>
#include <clang-c/Index.h>
#include <spdlog/spdlog.h>
#include <functional>
#include <memory>
#include <string>
#include <vector>
namespace clanguml::sequence_diagram::model {
common::model::diagram_t diagram::type() const
{
return common::model::diagram_t::kSequence;
}
std::string diagram::to_alias(const std::string &full_name) const
{
return full_name;

View File

@@ -34,6 +34,8 @@ public:
diagram &operator=(const diagram &) = delete;
diagram &operator=(diagram &&) = default;
common::model::diagram_t type() const override;
std::string to_alias(const std::string &full_name) const;
bool started{false};