tcampain_selection: removed unused tree view
This commit is contained in:
parent
0bef9d6553
commit
9f6c07815e
2 changed files with 55 additions and 278 deletions
|
@ -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"
|
||||||
|
|
|
@ -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(¬_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
|
||||||
|
|
Loading…
Add table
Reference in a new issue