mirror of
https://github.com/wesnoth/wesnoth
synced 2025-05-10 07:54:17 +00:00
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:
parent
4ada05a2cf
commit
0f68d936df
@ -82,14 +82,13 @@ void stacked_widget::layout_children()
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
stacked_widget::finalize(std::vector<builder_grid_const_ptr> widget_builder)
|
||||
void stacked_widget::finalize(const std::vector<builder_grid>& widget_builders)
|
||||
{
|
||||
assert(generator_);
|
||||
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");
|
||||
|
||||
@ -278,7 +277,7 @@ builder_stacked_widget::builder_stacked_widget(const config& real_cfg)
|
||||
VALIDATE(cfg.has_child("layer"), _("No stack layers defined."));
|
||||
for(const auto & layer : cfg.child_range("layer"))
|
||||
{
|
||||
stack.emplace_back(std::make_shared<builder_grid>(layer));
|
||||
stack.emplace_back(layer);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -123,7 +123,7 @@ private:
|
||||
* @param widget_builder The builder to build the contents of the
|
||||
* 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.
|
||||
@ -208,7 +208,7 @@ struct builder_stacked_widget : public builder_styled_widget
|
||||
widget* build() const;
|
||||
|
||||
/** The builders for all layers of the stack .*/
|
||||
std::vector<builder_grid_const_ptr> stack;
|
||||
std::vector<builder_grid> stack;
|
||||
};
|
||||
|
||||
} // namespace implementation
|
||||
|
Loading…
x
Reference in New Issue
Block a user