GUI2: removed now-redundant type parameter from build_single_widget_and_cast_to

(cherry-picked from commit 34195ae6548131ef00aa894b4f82c7312fa140da)
This commit is contained in:
Charles Dang 2018-06-08 19:16:52 +11:00
parent 1b547fec0a
commit a13791c23b
4 changed files with 8 additions and 9 deletions

View File

@ -99,13 +99,12 @@ widget* build_single_widget_instance_helper(const std::string& type, const confi
* @tparam T The final widget type. The widget pointer will be
* cast to this.
*
* @param type String ID of the widget type.
* @param cfg Data config to pass to the widget's builder.
*/
template<typename T>
T* build_single_widget_instance(const std::string& type, const config& cfg = config())
T* build_single_widget_instance(const config& cfg = config())
{
return dynamic_cast<T*>(build_single_widget_instance_helper(type, cfg));
return dynamic_cast<T*>(build_single_widget_instance_helper(T::type(), cfg));
}
struct builder_grid : public builder_widget

View File

@ -137,7 +137,7 @@ void drop_down_menu::pre_show(window& window)
find_widget<toggle_panel>(&new_row, "panel", false).set_tooltip(entry["tooltip"]);
if(entry.has_attribute("image")) {
image* img = build_single_widget_instance<image>("image");
image* img = build_single_widget_instance<image>();
img->set_label(entry["image"]);
grid* mi_grid = dynamic_cast<grid*>(new_row.find("menu_item", false));
@ -147,7 +147,7 @@ void drop_down_menu::pre_show(window& window)
}
if(entry.has_attribute("checkbox")) {
toggle_button* checkbox = build_single_widget_instance<toggle_button>("toggle_button");
toggle_button* checkbox = build_single_widget_instance<toggle_button>();
checkbox->set_id("checkbox");
checkbox->set_value_bool(entry["checkbox"].to_bool(false));

View File

@ -646,7 +646,7 @@ void preferences_dialog::post_build(window& window)
}
case ADVANCED_PREF_TYPE::SLIDER: {
slider* setter_widget = build_single_widget_instance<slider>("slider", config {"definition", "minimal"});
slider* setter_widget = build_single_widget_instance<slider>(config {"definition", "minimal"});
setter_widget->set_id("setter");
// Maximum must be set first or this will assert
setter_widget->set_value_range(option["min"].to_int(), option["max"].to_int());
@ -693,7 +693,7 @@ void preferences_dialog::post_build(window& window)
selected = 0;
}
menu_button* setter_widget = build_single_widget_instance<menu_button>("menu_button");
menu_button* setter_widget = build_single_widget_instance<menu_button>();
setter_widget->set_id("setter");
details_grid.swap_child("setter", setter_widget, true);
@ -718,7 +718,7 @@ void preferences_dialog::post_build(window& window)
case ADVANCED_PREF_TYPE::SPECIAL: {
//main_grid->remove_child("setter");
image* value_widget = build_single_widget_instance<image>("image");
image* value_widget = build_single_widget_instance<image>();
value_widget->set_label("icons/arrows/arrows_blank_right_25.png~CROP(3,3,18,18)");
main_grid->swap_child("value", value_widget, true);

View File

@ -759,7 +759,7 @@ void scrollbar_container::finalize_setup()
}
/***** Setup the content *****/
content_ = build_single_widget_instance<spacer>("spacer");
content_ = build_single_widget_instance<spacer>();
// TODO: possibly move this unique_ptr casting functionality to a helper function.
content_grid_.reset(dynamic_cast<grid*>(get_grid().swap_child("_content_grid", content_, true).release()));