void registration::on_pushButton_clicked() { //"next" button getDirection(); if(directionID == "0") { ui->log->setText("Можно ехать либо в Уфу, либо из Уфы"); } else { this->hide(); emit next_button(); CanIUpdateDataFromSQL_QUEUE = 1; } }
void key_pressed(unsigned short key) { switch (state) { case main_menu: switch (key) { case UP_ARROW_MAKECODE: previous_button(start_menu); break; case DOWN_ARROW_MAKECODE: next_button(start_menu); break; case ENTER_MAKECODE: press_selected_button(start_menu); break; case ESC_MAKECODE: cancel_button(start_menu); break; } break; case singleplayer: switch (key) { case ESC_MAKECODE: //TODO add a pause menu singleplayer_game_over(); break; case RIGHT_ARROW_MAKECODE: if(controller == keyboard){ singleplayer_move(1); } break; case LEFT_ARROW_MAKECODE: if(controller == keyboard){ singleplayer_move(-1); } break; case SPACE_MAKECODE: if(controller == keyboard){ singleplayer_fire(); } break; } break; case multiplayer: switch(key){ case A_MAKECODE: versus_mp_move(1,-1); break; case D_MAKECODE: versus_mp_move(1,1); break; case W_MAKECODE: versus_mp_fire(1); break; case LEFT_ARROW_MAKECODE: versus_mp_move(2,-1); break; case RIGHT_ARROW_MAKECODE: versus_mp_move(2,1); break; case UP_ARROW_MAKECODE: versus_mp_fire(2); break; case ESC_MAKECODE: change_state(main_menu); break; } break; case highscore: switch(key){ case ESC_MAKECODE: highscore_back_on_click(); break; } break; case options: switch(key){ case ESC_MAKECODE: options_cancel_on_click(); break; case ENTER_MAKECODE: options_accept_on_click(); break; case RIGHT_ARROW_MAKECODE: options_next_ctrl_on_click(); break; case LEFT_ARROW_MAKECODE: options_prev_ctrl_on_click(); break; } break; } }
STORY_RESULT controller::show(START_POSITION startpos) { if(parts_.empty()) { LOG_NG << "no storyscreen parts to show\n"; return NEXT; } gui::button back_button (video_, "", gui::button::TYPE_PRESS, "button_normal/button_small_H22" , gui::button::DEFAULT_SPACE, true, "icons/arrows/long_arrow_ornate_left"); gui::button next_button (video_, "", gui::button::TYPE_PRESS, "button_normal/button_small_H22" , gui::button::DEFAULT_SPACE, true, "icons/arrows/long_arrow_ornate_right"); gui::button play_button (video_, _("Skip")); // Build renderer cache unless built for a low-memory environment; // caching the scaled backgrounds can take over a decent amount of memory. #ifndef LOW_MEM std::vector< render_pointer_type > uis_; for(part_pointer_type p : parts_) { ASSERT_LOG( p != nullptr, "Ouch: hit nullptr storyscreen part in collection" ); render_pointer_type const rpt(new part_ui(*p, video_, next_button, back_button, play_button)); uis_.push_back(rpt); } #endif size_t k = 0; switch(startpos) { case START_BEGINNING: break; case START_END: k = parts_.size() -1; break; default: assert(false); break; } while(k < parts_.size()) { #ifndef LOW_MEM part_ui &render_interface = *uis_[k]; #else part_ui render_interface(*parts_[k], video_, next_button, back_button, play_button); #endif LOG_NG << "displaying storyscreen part " << k+1 << " of " << parts_.size() << '\n'; back_button.enable(segment_index_ != 0 || k != 0); switch(render_interface.show()) { case part_ui::NEXT: ++k; break; case part_ui::BACK: if(k > 0) { --k; } else if(segment_index_ > 0) { return BACK; } break; case part_ui::QUIT: return QUIT; } } return NEXT; }