From e8ebaad6c6e584af7ecad3abce7d574496709b05 Mon Sep 17 00:00:00 2001 From: Bartek Kryza Date: Fri, 18 Feb 2022 22:45:48 +0100 Subject: [PATCH] Added generate_packages option to class_diagrams --- src/config/config.cc | 2 ++ src/config/config.h | 2 ++ src/config/option.h | 2 ++ tests/test_config.cc | 1 + tests/test_config_data/simple.yml | 1 + 5 files changed, 8 insertions(+) diff --git a/src/config/config.cc b/src/config/config.cc index 5489529d..f282a7ee 100644 --- a/src/config/config.cc +++ b/src/config/config.cc @@ -396,6 +396,7 @@ template <> struct convert { get_option(node, rhs.layout); get_option(node, rhs.include_relations_also_as_members); get_option(node, rhs.generate_method_arguments); + get_option(node, rhs.generate_packages); return true; } @@ -476,6 +477,7 @@ template <> struct convert { get_option(node, rhs.include_relations_also_as_members); get_option(node, rhs.puml); get_option(node, rhs.generate_method_arguments); + get_option(node, rhs.generate_packages); auto diagrams = node["diagrams"]; diff --git a/src/config/config.h b/src/config/config.h index 9ae7b614..c3b51a40 100644 --- a/src/config/config.h +++ b/src/config/config.h @@ -87,6 +87,8 @@ struct inheritable_diagram_options { option puml{"plantuml", option_inherit_mode::append}; option generate_method_arguments{ "generate_method_arguments", method_arguments::full}; + option generate_packages{ + "generate_packages", false}; void inherit(const inheritable_diagram_options &parent); }; diff --git a/src/config/option.h b/src/config/option.h index 3ba61f4c..0fe1d17b 100644 --- a/src/config/option.h +++ b/src/config/option.h @@ -56,6 +56,8 @@ template struct option { } } + void operator()(const T &v) { set(v); } + T &operator()() { return value; } const T &operator()() const { return value; } diff --git a/tests/test_config.cc b/tests/test_config.cc index 95091f8e..6714f6f3 100644 --- a/tests/test_config.cc +++ b/tests/test_config.cc @@ -33,6 +33,7 @@ TEST_CASE("Test config simple", "[unit-test]") CHECK(clanguml::util::contains(diagram.using_namespace(), "clanguml")); CHECK(diagram.generate_method_arguments() == clanguml::config::method_arguments::full); + CHECK(diagram.generate_packages() == true); } TEST_CASE("Test config inherited", "[unit-test]") diff --git a/tests/test_config_data/simple.yml b/tests/test_config_data/simple.yml index 22e6d4f7..7b0e0952 100644 --- a/tests/test_config_data/simple.yml +++ b/tests/test_config_data/simple.yml @@ -9,6 +9,7 @@ diagrams: using_namespace: - clanguml generate_method_arguments: full + generate_packages: true include: namespaces: - clanguml