Skip to content

Commit

Permalink
GUI2/Unit Create: show type details based on currently selected gender
Browse files Browse the repository at this point in the history
  • Loading branch information
Vultraz committed Aug 25, 2017
1 parent d04c3f6 commit 8331cdb
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 2 deletions.
16 changes: 14 additions & 2 deletions src/gui/dialogs/unit_create.cpp
Expand Up @@ -181,6 +181,17 @@ void unit_create::post_show(window& window)
last_gender = gender_;
}

void unit_create::update_displayed_type() const
{
window* w = get_window();

const int selected_row
= find_widget<listbox>(w, "unit_type_list", false).get_selected_row();

find_widget<unit_preview_pane>(w, "unit_details", false)
.set_displayed_type(units_[selected_row]->get_gender_unit_type(gender_));
}

void unit_create::list_item_clicked(window& window)
{
const int selected_row
Expand All @@ -190,8 +201,7 @@ void unit_create::list_item_clicked(window& window)
return;
}

find_widget<unit_preview_pane>(&window, "unit_details", false)
.set_displayed_type(*units_[selected_row]);
update_displayed_type();

gender_toggle.set_members_enabled([&](const unit_race::GENDER& gender)->bool {
return units_[selected_row]->has_gender_variation(gender);
Expand Down Expand Up @@ -247,6 +257,8 @@ void unit_create::filter_text_changed(text_box_base* textbox, const std::string&
void unit_create::gender_toggle_callback(window&)
{
gender_ = gender_toggle.get_active_member_value();

update_displayed_type();
}
} // namespace dialogs
} // namespace gui2
2 changes: 2 additions & 0 deletions src/gui/dialogs/unit_create.hpp
Expand Up @@ -78,6 +78,8 @@ class unit_create : public modal_dialog
void filter_text_changed(text_box_base* textbox, const std::string& text);
void gender_toggle_callback(window& window);

void update_displayed_type() const;

group<unit_race::GENDER> gender_toggle;
};
} // namespace dialogs
Expand Down

0 comments on commit 8331cdb

Please sign in to comment.