GUI2/Stacked Widget: no need to keep grid builders in shared_ptrs

The stacked_widget builder's grid builder stack is only passed to stacked_widget::finalize.
As of 4ada05a2cf74227ec460010db52acf525dddfcf6, the builder_grid is now passed by reference
to the generator's create functions rather than passing another shared_ptr.
This commit is contained in:
Charles Dang 2020-12-03 23:50:43 +11:00
parent 4ada05a2cf
commit 0f68d936df
2 changed files with 6 additions and 7 deletions

View File

@ -82,14 +82,13 @@ void stacked_widget::layout_children()
} }
} }
void void stacked_widget::finalize(const std::vector<builder_grid>& widget_builders)
stacked_widget::finalize(std::vector<builder_grid_const_ptr> widget_builder)
{ {
assert(generator_); assert(generator_);
string_map empty_data; string_map empty_data;
for(const auto & builder : widget_builder) for(const auto & builder : widget_builders)
{ {
generator_->create_item(-1, *builder, empty_data, nullptr); generator_->create_item(-1, builder, empty_data, nullptr);
} }
swap_grid(nullptr, &get_grid(), generator_, "_content_grid"); swap_grid(nullptr, &get_grid(), generator_, "_content_grid");
@ -278,7 +277,7 @@ builder_stacked_widget::builder_stacked_widget(const config& real_cfg)
VALIDATE(cfg.has_child("layer"), _("No stack layers defined.")); VALIDATE(cfg.has_child("layer"), _("No stack layers defined."));
for(const auto & layer : cfg.child_range("layer")) for(const auto & layer : cfg.child_range("layer"))
{ {
stack.emplace_back(std::make_shared<builder_grid>(layer)); stack.emplace_back(layer);
} }
} }

View File

@ -123,7 +123,7 @@ private:
* @param widget_builder The builder to build the contents of the * @param widget_builder The builder to build the contents of the
* widget. * widget.
*/ */
void finalize(std::vector<builder_grid_const_ptr> widget_builder); void finalize(const std::vector<builder_grid>& widget_builders);
/** /**
* Contains a pointer to the generator. * Contains a pointer to the generator.
@ -208,7 +208,7 @@ struct builder_stacked_widget : public builder_styled_widget
widget* build() const; widget* build() const;
/** The builders for all layers of the stack .*/ /** The builders for all layers of the stack .*/
std::vector<builder_grid_const_ptr> stack; std::vector<builder_grid> stack;
}; };
} // namespace implementation } // namespace implementation