tcampain_selection: removed unused tree view

This commit is contained in:
Charles Dang 2015-04-25 17:15:42 +11:00
parent 0bef9d6553
commit 9f6c07815e
2 changed files with 55 additions and 278 deletions

View file

@ -200,119 +200,6 @@
[/column] [/column]
[column]
grow_factor = 0
border = "all"
border_size = 5
horizontal_alignment = "left"
[tree_view]
id = "campaign_tree"
definition = "default"
horizontal_scrollbar_mode = "never"
vertical_scrollbar_mode = "always"
indention_step_size = "40"
[node]
id = "campaign_group"
[node_definition]
[row]
[column]
[toggle_button]
id = "tree_view_node_icon"
definition = "tree_view_node"
[/toggle_button]
[/column]
[column]
grow_factor = 1
horizontal_grow = "true"
[label]
id = "tree_view_node_label"
label = "group"
[/label]
[/column]
[/row]
[/node_definition]
[/node]
[node]
id = "campaign"
[node_definition]
[row]
[column]
horizontal_grow = "true"
[toggle_panel]
id = "tree_view_node_label"
definition = "default"
# horizontal_grow = "true"
return_value_id = "ok"
[grid]
[row]
[column]
border = "all"
border_size = 5
vertical_alignment = "top"
[image]
id = "icon"
definition = "default"
[/image]
[/column]
[column]
grow_factor = 1
horizontal_grow = "true"
border = "right"
border_size = 8
[label]
id = "name"
definition = "default"
linked_group = "tree_name"
[/label]
[/column]
[/row]
[/grid]
[/toggle_panel]
[/column]
[/row]
[/node_definition]
[/node]
[/tree_view]
[/column]
[column] [column]
grow_factor = 1 grow_factor = 1
horizontal_grow = "true" horizontal_grow = "true"

View file

@ -83,32 +83,15 @@ REGISTER_DIALOG(campaign_selection)
void tcampaign_selection::campaign_selected(twindow& window) void tcampaign_selection::campaign_selected(twindow& window)
{ {
if(new_widgets && false) { const int selected_row
ttree_view& tree = find_widget<tlistbox>(&window, "campaign_list", false)
= find_widget<ttree_view>(&window, "campaign_tree", false); .get_selected_row();
if(tree.empty()) { tmulti_page& multi_page
return; = find_widget<tmulti_page>(&window, "campaign_details", false);
}
assert(tree.selected_item()); multi_page.select_page(selected_row);
const unsigned choice engine_.set_current_level(selected_row);
= lexical_cast<unsigned>(tree.selected_item()->id());
tmulti_page& multi_page
= find_widget<tmulti_page>(&window, "campaign_details", false);
multi_page.select_page(choice);
} else {
const int selected_row
= find_widget<tlistbox>(&window, "campaign_list", false)
.get_selected_row();
tmulti_page& multi_page
= find_widget<tmulti_page>(&window, "campaign_details", false);
multi_page.select_page(selected_row);
engine_.set_current_level(selected_row);
}
} }
void tcampaign_selection::show_settings(CVideo& video) { void tcampaign_selection::show_settings(CVideo& video) {
@ -118,141 +101,61 @@ void tcampaign_selection::show_settings(CVideo& video) {
void tcampaign_selection::pre_show(CVideo& video, twindow& window) void tcampaign_selection::pre_show(CVideo& video, twindow& window)
{ {
if(new_widgets && false) { /***** Setup campaign list. *****/
/***** Setup campaign tree. *****/ tlistbox& list = find_widget<tlistbox>(&window, "campaign_list", false);
ttree_view& tree
= find_widget<ttree_view>(&window, "campaign_tree", false);
tree.set_selection_change_callback(
boost::bind(&tcampaign_selection::campaign_selected,
this,
boost::ref(window)));
window.keyboard_capture(&tree);
string_map tree_group_field;
std::map<std::string, string_map> tree_group_item;
tree_group_field["label"] = "Campaigns won";
tree_group_item["tree_view_node_label"] = tree_group_field;
ttree_view_node& completed
= tree.add_node("campaign_group", tree_group_item);
tree_group_field["label"] = "Campaigns to conquer";
tree_group_item["tree_view_node_label"] = tree_group_field;
ttree_view_node& not_completed
= tree.add_node("campaign_group", tree_group_item);
/***** Setup campaign details. *****/
tmulti_page& multi_page
= find_widget<tmulti_page>(&window, "campaign_details", false);
unsigned id = 0;
FOREACH(const AUTO & level, engine_.get_levels_by_type_unfiltered(ng::level::SP_CAMPAIGN))
{
const config& campaign = level->data();
/*** Add tree item ***/
tree_group_field["label"] = campaign["icon"];
tree_group_item["icon"] = tree_group_field;
tree_group_field["label"] = campaign["name"];
tree_group_item["name"] = tree_group_field;
if(campaign["completed"].to_bool()) {
completed.add_child("campaign", tree_group_item)
.set_id(lexical_cast<std::string>(id++));
} else {
not_completed.add_child("campaign", tree_group_item)
.set_id(lexical_cast<std::string>(id++));
}
/*** Add detail item ***/
string_map detail_item;
std::map<std::string, string_map> detail_page;
detail_item["label"] = campaign["description"];
detail_item["use_markup"] = "true";
detail_page.insert(std::make_pair("description", detail_item));
detail_item["label"] = campaign["image"];
detail_page.insert(std::make_pair("image", detail_item));
multi_page.add_page(detail_page);
}
if(completed.empty()) {
tree.remove_node(&completed);
}
if(not_completed.empty()) {
tree.remove_node(&not_completed);
}
} else {
/***** Hide the tree view. *****/
if(ttree_view* tree
= find_widget<ttree_view>(&window, "campaign_tree", false, false)) {
tree->set_visible(twidget::tvisible::invisible);
}
/***** Setup campaign list. *****/
tlistbox& list = find_widget<tlistbox>(&window, "campaign_list", false);
#ifdef GUI2_EXPERIMENTAL_LISTBOX #ifdef GUI2_EXPERIMENTAL_LISTBOX
connect_signal_notify_modified( connect_signal_notify_modified(
list, list,
boost::bind(&tcampaign_selection::campaign_selected, boost::bind(&tcampaign_selection::campaign_selected,
this, this,
boost::ref(window))); boost::ref(window)));
#else #else
list.set_callback_value_change( list.set_callback_value_change(
dialog_callback<tcampaign_selection, dialog_callback<tcampaign_selection,
&tcampaign_selection::campaign_selected>); &tcampaign_selection::campaign_selected>);
#endif #endif
window.keyboard_capture(&list); window.keyboard_capture(&list);
/***** Setup campaign details. *****/ /***** Setup campaign details. *****/
tmulti_page& multi_page tmulti_page& multi_page
= find_widget<tmulti_page>(&window, "campaign_details", false); = find_widget<tmulti_page>(&window, "campaign_details", false);
FOREACH(const AUTO & level, engine_.get_levels_by_type_unfiltered(ng::level::SP_CAMPAIGN)) FOREACH(const AUTO & level, engine_.get_levels_by_type_unfiltered(ng::level::SP_CAMPAIGN))
{ {
const config& campaign = level->data(); const config& campaign = level->data();
/*** Add list item ***/ /*** Add list item ***/
string_map list_item; string_map list_item;
std::map<std::string, string_map> list_item_item; std::map<std::string, string_map> list_item_item;
list_item["label"] = campaign["icon"]; list_item["label"] = campaign["icon"];
list_item_item.insert(std::make_pair("icon", list_item)); list_item_item.insert(std::make_pair("icon", list_item));
list_item["label"] = campaign["name"]; list_item["label"] = campaign["name"];
list_item_item.insert(std::make_pair("name", list_item)); list_item_item.insert(std::make_pair("name", list_item));
list.add_row(list_item_item); list.add_row(list_item_item);
tgrid* grid = list.get_row_grid(list.get_item_count() - 1); tgrid* grid = list.get_row_grid(list.get_item_count() - 1);
assert(grid); assert(grid);
twidget* widget = grid->find("victory", false); twidget* widget = grid->find("victory", false);
if(widget && !campaign["completed"].to_bool()) { if(widget && !campaign["completed"].to_bool()) {
widget->set_visible(twidget::tvisible::hidden); widget->set_visible(twidget::tvisible::hidden);
}
/*** Add detail item ***/
string_map detail_item;
std::map<std::string, string_map> detail_page;
detail_item["label"] = campaign["description"];
detail_item["use_markup"] = "true";
detail_page.insert(std::make_pair("description", detail_item));
detail_item["label"] = campaign["image"];
detail_page.insert(std::make_pair("image", detail_item));
multi_page.add_page(detail_page);
} }
/*** Add detail item ***/
string_map detail_item;
std::map<std::string, string_map> detail_page;
detail_item["label"] = campaign["description"];
detail_item["use_markup"] = "true";
detail_page.insert(std::make_pair("description", detail_item));
detail_item["label"] = campaign["image"];
detail_page.insert(std::make_pair("image", detail_item));
multi_page.add_page(detail_page);
} }
campaign_selected(window); campaign_selected(window);
@ -265,24 +168,11 @@ void tcampaign_selection::pre_show(CVideo& video, twindow& window)
void tcampaign_selection::post_show(twindow& window) void tcampaign_selection::post_show(twindow& window)
{ {
if(new_widgets && false) { choice_ = find_widget<tlistbox>(&window, "campaign_list", false)
ttree_view& tree .get_selected_row();
= find_widget<ttree_view>(&window, "campaign_tree", false); deterministic_ = find_widget<ttoggle_button>(&window,
"checkbox_deterministic",
if(tree.empty()) { false).get_value();
return;
}
assert(tree.selected_item());
choice_ = lexical_cast<unsigned>(tree.selected_item()->id());
} else {
choice_ = find_widget<tlistbox>(&window, "campaign_list", false)
.get_selected_row();
deterministic_ = find_widget<ttoggle_button>(&window,
"checkbox_deterministic",
false).get_value();
}
} }
} // namespace gui2 } // namespace gui2