IntroState::IntroState(StateManager *manager) : GameState(manager) { quit = false; def_color = sf::Color::White; sel_color = sf::Color::Yellow; down_color = sf::Color(255,102,0); //btn.setPos(constants::SCREEN_WIDTH/2, constants::SCREEN_HEIGHT/2); buttons.push_back(new MenuButton("Play game", menu_enums::Play)); buttons.push_back(new MenuButton("Options", menu_enums::Options)); buttons.push_back(new MenuButton("Exit game", menu_enums::Exit)); // set positions int vspacing = 300; int vdiv = (constants::SCREEN_HEIGHT - vspacing)/buttons.size(); for(unsigned int i=0; i<buttons.size(); i++) { //buttons[i]->setPos(constants::SCREEN_WIDTH/2, vdiv*i + vdiv/2 + vspacing/2); buttons[i]->setPos(constants::SCREEN_WIDTH/2, (vdiv*i + vdiv/2 + vspacing/2)); } selected = 0; selectButton(selected); }
int toggleButtons(Button prev, Button curr, char *prevSkin, char *currSkin){ int isSuccess = deselectButton(prevSkin, prev); if (isSuccess == 1){ selectButton(currSkin, curr); } return isSuccess; }
MyWidget::MyWidget(QWidget *parent) : QWidget(parent), m_blobWidget(new BlobWidget(this)) { QGridLayout* layout = new QGridLayout(this); for (int i = 0; i < 16; ++i) { QPushButton* but = new QPushButton(QString::number(i), this); layout->addWidget(but, i/4, i%4); connect(but, SIGNAL(clicked()), this, SLOT(selectButton())); } m_blobWidget->hide(); }
void AppearanceDialog::populateCmdBox() { QHBoxLayout* hLayout = new QHBoxLayout(); hLayout->addWidget(label("Background:")); cmdBgSelect = selectButton(40, 20, "Click here to pick a new color."); connect(cmdBgSelect, SIGNAL(clicked()), this, SLOT(selectCmdBg())); hLayout->addWidget(cmdBgSelect); ui->cmdVLayout->addLayout(hLayout); hLayout = new QHBoxLayout(); hLayout->addWidget(label("Round time:")); cmdRtColorSelect = selectButton(40, 20, "Click here to pick a new color."); connect(cmdRtColorSelect, SIGNAL(clicked()), this, SLOT(selectCmdRtColor())); hLayout->addWidget(cmdRtColorSelect); ui->cmdVLayout->addLayout(hLayout); hLayout = new QHBoxLayout(); hLayout->addWidget(label("Cast time:")); cmdCtColorSelect = selectButton(40, 22, "Click here to pick a new color."); connect(cmdCtColorSelect, SIGNAL(clicked()), this, SLOT(selectCmdCtColor())); hLayout->addWidget(cmdCtColorSelect); ui->cmdVLayout->addLayout(hLayout); hLayout = new QHBoxLayout(); hLayout->addWidget(label("Text:")); cmdFontSelect = selectButton(200, 22, "Click here to pick a new font."); connect(cmdFontSelect, SIGNAL(clicked()), this, SLOT(selectCmdFont())); hLayout->addWidget(cmdFontSelect); cmdFontColorSelect = selectButton(40, 20, "Click here to pick a new color."); connect(cmdFontColorSelect, SIGNAL(clicked()), this, SLOT(selectCmdFontColor())); hLayout->addWidget(cmdFontColorSelect); ui->cmdVLayout->addLayout(hLayout); }
void FiFider::holdSelectButton(void) { if(_feeder_state != FST_WAITING) return; if(_display_state == DST_ETA){ _eta = _interval; _ui_timestamp = millis(); if(HW_SAVE_ON_RES) FiFider::getInstance().saveState(); }else{ selectButton(); } }
void IntroState::moveDown() { if(selected == buttons.size()-1) { selected = 0; } else { selected++; } selectButton(selected); }
void IntroState::moveUp() { if(selected == 0) { selected = buttons.size()-1; } else { selected--; } selectButton(selected); }
void Slide::NextSlide(short index) { switch(currentIndex_) { case 0:back = new QPropertyAnimation(Slide0, "geometry"); break; case 1:back = new QPropertyAnimation(Slide1, "geometry"); break; case 2:back = new QPropertyAnimation(Slide2, "geometry"); break; case 3:back = new QPropertyAnimation(Slide3, "geometry"); break; case 4:back = new QPropertyAnimation(Slide4, "geometry"); break; } switch(index) { case 0:next = new QPropertyAnimation(Slide0, "geometry"); break; case 1:next = new QPropertyAnimation(Slide1, "geometry"); break; case 2:next = new QPropertyAnimation(Slide2, "geometry"); break; case 3:next = new QPropertyAnimation(Slide3, "geometry"); break; case 4:next = new QPropertyAnimation(Slide4, "geometry"); break; } back->setStartValue(QRect(0,0,this->width(),this->height())); back->setEndValue(QRect(this->width() * -1,0,this->width(),this->height())); back->setEasingCurve(QEasingCurve::InSine); back->setDuration(500); next->setStartValue(QRect(this->width() * 2,0,this->width(),this->height())); next->setEndValue(QRect(0,0,this->width(),this->height())); next->setEasingCurve(QEasingCurve::OutSine); next->setDuration(500); currentIndex_ = index; selectButton(currentIndex_); back->start(); next->start(); }
Page createLoadFromSlotPage(){ //Add Background SDL_Surface *bkg = loadImage(LOAD_FROM_SLOT_WINDOW); addImageToSurface(bkg, NULL, containerPage.page, NULL); currentPage.bkg = bkg; // create game mode section int y = 60; int x = 35; Button *btnLst = (Button*)myMalloc(sizeof(Button) * (NUM_OF_SLOTS + 2)); if (btnLst == NULL){ currentPage.isError = 1; return currentPage; } char path[200]; char selected_path[200]; char *btn = "_btn.bmp"; for (int i = 1; i <= NUM_OF_SLOTS; i++){ sprintf(path, "%s%d%s", SLOT_BTN_URL, i, btn); sprintf(selected_path, "%s%d%s", SLOT_SELECTED_BTN_URL, i, btn); Button slot = createButton_settings(path, selected_path, i, 50, 42, x, y); //y = y + slot.buttonsDestRect.h + SPACE; x = x + slot.buttonsDestRect.w + SPACE; btnLst[i - 1] = slot; } // create ok and cancel buttons Button cancelButton = createButton_settings(CANCEL_BTN_URL, NULL, NUM_OF_SLOTS + 1, 150, 42, SCREEN_WIDTH - SPACE - 150, SCREEN_HEIGHT - 30 - 42); Button okButton = createButton_settings(NEXT_BTN_URL, NULL, NUM_OF_SLOTS + 2, 150, 42, cancelButton.buttonsDestRect.x - 30 - cancelButton.buttonsDestRect.w, cancelButton.buttonsDestRect.y); btnLst[NUM_OF_SLOTS] = cancelButton; btnLst[NUM_OF_SLOTS + 1] = okButton; currentPage.btnList = btnLst; currentPage.btnListLen = NUM_OF_SLOTS + 2; currentPage.id = 3; addButtons(btnLst, NUM_OF_SLOTS + 2, containerPage.page); // set default sprintf(path, "%s%d%s", SLOT_SELECTED_BTN_URL, 1, btn); selectButton(path, btnLst[0]); userGuiSettings.savedSlot = 1; updateSurface(containerPage.page); return currentPage; }
void AppearanceDialog::populateDockBox() { QHBoxLayout* hLayout = new QHBoxLayout(); hLayout->addWidget(label("Background:")); dockBgSelect = selectButton(40, 20, "Click here to pick a new color."); connect(dockBgSelect, SIGNAL(clicked()), this, SLOT(selectDockBg())); hLayout->addWidget(dockBgSelect); ui->dockVLayout->addLayout(hLayout); hLayout = new QHBoxLayout(); hLayout->addWidget(label("Text:")); dockFontSelect = selectButton(200, 22, "Click here to pick a new font."); connect(dockFontSelect, SIGNAL(clicked()), this, SLOT(selectDockFont())); hLayout->addWidget(dockFontSelect); dockFontColorSelect = selectButton(40, 20, "Click here to pick a new color."); connect(dockFontColorSelect, SIGNAL(clicked()), this, SLOT(selectDockFontColor())); hLayout->addWidget(dockFontColorSelect); ui->dockVLayout->addLayout(hLayout); }
bool SelectReset::init() { if(!Layer::init()) { return false; } //シングルタップ用リスナーを用意する auto listener = EventListenerTouchOneByOne::create(); listener->setSwallowTouches(_swallowsTouches); //各イベントの割当 listener->onTouchBegan = CC_CALLBACK_2(SelectReset::onTouchBegan,this); listener->onTouchEnded = CC_CALLBACK_2(SelectReset::onTouchEnded, this); //イベントディスバッチャにシングルタップ用リスナーを追加する _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this); initBackground(); selectButton(); return true; }
Page createSelecetionPage(){ //Add Background SDL_Surface *bkg = loadImage(SELECTION_WINDOW_BKG); addImageToSurface(bkg, NULL, containerPage.page, NULL); currentPage.bkg = bkg; // create game mode section Button game_mode_2PlayersMode = createButton_settings(TWO_PLAYERS_BTN_URL, TWO_PLAYERS_SELECTED_BTN_URL, 1, 150, 42, 35, 50); Button game_mode_playerVsAI = createButton_settings(AGAINS_COMPUTER_BTN_URL, AGAINS_COMPUTER_SELECTED_BTN_URL, 2, 150, 42, game_mode_2PlayersMode.buttonsDestRect.x + game_mode_2PlayersMode.buttonsDestRect.w + SPACE, 50); // create next player section Button next_player_white = createButton_settings(WHITE_BTN_URL, WHITE_SELECTED_BTN_URL, 3, 150, 42, 35, 137); Button next_player_black = createButton_settings(BLACK_BTN_URL, BLACK_SELECTED_BTN_URL, 4, 150, 42, next_player_white.buttonsDestRect.x + next_player_white.buttonsDestRect.w + SPACE, 137); // create next player section Button set_board_no = createButton_settings(NO_BTN_URL, NO_SELECTED_BTN_URL, 5, 150, 42, 35, 222); Button set_board_yes = createButton_settings(YES_BTN_URL, YES_SELECTED_BTN_URL, 6, 150, 42, set_board_no.buttonsDestRect.x + set_board_no.buttonsDestRect.w + SPACE, 222); // create ok and cancel buttons Button cancelButton = createButton_settings(CANCEL_BTN_URL, NULL, 7, 150, 42, SCREEN_WIDTH - SPACE - 150, SCREEN_HEIGHT - 30 - 42); Button okButton = createButton_settings(NEXT_BTN_URL, NULL, 8, 150, 42, cancelButton.buttonsDestRect.x - 30 - cancelButton.buttonsDestRect.w, cancelButton.buttonsDestRect.y); Button *btnLst = (Button*)myMalloc(sizeof(Button) * 8); if (btnLst == NULL){ currentPage.isError = 1; return currentPage; } btnLst[0] = game_mode_2PlayersMode; btnLst[1] = game_mode_playerVsAI; btnLst[2] = next_player_black; btnLst[3] = next_player_white; btnLst[4] = set_board_yes; btnLst[5] = set_board_no; btnLst[6] = cancelButton; btnLst[7] = okButton; currentPage.btnList = btnLst; currentPage.btnListLen = 8; currentPage.id = 2; addButtons(btnLst, 8, containerPage.page); // set defaults Button defaultGameModeBtn = settings.gameMode == TWO_PLAYERS ? game_mode_2PlayersMode : game_mode_playerVsAI; char *defaultBtnSkin = settings.gameMode == TWO_PLAYERS ? TWO_PLAYERS_SELECTED_BTN_URL : AGAINS_COMPUTER_SELECTED_BTN_URL; int isSuccess = selectButton(defaultBtnSkin, defaultGameModeBtn); if (isSuccess == 1){ userGuiSettings.gameMode = settings.gameMode; Button defaultNextPlayer = game_board.isBlackTurn == 1 ? next_player_black : next_player_white; defaultBtnSkin = game_board.isBlackTurn == 1 ? BLACK_SELECTED_BTN_URL : WHITE_SELECTED_BTN_URL; isSuccess = selectButton(defaultBtnSkin, defaultNextPlayer); if (isSuccess == 1){ userGuiSettings.isNextPlayerBlack = game_board.isBlackTurn; isSuccess = selectButton(NO_SELECTED_BTN_URL, set_board_no); if (isSuccess == 1){ userGuiSettings.isSetBoard = 0; } } } if (!isSuccess){ currentPage.isError = 1; return currentPage; } updateSurface(containerPage.page); return currentPage; }
int handleButtonClicked_aiSettingsWindow(SDL_Event e){ Button *lst = currentPage.btnList; int len = currentPage.btnListLen; Button curr; Button prev; int quit = 0; int isSuccess = 1; for (int i = 0; i < len; i++){ curr = lst[i]; char path[100]; if (isClickInRect(e, curr.buttonsDestRect) == 1){ if (curr.id >= 1 && curr.id <= 5){ // a difficulty was chosen int isSuccess = 1; if (userGuiSettings.difficulty != 0){ // need to deselect the prevButton int difficulty = userGuiSettings.difficulty == BEST ? 5 : userGuiSettings.difficulty; Button prevChosenButton = getButtonAccordingToId(lst, len, difficulty); sprintf(path, "%s%d%s", SLOT_BTN_URL, difficulty, "_btn.bmp"); isSuccess = deselectButton(path, prevChosenButton); } if (isSuccess == 1){ userGuiSettings.difficulty = curr.id < 5 ? curr.id : BEST; sprintf(path,"%s%d%s", SLOT_SELECTED_BTN_URL, curr.id, "_btn.bmp"); if (userGuiSettings.difficulty == BEST){ isSuccess = selectButton(BEST_SELECTED_BTN_URL, curr); } else{ isSuccess = selectButton(path, curr); } } quit = !isSuccess; } else{ switch (curr.id){ case 6: userGuiSettings.isUserColorBlack = 1; prev = getButtonAccordingToId(lst, len, 7); isSuccess = toggleButtons(prev, curr, WHITE_BTN_URL, BLACK_SELECTED_BTN_URL); break; case 7: userGuiSettings.isUserColorBlack = 0; prev = getButtonAccordingToId(lst, len, 6); isSuccess = toggleButtons(prev, curr, BLACK_BTN_URL, WHITE_SELECTED_BTN_URL); break; case 8: isSuccess = navigatToPage("mainMenu"); break; case 9: saveSettings(0); if (userGuiSettings.isSetBoard == 1){ // navigate to set board window quit = 3; } else{ // navigate to start game window quit = 2; } break; } } break; } } quit = quit != 0 ? quit : !isSuccess; return quit; }
int handleButtonClicked_loadFromSlotWindow(SDL_Event e){ Button *lst = currentPage.btnList; int len = currentPage.btnListLen; Button curr; int quit = 0; int isSuccess = 1; for (int i = 0; i < len; i++){ curr = lst[i]; if (isClickInRect(e, curr.buttonsDestRect) == 1){ if (curr.id >=1 && curr.id <=NUM_OF_SLOTS){ // a slot was chosen - load from slot char path[100]; if (userGuiSettings.savedSlot != 0){ // need to deselect the prevButton Button prevChosenButton = getButtonAccordingToId(lst, len, userGuiSettings.savedSlot); sprintf(path, "%s%d%s", SLOT_BTN_URL, userGuiSettings.savedSlot, "_btn.bmp"); isSuccess = deselectButton(path, prevChosenButton); } if (isSuccess == 1){ userGuiSettings.savedSlot = curr.id; sprintf(path, "%s%d%s", SLOT_SELECTED_BTN_URL, userGuiSettings.savedSlot, "_btn.bmp"); isSuccess = selectButton(path, curr); } } else{ switch (curr.id) { case NUM_OF_SLOTS+1: isSuccess = navigatToPage("mainMenu"); break; case NUM_OF_SLOTS+2: // load from chosen slot //check if there is no slot chosen if (userGuiSettings.savedSlot != 0){ char path[100]; char *slot = "./slots/slot"; char *xmlStr = ".xml"; sprintf(path, "%s%d%s", slot, userGuiSettings.savedSlot, xmlStr); clearBoard(); fileData data = loadGame(path); isSuccess = saveLoadedData(data, 0); if (!isSuccess){ // TBD - what do we need to do? Show a dialog? } // navigate to selection page isSuccess = navigatToPage("selectionWindow"); } break; } } break; } } quit = !isSuccess; return quit; }
Page createAiSettingsPage(){ //Add Background SDL_Surface *bkg = loadImage(AI_SETTINGS_WINDOW); addImageToSurface(bkg, NULL, containerPage.page, NULL); currentPage.bkg = bkg; // create game mode section int y = 50; int x = 35; Button *btnLst = (Button*)myMalloc(sizeof(Button) * 9); if (btnLst == NULL){ // TBD - free all images in current page currentPage.isError = 1; return currentPage; } char path[200]; char selected_path[200]; char *btn = "_btn.bmp"; int width; int height; for (int i = 1; i <= 5; i++){ if (i==5){ sprintf(path, "%s", BEST_BTN_URL); sprintf(selected_path, "%s", BEST_SELECTED_BTN_URL); width = 150; height = 42; } else{ sprintf(path, "%s%d%s", SLOT_BTN_URL, i, btn); sprintf(selected_path, "%s%d%s", SLOT_SELECTED_BTN_URL, i, btn); width = 50; height = 42; } Button difficulty = createButton_settings(path, selected_path, i, width, height, x, y); //y = y + slot.buttonsDestRect.h + SPACE; x = x + difficulty.buttonsDestRect.w + 24; btnLst[i - 1] = difficulty; } Button userColor_black = createButton_settings(BLACK_BTN_URL, BLACK_SELECTED_BTN_URL, 6, 150, 42, 35, 145); Button userColor_white = createButton_settings(WHITE_BTN_URL, WHITE_SELECTED_BTN_URL, 7, 150, 42, userColor_black.buttonsDestRect.x + userColor_black.buttonsDestRect.w + SPACE, 145); btnLst[5] = userColor_black; btnLst[6] = userColor_white; // create ok and cancel buttons Button cancelButton = createButton_settings(CANCEL_BTN_URL, NULL, 8, 150, 42, SCREEN_WIDTH - SPACE - 150, SCREEN_HEIGHT - 30 - 42); Button okButton = createButton_settings(NEXT_BTN_URL, NULL, 9, 150, 42, cancelButton.buttonsDestRect.x - 30 - cancelButton.buttonsDestRect.w, cancelButton.buttonsDestRect.y); btnLst[7] = cancelButton; btnLst[8] = okButton; currentPage.btnList = btnLst; currentPage.btnListLen = 9; currentPage.id = 4; addButtons(btnLst, 9, containerPage.page); // set defaults unsigned int defaultDepth = settings.minmax_depth; if (defaultDepth == BEST){ sprintf(path, "%s", BEST_SELECTED_BTN_URL); selectButton(path, btnLst[4]); } else{ sprintf(path, "%s%d%s", SLOT_SELECTED_BTN_URL, defaultDepth, btn); selectButton(path, btnLst[defaultDepth-1]); } Button defaultUserColorBtn = settings.isUserBlack == 1 ? userColor_black : userColor_white; char *defaultBtnSkin = settings.isUserBlack == 1 ? BLACK_SELECTED_BTN_URL : WHITE_SELECTED_BTN_URL; selectButton(defaultBtnSkin, defaultUserColorBtn); userGuiSettings.difficulty = settings.minmax_depth; userGuiSettings.isUserColorBlack = settings.isUserBlack; updateSurface(containerPage.page); return currentPage; }