本文整理汇总了C++中tlistbox类的典型用法代码示例。如果您正苦于以下问题:C++ tlistbox类的具体用法?C++ tlistbox怎么用?C++ tlistbox使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了tlistbox类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: city_changed
void tside_report::city_changed(twindow& window, tlistbox& list, const int type)
{
if (candidate_cities_.empty()) {
return;
}
twidget* grid_ptr = list.get_row_panel(list.get_selected_row());
unsigned int selected_row = dynamic_cast<ttoggle_panel*>(grid_ptr)->get_data();
}
示例2: add_row
void tbrowse::add_row(twindow& window, tlistbox& list, const std::string& name, bool dir)
{
std::stringstream ss;
string_map list_item;
std::map<std::string, string_map> list_item_item;
list_item["label"] = "misc/open.png~SCALE(32, 32)";
list_item_item.insert(std::make_pair("open", list_item));
ss << tintegrate::generate_img(get_browse_icon(dir) + "~SCALE(24, 24)") << name;
list_item["label"] = ss.str();
list_item_item.insert(std::make_pair("name", list_item));
list_item["label"] = "---";
list_item_item.insert(std::make_pair("date", list_item));
list_item["label"] = dir? null_str: "---";
list_item_item.insert(std::make_pair("size", list_item));
list.add_row(list_item_item);
int index = list.get_item_count() - 1;
ttoggle_panel* panel = dynamic_cast<ttoggle_panel*>(list.get_row_panel(index));
tbutton* button = find_widget<tbutton>(panel, "open", false, true);
if (dir) {
connect_signal_mouse_left_click(
*button
, boost::bind(
&tbrowse::open
, this
, boost::ref(window)
, _3
, _4
, (int)true
, (int)index));
panel->connect_signal<event::LEFT_BUTTON_DOUBLE_CLICK>(boost::bind(
&tbrowse::open
, this
, boost::ref(window)
, _3
, _4
, (int)true
, (int)index)
, event::tdispatcher::back_pre_child);
} else {
button->set_visible(twidget::HIDDEN);
button->set_active(false);
}
}
示例3: add_row_to_heros
void ttent::add_row_to_heros(tlistbox& list, int h, int leader, int city, int stratum)
{
// Add list item
string_map list_item;
std::map<std::string, string_map> list_item_item;
if (!rpg_mode_) {
list_item["label"] = heros_[h].image();
list_item_item.insert(std::make_pair("icon", list_item));
}
if (h != player_hero_->number_) {
list_item["label"] = heros_[h].name();
} else {
list_item["label"] = player_hero_->name();
}
list_item_item.insert(std::make_pair("name", list_item));
if (leader != -1) {
list_item["label"] = heros_[leader].name();
} else {
list_item["label"] = "---";
}
list_item_item.insert(std::make_pair("side", list_item));
if (city != -1) {
list_item["label"] = heros_[city].name();
} else {
list_item["label"] = "---";
}
list_item_item.insert(std::make_pair("city", list_item));
list_item["label"] = hero::stratum_str(stratum);
list_item_item.insert(std::make_pair("stratum", list_item));
list.add_row(list_item_item);
if (rpg_mode_) {
tgrid* grid_ptr = list.get_row_grid(mem_vsize_);
tcontrol* control = dynamic_cast<tcontrol*>(grid_ptr->find("icon", true));
control->set_visible(twidget::INVISIBLE);
}
rows_mem_[mem_vsize_].hero_ = h;
rows_mem_[mem_vsize_].leader_ = leader;
rows_mem_[mem_vsize_].city_ = city;
rows_mem_[mem_vsize_ ++].stratum_ = stratum;
}
示例4: add_row_to_factions
void ttent::add_row_to_factions(tlistbox& list, const config& cfg)
{
// Add list item
string_map list_item;
std::map<std::string, string_map> list_item_item;
int number = cfg["leader"].to_int();
list_item["label"] = heros_[number].image();
list_item_item.insert(std::make_pair("icon", list_item));
const config& art_cfg = cfg.child("artifical");
std::vector<std::string> vstr = utils::split(art_cfg["service_heros"].str());
list_item["label"] = lexical_cast_default<std::string>(vstr.size());
list_item_item.insert(std::make_pair("fresh", list_item));
vstr = utils::split(art_cfg["wander_heros"].str());
list_item["label"] = lexical_cast_default<std::string>(vstr.size());
list_item_item.insert(std::make_pair("wander", list_item));
number = art_cfg["heros_army"].to_int();
list_item["label"] = heros_[number].name();
list_item_item.insert(std::make_pair("city", list_item));
list.add_row(list_item_item);
}
示例5: type_selected
void temploy::type_selected(twindow& window, tlistbox& list, const int type)
{
cursel_ = list.get_selected_row();
set_ok_active(window);
refresh_tooltip(window);
}
示例6: item_selected
void tinapp_purchase::item_selected(twindow& window, tlistbox& list, const int type)
{
twindow::tinvalidate_layout_blocker blocker(window);
int cursel = list.get_selected_row();
purchase_->set_active(!browse_ && operating_anim_ == twidget::npos);
refresh_tip(window, items_[cursel]);
}
示例7: campaign_selected
void tcampaign_selection::campaign_selected(twindow& window, tlistbox& list, const int type)
{
const int selected_row = list.get_selected_row();
tscrollbar_panel& multi_page = find_widget<tscrollbar_panel>(&window, "campaign_details", false);
tscroll_label& label = find_widget<tscroll_label>(&window, "description", false);
label.set_label(campaigns_[selected_row].description);
tcontrol& image = find_widget<tcontrol>(&window, "image", false);
image.set_label(campaigns_[selected_row].image);
window.invalidate_layout();
}
示例8: fill_local
void tgame_load::fill_local(twindow& window, tlistbox& list)
{
find_widget<tcontrol>(&window, "delete", false).set_active(true);
find_widget<tcontrol>(&window, "ok", false).set_active(true);
std::string str = tintegrate::generate_format(_("Upload"), "blue");
find_widget<tcontrol>(&window, "xmit", false).set_label(str);
{
cursor::setter cur(cursor::WAIT);
games_ = savegame::manager::get_saves_list();
}
list.clear();
BOOST_FOREACH (const savegame::save_info game, games_) {
std::map<std::string, string_map> data;
string_map item;
item["label"] = game.name;
data.insert(std::make_pair("filename", item));
item["label"] = game.format_time_summary();
data.insert(std::make_pair("date", item));
list.add_row(data);
}
示例9: type_selected
void texpedite::type_selected(twindow& window, tlistbox& list, const int type)
{
tbutton* task = find_widget<tbutton>(&window, "task", false, true);
tbutton* ok = find_widget<tbutton>(&window, "ok", false, true);
// prevent visible/disable disband button from layouting window.
twindow::tinvalidate_layout_blocker invalidate_layout_blocker(window);
list.invalidate_layout(false);
troop_index_ = list.get_selected_row();
refresh_tooltip(window);
// There is maybe no troop after disband. so troop_index_ maybe equal -1.
if (troop_index_ >= 0) {
int size = city_.reside_troops().size();
const unit& u = *city_.reside_troops()[troop_index_];
for (int index = 0; index < size; index ++) {
twidget* grid_ptr = list.get_row_panel(index);
// tbutton& disband = find_widget<tbutton>(&window, "disband", false);
tbutton& disband = *dynamic_cast<tbutton*>(grid_ptr->find("disband", false));
if (index == troop_index_) {
disband.set_visible(twidget::VISIBLE);
disband.set_active(u.human());
} else {
disband.set_visible(twidget::INVISIBLE);
}
}
set_task_str(window, u);
ok->set_active(u.human() && can_move(u));
} else {
task->set_active(false);
ok->set_active(false);
}
}
示例10: display_savegame
void tgame_load::display_savegame(twindow& window, tlistbox& list)
{
const int selected_row = list.get_selected_row();
twidget& preview_pane =
find_widget<twidget>(&window, "preview_pane", false);
if (selected_row == -1) {
preview_pane.set_visible(twidget::HIDDEN);
} else if (current_page_ == LOCAL_PAGE) {
preview_pane.set_visible(twidget::VISIBLE);
savegame::save_info& game = games_[selected_row];
filename_ = game.name;
config cfg_summary;
std::string dummy;
try {
savegame::manager::load_summary(game.name, cfg_summary, &dummy);
} catch(game::load_game_failed&) {
cfg_summary["corrupt"] = "yes";
}
find_widget<timage>(&window, "imgLeader", false).
set_label(cfg_summary["leader_image"]);
find_widget<tminimap>(&window, "minimap", false).
set_map_data(tminimap::TILE_MAP, cfg_summary["map_data"]);
find_widget<tscroll_label>(&window, "lblSummary", false).set_label(generate_summary(game.name, cfg_summary));
// window.invalidate_layout();
} else if (current_page_ == NETWORK_PAGE) {
preview_pane.set_visible(twidget::VISIBLE);
savegame::www_save_info& game = www_saves_[selected_row];
filename_ = game.name;
find_widget<tminimap>(&window, "minimap", false).set_map_data(tminimap::TILE_MAP, "");
find_widget<tscroll_label>(&window, "lblSummary", false).set_label(generate_summary(game.name, null_cfg));
}
}
示例11: item_selected
void tbrowse::item_selected(twindow& window, tlistbox& list, const int type)
{
int row = list.get_selected_row();
tristate dir = t_unset;
if (row >= 0) {
std::set<tfile>::const_iterator it;
if (row < (int)dirs_in_current_dir_.size()) {
dir = t_true;
it = dirs_in_current_dir_.begin();
} else {
dir = t_false;
it = files_in_current_dir_.begin();
row -= dirs_in_current_dir_.size();
}
std::advance(it, row);
selected_ = it->name;
} else {
selected_.empty();
}
set_ok_active(window, dir);
}
示例12: fill_table
void tside_report::fill_table(tlistbox& list, int catalog)
{
for (std::vector<artifical*>::const_iterator it = candidate_cities_.begin(); it != candidate_cities_.end(); ++ it) {
artifical& city = **it;
std::stringstream str;
/*** Add list item ***/
string_map table_item;
std::map<std::string, string_map> table_item_item;
str.str("");
str << city.name();
str << "(Lv";
str << tintegrate::generate_format(city.level(), "green");
str << ")";
table_item["label"] = str.str();
table_item_item.insert(std::make_pair("name", table_item));
if (catalog == STATUS_PAGE) {
str.str("");
if (city.hitpoints() < city.max_hitpoints() / 2) {
str << tintegrate::generate_format(city.hitpoints(), "red");
} else if (city.hitpoints() < city.max_hitpoints()) {
str << tintegrate::generate_format(city.hitpoints(), "yellow");
} else {
str << city.hitpoints();
}
str << "/" << city.max_hitpoints();
table_item["label"] = str.str();
table_item_item.insert(std::make_pair("hp", table_item));
str.str("");
str << city.experience() << "/";
if (city.can_advance()) {
str << city.max_experience();
} else {
str << "-";
}
table_item["label"] = str.str();
table_item_item.insert(std::make_pair("xp", table_item));
str.str("");
str << tintegrate::generate_format(city.fresh_heros().size(), "green");
str << "/";
str << tintegrate::generate_format(city.finish_heros().size(), "red");
str << "/";
str << tintegrate::generate_format(city.wander_heros().size(), "yellow");
table_item["label"] = str.str();
table_item_item.insert(std::make_pair("hero", table_item));
str.str("");
str << tintegrate::generate_format(city.reside_troops().size(), "yellow");
str << "/";
str << city.field_troops().size();
table_item["label"] = str.str();
table_item_item.insert(std::make_pair("troop", table_item));
str.str("");
str << tintegrate::generate_format(city.total_gold_income(current_team_.market_increase_), "yellow");
str << "/";
str << tintegrate::generate_format(city.total_technology_income(current_team_.technology_increase_), "green");
table_item["label"] = str.str();
table_item_item.insert(std::make_pair("income", table_item));
size_t built = 0;
size_t building = 0;
const std::vector<map_location>& ea = city.economy_area();
for (std::vector<map_location>::const_iterator it2 = ea.begin(); it2 != ea.end(); ++ it2) {
unit* u = units_.find_unit(*it2);
if (!u || !hero::is_ea_artifical(u->type()->master())) {
continue;
}
if (u->get_state(ustate_tag::BUILDING)) {
building ++;
} else {
built ++;
}
}
str.str("");
str << tintegrate::generate_format(building + built, building? "yellow": "green");
str << "/";
if (building + built != ea.size()) {
str << tintegrate::generate_format(ea.size(), "red");
} else {
str << ea.size();
}
table_item["label"] = str.str();
table_item_item.insert(std::make_pair("ea", table_item));
}
list.add_row(table_item_item);
unsigned hero_index = list.get_item_count() - 1;
twidget* grid_ptr = list.get_row_panel(hero_index);
ttoggle_panel* toggle = dynamic_cast<ttoggle_panel*>(grid_ptr);
toggle->set_data(hero_index);
}
}
示例13: type_selected
void tfinal_battle::type_selected(twindow& window, tlistbox& list, const int type)
{
type_index_ = list.get_selected_row();
}
示例14: add_row_to_stuff_list
void add_row_to_stuff_list(const std::string& id, const std::string& label)
{
std::map<std::string, string_map> data;
string_map item;
item["id"] = id;
item["label"] = label;
data.insert(std::make_pair("name", item));
stuff_list->add_row(data);
}
示例15: add_side
void add_side(int side_num, const std::string& label)
{
sides.push_back(side_num);
DBG_GUI << "Sides list: adding item (side_num: \"" << side_num
<< "\" label: \"" << label << "\")\n";
std::map<std::string, string_map> data;
string_map item;
item["id"] = std::string("side_") + str_cast(side_num);
item["label"] = label;
item["use_markup"] = "true";
data.insert(std::make_pair("side", item));
sides_list->add_row(data);
}