From 01318b3112a6627eec5bb75e867ac4468d5f7604 Mon Sep 17 00:00:00 2001 From: Julian Eisel Date: Mon, 9 Nov 2020 12:21:51 +0100 Subject: Cleanup: Follow C++ code style for new Outliner building code See https://developer.blender.org/D9499. * Use C++17 nested namespaces. * Use `_` suffix rather than prefix for private member variables. Also: Simplify code visually in `tree_view.cc` with `using namespace`. --- .../editors/space_outliner/tree/tree_view.cc | 8 ++-- .../editors/space_outliner/tree/tree_view.hh | 16 +++---- .../space_outliner/tree/tree_view_libraries.cc | 22 ++++----- .../space_outliner/tree/tree_view_view_layer.cc | 52 ++++++++++------------ 4 files changed, 42 insertions(+), 56 deletions(-) (limited to 'source/blender/editors/space_outliner/tree') diff --git a/source/blender/editors/space_outliner/tree/tree_view.cc b/source/blender/editors/space_outliner/tree/tree_view.cc index f6c3da012f4..7eefae7124c 100644 --- a/source/blender/editors/space_outliner/tree/tree_view.cc +++ b/source/blender/editors/space_outliner/tree/tree_view.cc @@ -24,9 +24,7 @@ #include "tree_view.hh" -namespace outliner = blender::ed::outliner; -/* Convenience. */ -using outliner::AbstractTreeView; +using namespace blender::ed::outliner; TreeView *outliner_tree_view_create(eSpaceOutliner_Mode mode, SpaceOutliner *space_outliner) { @@ -36,14 +34,14 @@ TreeView *outliner_tree_view_create(eSpaceOutliner_Mode mode, SpaceOutliner *spa case SO_SCENES: break; case SO_LIBRARIES: - tree_view = new outliner::TreeViewLibraries(*space_outliner); + tree_view = new TreeViewLibraries(*space_outliner); break; case SO_SEQUENCE: case SO_DATA_API: case SO_ID_ORPHANS: break; case SO_VIEW_LAYER: - tree_view = new outliner::TreeViewViewLayer(*space_outliner); + tree_view = new TreeViewViewLayer(*space_outliner); break; } diff --git a/source/blender/editors/space_outliner/tree/tree_view.hh b/source/blender/editors/space_outliner/tree/tree_view.hh index a9aed29abc1..63a0826b440 100644 --- a/source/blender/editors/space_outliner/tree/tree_view.hh +++ b/source/blender/editors/space_outliner/tree/tree_view.hh @@ -33,9 +33,7 @@ struct TreeSourceData; #ifdef __cplusplus -namespace blender { -namespace ed { -namespace outliner { +namespace blender::ed::outliner { /* -------------------------------------------------------------------- */ /* Tree-View Interface */ @@ -50,7 +48,7 @@ namespace outliner { */ class AbstractTreeView { public: - AbstractTreeView(SpaceOutliner &space_outliner) : _space_outliner(space_outliner) + AbstractTreeView(SpaceOutliner &space_outliner) : space_outliner_(space_outliner) { } virtual ~AbstractTreeView() = default; @@ -63,7 +61,7 @@ class AbstractTreeView { protected: /** All derived classes will need a handle to this, so storing it in the base for convenience. */ - SpaceOutliner &_space_outliner; + SpaceOutliner &space_outliner_; }; /* -------------------------------------------------------------------- */ @@ -73,8 +71,8 @@ class AbstractTreeView { * \brief Tree-View for the View Layer display mode. */ class TreeViewViewLayer final : public AbstractTreeView { - ViewLayer *_view_layer = nullptr; - bool _show_objects = true; + ViewLayer *view_layer_ = nullptr; + bool show_objects_ = true; public: TreeViewViewLayer(SpaceOutliner &space_outliner); @@ -106,9 +104,7 @@ class TreeViewLibraries final : public AbstractTreeView { short id_filter_get() const; }; -} // namespace outliner -} // namespace ed -} // namespace blender +} // namespace blender::ed::outliner extern "C" { #endif diff --git a/source/blender/editors/space_outliner/tree/tree_view_libraries.cc b/source/blender/editors/space_outliner/tree/tree_view_libraries.cc index 77fa1fd3990..bd75bba83eb 100644 --- a/source/blender/editors/space_outliner/tree/tree_view_libraries.cc +++ b/source/blender/editors/space_outliner/tree/tree_view_libraries.cc @@ -29,9 +29,7 @@ #include "../outliner_intern.h" #include "tree_view.hh" -namespace blender { -namespace ed { -namespace outliner { +namespace blender::ed::outliner { /* Convenience/readability. */ template using List = ListBaseWrapper; @@ -114,7 +112,7 @@ TreeElement *TreeViewLibraries::add_library_contents(Main &mainvar, ListBase *lbarray[MAX_LIBARRAY]; int tot; if (filter_id_type) { - lbarray[0] = which_libbase(&mainvar, _space_outliner.filter_id_type); + lbarray[0] = which_libbase(&mainvar, space_outliner_.filter_id_type); tot = 1; } else { @@ -144,10 +142,10 @@ TreeElement *TreeViewLibraries::add_library_contents(Main &mainvar, if (!tenlib) { /* Create library tree element on demand, depending if there are any data-blocks. */ if (lib) { - tenlib = outliner_add_element(&_space_outliner, &lb, lib, nullptr, 0, 0); + tenlib = outliner_add_element(&space_outliner_, &lb, lib, nullptr, 0, 0); } else { - tenlib = outliner_add_element(&_space_outliner, &lb, &mainvar, nullptr, TSE_ID_BASE, 0); + tenlib = outliner_add_element(&space_outliner_, &lb, &mainvar, nullptr, TSE_ID_BASE, 0); tenlib->name = IFACE_("Current File"); } } @@ -161,14 +159,14 @@ TreeElement *TreeViewLibraries::add_library_contents(Main &mainvar, } else { ten = outliner_add_element( - &_space_outliner, &tenlib->subtree, lbarray[a], nullptr, TSE_ID_BASE, 0); + &space_outliner_, &tenlib->subtree, lbarray[a], nullptr, TSE_ID_BASE, 0); ten->directdata = lbarray[a]; ten->name = outliner_idcode_to_plural(GS(id->name)); } for (ID *id : List(lbarray[a])) { if (library_id_filter_poll(lib, id)) { - outliner_add_element(&_space_outliner, &ten->subtree, id, ten, 0, 0); + outliner_add_element(&space_outliner_, &ten->subtree, id, ten, 0, 0); } } } @@ -180,8 +178,8 @@ TreeElement *TreeViewLibraries::add_library_contents(Main &mainvar, short TreeViewLibraries::id_filter_get() const { - if (_space_outliner.filter & SO_FILTER_ID_TYPE) { - return _space_outliner.filter_id_type; + if (space_outliner_.filter & SO_FILTER_ID_TYPE) { + return space_outliner_.filter_id_type; } return 0; } @@ -212,6 +210,4 @@ bool TreeViewLibraries::library_id_filter_poll(Library *lib, ID *id) const return true; } -} // namespace outliner -} // namespace ed -} // namespace blender +} // namespace blender::ed::outliner diff --git a/source/blender/editors/space_outliner/tree/tree_view_view_layer.cc b/source/blender/editors/space_outliner/tree/tree_view_view_layer.cc index abfce72d0fb..8895673f060 100644 --- a/source/blender/editors/space_outliner/tree/tree_view_view_layer.cc +++ b/source/blender/editors/space_outliner/tree/tree_view_view_layer.cc @@ -34,9 +34,7 @@ #include "../outliner_intern.h" #include "tree_view.hh" -namespace blender { -namespace ed { -namespace outliner { +namespace blender::ed::outliner { /* Convenience/readability. */ template using List = ListBaseWrapper; @@ -45,8 +43,8 @@ class ObjectsChildrenBuilder { using TreeChildren = Vector; using ObjectTreeElementsMap = Map; - SpaceOutliner &_outliner; - ObjectTreeElementsMap _object_tree_elements_map; + SpaceOutliner &outliner_; + ObjectTreeElementsMap object_tree_elements_map_; public: ObjectsChildrenBuilder(SpaceOutliner &); @@ -73,16 +71,16 @@ ListBase TreeViewViewLayer::buildTree(const TreeSourceData &source_data) { ListBase tree = {nullptr}; - _view_layer = source_data.view_layer; - _show_objects = !(_space_outliner.filter & SO_FILTER_NO_OBJECT); + view_layer_ = source_data.view_layer; + show_objects_ = !(space_outliner_.filter & SO_FILTER_NO_OBJECT); - const bool show_children = (_space_outliner.filter & SO_FILTER_NO_CHILDREN) == 0; + const bool show_children = (space_outliner_.filter & SO_FILTER_NO_CHILDREN) == 0; - if (_space_outliner.filter & SO_FILTER_NO_COLLECTION) { + if (space_outliner_.filter & SO_FILTER_NO_COLLECTION) { /* Show objects in the view layer. */ - for (Base *base : List(_view_layer->object_bases)) { + for (Base *base : List(view_layer_->object_bases)) { TreeElement *te_object = outliner_add_element( - &_space_outliner, &tree, base->object, nullptr, 0, 0); + &space_outliner_, &tree, base->object, nullptr, 0, 0); te_object->directdata = base; } @@ -93,7 +91,7 @@ ListBase TreeViewViewLayer::buildTree(const TreeSourceData &source_data) else { /* Show collections in the view layer. */ TreeElement &ten = *outliner_add_element( - &_space_outliner, &tree, source_data.scene, nullptr, TSE_VIEW_COLLECTION_BASE, 0); + &space_outliner_, &tree, source_data.scene, nullptr, TSE_VIEW_COLLECTION_BASE, 0); ten.name = IFACE_("Scene Collection"); TREESTORE(&ten)->flag &= ~TSE_CLOSED; @@ -109,13 +107,13 @@ ListBase TreeViewViewLayer::buildTree(const TreeSourceData &source_data) void TreeViewViewLayer::add_view_layer(ListBase &tree, TreeElement &parent) { /* First layer collection is for master collection, don't show it. */ - LayerCollection *lc = static_cast(_view_layer->layer_collections.first); + LayerCollection *lc = static_cast(view_layer_->layer_collections.first); if (lc == nullptr) { return; } add_layer_collections_recursive(tree, lc->layer_collections, parent); - if (_show_objects) { + if (show_objects_) { add_layer_collection_objects(tree, *lc, parent); } } @@ -128,13 +126,13 @@ void TreeViewViewLayer::add_layer_collections_recursive(ListBase &tree, const bool exclude = (lc->flag & LAYER_COLLECTION_EXCLUDE) != 0; TreeElement *ten; - if (exclude && ((_space_outliner.show_restrict_flags & SO_RESTRICT_ENABLE) == 0)) { + if (exclude && ((space_outliner_.show_restrict_flags & SO_RESTRICT_ENABLE) == 0)) { ten = &parent_ten; } else { ID *id = &lc->collection->id; ten = outliner_add_element( - &_space_outliner, &tree, id, &parent_ten, TSE_LAYER_COLLECTION, 0); + &space_outliner_, &tree, id, &parent_ten, TSE_LAYER_COLLECTION, 0); ten->name = id->name + 2; ten->directdata = lc; @@ -151,7 +149,7 @@ void TreeViewViewLayer::add_layer_collections_recursive(ListBase &tree, } add_layer_collections_recursive(ten->subtree, lc->layer_collections, *ten); - if (!exclude && _show_objects) { + if (!exclude && show_objects_) { add_layer_collection_objects(ten->subtree, *lc, *ten); } } @@ -162,9 +160,9 @@ void TreeViewViewLayer::add_layer_collection_objects(ListBase &tree, TreeElement &ten) { for (CollectionObject *cob : List(lc.collection->gobject)) { - Base *base = BKE_view_layer_base_find(_view_layer, cob->ob); + Base *base = BKE_view_layer_base_find(view_layer_, cob->ob); TreeElement *te_object = outliner_add_element( - &_space_outliner, &tree, base->object, &ten, 0, 0); + &space_outliner_, &tree, base->object, &ten, 0, 0); te_object->directdata = base; if (!(base->flag & BASE_VISIBLE_VIEWLAYER)) { @@ -176,7 +174,7 @@ void TreeViewViewLayer::add_layer_collection_objects(ListBase &tree, void TreeViewViewLayer::add_layer_collection_objects_children(TreeElement &collection_tree_elem) { /* Call helper to add children. */ - ObjectsChildrenBuilder child_builder{_space_outliner}; + ObjectsChildrenBuilder child_builder{space_outliner_}; child_builder(collection_tree_elem); } @@ -190,7 +188,7 @@ void TreeViewViewLayer::add_layer_collection_objects_children(TreeElement &colle * * \{ */ -ObjectsChildrenBuilder::ObjectsChildrenBuilder(SpaceOutliner &outliner) : _outliner(outliner) +ObjectsChildrenBuilder::ObjectsChildrenBuilder(SpaceOutliner &outliner) : outliner_(outliner) { } @@ -216,7 +214,7 @@ void ObjectsChildrenBuilder::object_tree_elements_lookup_create_recursive(TreeEl if (tselem->type == 0 && te->idcode == ID_OB) { Object *ob = (Object *)tselem->id; /* Lookup children or add new, empty children vector. */ - Vector &tree_elements = _object_tree_elements_map.lookup_or_add(ob, {}); + Vector &tree_elements = object_tree_elements_map_.lookup_or_add(ob, {}); tree_elements.append(te); object_tree_elements_lookup_create_recursive(te); @@ -230,7 +228,7 @@ void ObjectsChildrenBuilder::object_tree_elements_lookup_create_recursive(TreeEl */ void ObjectsChildrenBuilder::make_object_parent_hierarchy_collections() { - for (ObjectTreeElementsMap::MutableItem item : _object_tree_elements_map.items()) { + for (ObjectTreeElementsMap::MutableItem item : object_tree_elements_map_.items()) { Object *child = item.key; if (child->parent == nullptr) { @@ -238,7 +236,7 @@ void ObjectsChildrenBuilder::make_object_parent_hierarchy_collections() } Vector &child_ob_tree_elements = item.value; - Vector *parent_ob_tree_elements = _object_tree_elements_map.lookup_ptr( + Vector *parent_ob_tree_elements = object_tree_elements_map_.lookup_ptr( child->parent); if (parent_ob_tree_elements == nullptr) { continue; @@ -272,7 +270,7 @@ void ObjectsChildrenBuilder::make_object_parent_hierarchy_collections() /* We add the child in the tree even if it is not in the collection. * We deliberately clear its sub-tree though, to make it less prominent. */ TreeElement *child_ob_tree_element = outliner_add_element( - &_outliner, &parent_ob_tree_element->subtree, child, parent_ob_tree_element, 0, 0); + &outliner_, &parent_ob_tree_element->subtree, child, parent_ob_tree_element, 0, 0); outliner_free_tree(&child_ob_tree_element->subtree); child_ob_tree_element->flag |= TE_CHILD_NOT_IN_COLLECTION; child_ob_tree_elements.append(child_ob_tree_element); @@ -283,6 +281,4 @@ void ObjectsChildrenBuilder::make_object_parent_hierarchy_collections() /** \} */ -} // namespace outliner -} // namespace ed -} // namespace blender +} // namespace blender::ed::outliner -- cgit v1.2.3