Skip to content

Commit

Permalink
Edit Side: simplify group setup code
Browse files Browse the repository at this point in the history
  • Loading branch information
Vultraz committed Sep 3, 2016
1 parent f7d06f6 commit f66884c
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 17 deletions.
22 changes: 8 additions & 14 deletions src/gui/dialogs/editor/edit_side.cpp
Expand Up @@ -88,23 +88,17 @@ teditor_edit_side::teditor_edit_side(int side,

void teditor_edit_side::pre_show(twindow& window)
{
register_radio_toggle<team::CONTROLLER>("controller_human", controller_group, team::CONTROLLER::HUMAN, controller_, window);
register_radio_toggle<team::CONTROLLER>("controller_ai", controller_group, team::CONTROLLER::AI, controller_, window);
register_radio_toggle<team::CONTROLLER>("controller_null", controller_group, team::CONTROLLER::EMPTY, controller_, window);
controller_group.add_member(&find_widget<ttoggle_button>(&window, "controller_human", false), team::CONTROLLER::HUMAN);
controller_group.add_member(&find_widget<ttoggle_button>(&window, "controller_ai", false), team::CONTROLLER::AI);
controller_group.add_member(&find_widget<ttoggle_button>(&window, "controller_null", false), team::CONTROLLER::EMPTY);

register_radio_toggle<team::SHARE_VISION>("vision_all", vision_group, team::SHARE_VISION::ALL, share_vision_, window);
register_radio_toggle<team::SHARE_VISION>("vision_shroud", vision_group, team::SHARE_VISION::SHROUD, share_vision_, window);
register_radio_toggle<team::SHARE_VISION>("vision_null", vision_group, team::SHARE_VISION::NONE, share_vision_, window);
}

template <typename T>
void teditor_edit_side::register_radio_toggle(const std::string& toggle_id, tgroup<T>& group, const T& enum_value, T& current_value, twindow& window)
{
ttoggle_button& b = find_widget<ttoggle_button>(&window, toggle_id, false);
controller_group.set_member_states(controller_);

b.set_value(enum_value == current_value);
vision_group.add_member(&find_widget<ttoggle_button>(&window, "vision_all", false), team::SHARE_VISION::ALL);
vision_group.add_member(&find_widget<ttoggle_button>(&window, "vision_shroud", false), team::SHARE_VISION::SHROUD);
vision_group.add_member(&find_widget<ttoggle_button>(&window, "vision_null", false), team::SHARE_VISION::NONE);

group.add_member(&b, enum_value);
vision_group.set_member_states(share_vision_);
}

void teditor_edit_side::post_show(twindow&)
Expand Down
3 changes: 0 additions & 3 deletions src/gui/dialogs/editor/edit_side.hpp
Expand Up @@ -76,9 +76,6 @@ class teditor_edit_side : public tdialog
void pre_show(twindow& window);
void post_show(twindow& window);

template <typename T>
void register_radio_toggle(const std::string& toggle_id, tgroup<T>& group, const T& enum_value, T& current_value, twindow& window);

team::CONTROLLER& controller_;
tgroup<team::CONTROLLER> controller_group;

Expand Down

0 comments on commit f66884c

Please sign in to comment.