本文整理汇总了C++中window::set_escape_disabled方法的典型用法代码示例。如果您正苦于以下问题:C++ window::set_escape_disabled方法的具体用法?C++ window::set_escape_disabled怎么用?C++ window::set_escape_disabled使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类window
的用法示例。
在下文中一共展示了window::set_escape_disabled方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: pre_show
void title_screen::pre_show(window& win)
{
win.set_click_dismiss(false);
win.set_enter_disabled(true);
win.set_escape_disabled(true);
// Each time the dialog shows, we set this to false
redraw_background_ = false;
#ifdef DEBUG_TOOLTIP
win.connect_signal<event::SDL_MOUSE_MOTION>(
std::bind(debug_tooltip, std::ref(win), _3, _5),
event::dispatcher::front_child);
#endif
win.connect_signal<event::SDL_VIDEO_RESIZE>(std::bind(&title_screen::on_resize, this, std::ref(win)));
//
// General hotkeys
//
win.register_hotkey(hotkey::TITLE_SCREEN__RELOAD_WML, [](event::dispatcher& w, hotkey::HOTKEY_COMMAND) {
dynamic_cast<window&>(w).set_retval(RELOAD_GAME_DATA);
return true;
});
win.register_hotkey(hotkey::HOTKEY_FULLSCREEN, std::bind(fullscreen, std::ref(win.video())));
win.register_hotkey(hotkey::LUA_CONSOLE, std::bind(&launch_lua_console, std::ref(win)));
//
// Background and logo images
//
if(game_config::images::game_title.empty()) {
ERR_CF << "No title image defined" << std::endl;
}
win.get_canvas()[0].set_variable("title_image", variant(game_config::images::game_title));
if(game_config::images::game_title_background.empty()) {
ERR_CF << "No title background image defined" << std::endl;
}
win.get_canvas()[0].set_variable("background_image", variant(game_config::images::game_title_background));
find_widget<image>(&win, "logo-bg", false).set_image(game_config::images::game_logo_background);
find_widget<image>(&win, "logo", false).set_image(game_config::images::game_logo);
//
// Version string
//
const std::string version_string = formatter() << ("Version") << " " << game_config::revision;
if(label* version_label = find_widget<label>(&win, "revision_number", false, false)) {
version_label->set_label(version_string);
}
win.get_canvas()[0].set_variable("revision_number", variant(version_string));
//
// Tip-of-the-day browser
//
multi_page& tip_pages = find_widget<multi_page>(&win, "tips", false);
std::vector<game_tip> tips(settings::get_tips());
if(tips.empty()) {
WRN_CF << "There are no tips of day available." << std::endl;
}
for(const auto& tip : tips) {
string_map widget;
std::map<std::string, string_map> page;
widget["use_markup"] = "true";
widget["label"] = tip.text();
page.emplace("tip", widget);
widget["label"] = tip.source();
page.emplace("source", widget);
tip_pages.add_page(page);
}
update_tip(win, true);
register_button(win, "next_tip", hotkey::TITLE_SCREEN__NEXT_TIP,
std::bind(&title_screen::update_tip, this, std::ref(win), true));
register_button(win, "previous_tip", hotkey::TITLE_SCREEN__PREVIOUS_TIP,
std::bind(&title_screen::update_tip, this, std::ref(win), false));
//
// Help
//
register_button(win, "help", hotkey::HOTKEY_HELP, [this](window&) {
help::help_manager help_manager(&game_config_manager::get()->game_config());
help::show_help(game_.video());
});
//
// About
//
//.........这里部分代码省略.........
示例2: pre_show
void lobby_main::pre_show(window& window)
{
SCOPE_LB;
gamelistbox_ = find_widget<listbox>(&window, "game_list", false, true);
#ifdef GUI2_EXPERIMENTAL_LISTBOX
connect_signal_notify_modified(
*gamelistbox_,
std::bind(&lobby_main::gamelist_change_callback, *this, std::ref(window)));
#else
gamelistbox_->set_callback_value_change(
dialog_callback<lobby_main, &lobby_main::gamelist_change_callback>);
#endif
window.keyboard_capture(gamelistbox_);
player_list_.init(window);
player_list_.sort_by_name->set_value(preferences::playerlist_sort_name());
player_list_.sort_by_relation->set_value(preferences::playerlist_sort_relation());
player_list_.update_sort_icons();
player_list_.sort_by_name->set_callback_state_change(
std::bind(&lobby_main::player_filter_callback, this, _1));
player_list_.sort_by_relation->set_callback_state_change(
std::bind(&lobby_main::player_filter_callback, this, _1));
window.set_enter_disabled(true);
window.set_escape_disabled(true);
// A new key handler to deal with escape in a different manner.
window.connect_signal<event::SDL_KEY_DOWN>(
std::bind(&lobby_main::signal_handler_key_down, this, _5, _3, _4),
event::dispatcher::front_pre_child);
window_ = &window;
chatbox_ = find_widget<chatbox>(&window, "chat", false, true);
chatbox_->set_lobby_info(lobby_info_);
chatbox_->set_wesnothd_connection(wesnothd_connection_);
chatbox_->set_active_window_changed_callback([this]() { player_list_dirty_ = true; });
find_widget<button>(&window, "create", false).set_retval(CREATE);
connect_signal_mouse_left_click(
find_widget<button>(&window, "refresh", false),
std::bind(&lobby_main::refresh_button_callback, this, std::ref(window)));
connect_signal_mouse_left_click(
find_widget<button>(&window, "show_preferences", false),
std::bind(&lobby_main::show_preferences_button_callback, this, std::ref(window)));
connect_signal_mouse_left_click(
find_widget<button>(&window, "join_global", false),
std::bind(&lobby_main::join_global_button_callback, this, std::ref(window)));
find_widget<button>(&window, "join_global", false).set_active(false);
connect_signal_mouse_left_click(
find_widget<button>(&window, "observe_global", false),
std::bind(&lobby_main::observe_global_button_callback, this, std::ref(window)));
find_widget<button>(&window, "observe_global", false).set_active(false);
menu_button& replay_options = find_widget<menu_button>(&window, "replay_options", false);
if(preferences::skip_mp_replay()) {
replay_options.set_selected(1);
}
if(preferences::blindfold_replay()) {
replay_options.set_selected(2);
}
replay_options.connect_click_handler(
std::bind(&lobby_main::skip_replay_changed_callback, this, std::ref(window)));
filter_friends_ = find_widget<toggle_button>(&window, "filter_with_friends", false, true);
filter_ignored_ = find_widget<toggle_button>(&window, "filter_without_ignored", false, true);
filter_slots_ = find_widget<toggle_button>(&window, "filter_vacant_slots", false, true);
filter_invert_ = find_widget<toggle_button>(&window, "filter_invert", false, true);
filter_text_ = find_widget<text_box>(&window, "filter_text", false, true);
filter_friends_->set_callback_state_change(
std::bind(&lobby_main::game_filter_change_callback, this, _1));
filter_ignored_->set_callback_state_change(
std::bind(&lobby_main::game_filter_change_callback, this, _1));
filter_slots_->set_callback_state_change(
std::bind(&lobby_main::game_filter_change_callback, this, _1));
filter_invert_->set_callback_state_change(
std::bind(&lobby_main::game_filter_change_callback, this, _1));
connect_signal_pre_key_press(
*filter_text_,
std::bind(&lobby_main::game_filter_keypress_callback, this, _5));
chatbox_->room_window_open("lobby", true, false);
chatbox_->active_window_changed();
game_filter_reload();
// Force first update to be directly.
//.........这里部分代码省略.........