tcore_selection: cleaned up cruft left over from the campaign dialog

This commit is contained in:
Charles Dang 2015-04-25 19:04:10 +11:00
parent 7fe17353f1
commit bce7c9c329
2 changed files with 51 additions and 262 deletions

View file

@ -15,21 +15,11 @@
horizontal_placement = "center"
maximum_height = 600
[linked_group]
id = "icon_area"
fixed_width = "true"
[/linked_group]
[linked_group]
id = "name"
fixed_width = "true"
[/linked_group]
[linked_group]
id = "tree_name"
fixed_width = "true"
[/linked_group]
[tooltip]
id = "tooltip_large"
[/tooltip]
@ -45,13 +35,12 @@
[column]
grow_factor = 1
border = "all"
border_size = 5
horizontal_alignment = "left"
[label]
definition = "title"
label = _ "Load Core"
[/label]
@ -64,7 +53,6 @@
[column]
grow_factor = 1
horizontal_grow = "true"
[grid]
@ -83,8 +71,8 @@
[listbox]
id = "core_list"
definition = "default"
horizontal_scrollbar_mode = "never"
[list_definition]
[row]
@ -96,8 +84,8 @@
[toggle_panel]
id = "_toggle"
definition = "default"
return_value_id = "ok"
[grid]
[row]
@ -111,9 +99,9 @@
vertical_alignment = "top"
[image]
id = "icon"
definition = "default"
label = "misc/laurel.png"
id = "icon"
definition = "default"
label = "wesnoth-icon.png"
[/image]
[/column]
@ -148,119 +136,6 @@
[/column]
[column]
grow_factor = 0
border = "all"
border_size = 5
horizontal_alignment = "left"
[tree_view]
id = "core_tree"
definition = "default"
horizontal_scrollbar_mode = "never"
vertical_scrollbar_mode = "always"
indention_step_size = "40"
[node]
id = "core_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 = "core"
[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]
grow_factor = 1
horizontal_grow = "true"
@ -272,7 +147,6 @@
[multi_page]
id = "core_details"
definition = "default"
horizontal_scrollbar_mode = "never"
[page_definition]
@ -299,7 +173,6 @@
[label]
id = "description"
definition = "default"
characters_per_line = 66
[/label]
@ -369,7 +242,6 @@
[button]
id = "ok"
definition = "default"
label = _ "OK"
[/button]
@ -383,7 +255,6 @@
[button]
id = "cancel"
definition = "default"
label = _ "Cancel"
[/button]

View file

@ -27,8 +27,6 @@
#include "gui/widgets/multi_page.hpp"
#include "gui/widgets/scroll_label.hpp"
#include "gui/widgets/settings.hpp"
#include "gui/widgets/tree_view.hpp"
#include "gui/widgets/tree_view_node.hpp"
#include "gui/widgets/window.hpp"
#include "utils/foreach.tpp"
#include "serialization/string_utils.hpp"
@ -75,156 +73,76 @@ REGISTER_DIALOG(core_selection)
void tcore_selection::core_selected(twindow& window)
{
if(new_widgets && false) {
ttree_view& tree = find_widget<ttree_view>(&window, "core_tree", false);
const int selected_row
= find_widget<tlistbox>(&window, "core_list", false)
.get_selected_row();
if(tree.empty()) {
return;
}
tmulti_page& multi_page
= find_widget<tmulti_page>(&window, "core_details", false);
assert(tree.selected_item());
const unsigned choice
= lexical_cast<unsigned>(tree.selected_item()->id());
tmulti_page& multi_page
= find_widget<tmulti_page>(&window, "core_details", false);
multi_page.select_page(choice);
} else {
const int selected_row
= find_widget<tlistbox>(&window, "core_list", false)
.get_selected_row();
tmulti_page& multi_page
= find_widget<tmulti_page>(&window, "core_details", false);
multi_page.select_page(selected_row);
}
multi_page.select_page(selected_row);
}
void tcore_selection::pre_show(CVideo& /*video*/, twindow& window)
{
if(new_widgets && false) {
/***** Setup core tree. *****/
ttree_view& tree = find_widget<ttree_view>(&window, "core_tree", false);
tree.set_selection_change_callback(boost::bind(
&tcore_selection::core_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_item["tree_view_node_label"] = tree_group_field;
/***** Setup core details. *****/
tmulti_page& multi_page
= find_widget<tmulti_page>(&window, "core_details", false);
// unsigned id = 0;
FOREACH(const AUTO & core, cores_)
{
/*** Add tree item ***/
tree_group_field["label"] = core["icon"];
tree_group_item["icon"] = tree_group_field;
tree_group_field["label"] = core["name"];
tree_group_item["name"] = tree_group_field;
/*** Add detail item ***/
string_map detail_item;
std::map<std::string, string_map> detail_page;
detail_item["label"] = core["description"];
detail_item["use_markup"] = "true";
detail_page.insert(std::make_pair("description", detail_item));
detail_item["label"] = core["image"];
detail_page.insert(std::make_pair("image", detail_item));
multi_page.add_page(detail_page);
}
} else {
/***** Hide the tree view. *****/
if(ttree_view* tree
= find_widget<ttree_view>(&window, "core_tree", false, false)) {
tree->set_visible(twidget::tvisible::invisible);
}
/***** Setup core list. *****/
tlistbox& list = find_widget<tlistbox>(&window, "core_list", false);
/***** Setup core list. *****/
tlistbox& list = find_widget<tlistbox>(&window, "core_list", false);
#ifdef GUI2_EXPERIMENTAL_LISTBOX
connect_signal_notify_modified(
list,
boost::bind(&tcore_selection::core_selected,
this,
boost::ref(window)));
connect_signal_notify_modified(
list,
boost::bind(&tcore_selection::core_selected,
this,
boost::ref(window)));
#else
list.set_callback_value_change(
dialog_callback<tcore_selection,
&tcore_selection::core_selected>);
list.set_callback_value_change(
dialog_callback<tcore_selection,
&tcore_selection::core_selected>);
#endif
window.keyboard_capture(&list);
window.keyboard_capture(&list);
/***** Setup core details. *****/
tmulti_page& multi_page
= find_widget<tmulti_page>(&window, "core_details", false);
/***** Setup core details. *****/
tmulti_page& multi_page
= find_widget<tmulti_page>(&window, "core_details", false);
FOREACH(const AUTO & core, cores_)
{
FOREACH(const AUTO & core, cores_)
{
/*** Add list item ***/
string_map list_item;
std::map<std::string, string_map> list_item_item;
/*** Add list item ***/
string_map list_item;
std::map<std::string, string_map> list_item_item;
list_item["label"] = core["icon"];
list_item_item.insert(std::make_pair("icon", list_item));
list_item["label"] = core["icon"];
list_item_item.insert(std::make_pair("icon", list_item));
list_item["label"] = core["name"];
list_item_item.insert(std::make_pair("name", list_item));
list_item["label"] = core["name"];
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);
assert(grid);
tgrid* grid = list.get_row_grid(list.get_item_count() - 1);
assert(grid);
/*** Add detail item ***/
string_map detail_item;
std::map<std::string, string_map> detail_page;
/*** Add detail item ***/
string_map detail_item;
std::map<std::string, string_map> detail_page;
detail_item["label"] = core["description"];
detail_item["use_markup"] = "true";
detail_page.insert(std::make_pair("description", detail_item));
detail_item["label"] = core["description"];
detail_item["use_markup"] = "true";
detail_page.insert(std::make_pair("description", detail_item));
detail_item["label"] = core["image"];
detail_page.insert(std::make_pair("image", detail_item));
detail_item["label"] = core["image"];
detail_page.insert(std::make_pair("image", detail_item));
multi_page.add_page(detail_page);
}
list.select_row(choice_, true);
multi_page.add_page(detail_page);
}
list.select_row(choice_, true);
core_selected(window);
}
void tcore_selection::post_show(twindow& window)
{
if(new_widgets && false) {
ttree_view& tree = find_widget<ttree_view>(&window, "core_tree", false);
if(tree.empty()) {
return;
}
assert(tree.selected_item());
choice_ = lexical_cast<unsigned>(tree.selected_item()->id());
} else {
choice_ = find_widget<tlistbox>(&window, "core_list", false)
.get_selected_row();
}
choice_ = find_widget<tlistbox>(&window, "core_list", false)
.get_selected_row();
}
} // namespace gui2