void kpok::drawClick() { int cardsToDraw[5]; int w; drawButton->setEnabled(false); if (status == 0) { wonLabel->hide(); cleanFoundCard(); stopBlinking(); stopWave(); setCash(getCash() - cashPerRound); for (w=0; w<5;w++) { cardsToDraw[w]=0; cardW[w]->setHeld(0); } for (w=0; w<highestCard;w++) done[w]=0; for (w=0;w<5;w++) { cards[w]=0; cardW[w]->heldLabel->hide(); cardW[w]->show(); cardW[w]->paintCard(cards[w],0,0); } drawCards(cardsToDraw); if (cardW[0]->queryHeld()) drawTimer->start(0, TRUE); else drawTimer->start(drawDelay, TRUE); } else { clickToHold->hide(); for (w=0; w<5;w++) cardsToDraw[w] = cardW[w]->queryHeld(); for (w=0;w<5;w++) { if (!cardsToDraw[w]) { cards[w]=0; cardW[w]->show(); cardW[w]->paintCard(cards[w],0,0); } } drawCards(cardsToDraw); if (cardW[0]->queryHeld()) drawTimer->start(0, TRUE); else drawTimer->start(drawDelay, TRUE); } }
void Blinker::timeChanged(const TimeValue time) { if (_sprite && _blinkDuration != 0) { if (((time / _blinkDuration) & 1) != 0 || time == getDuration()) { _sprite->setCurrentFrameIndex(_frame2); if (!isRunning()) stopBlinking(); } else { _sprite->setCurrentFrameIndex(_frame1); } } }
void Blinker::startBlinking(Sprite *sprite, int32 frame1, int32 frame2, uint32 numBlinks, TimeValue blinkDuration, TimeScale blinkScale) { stopBlinking(); _sprite = sprite; _frame1 = frame1; _frame2 = frame2; _blinkDuration = blinkDuration; setScale(blinkScale); setSegment(0, blinkDuration * numBlinks * 2, blinkScale); setTime(0); start(); }
void CmdPromptInput::endCommand() { qDebug("CmdPromptInput endCommand"); lastCmd = curCmd; cmdActive = false; rapidFireEnabled = false; emit stopBlinking(); prefix = "Command: "; clear(); }
void kpok::newGame() { NewGameDlg* newGameDlg; // Get a "New Game" dialog. lastHandText = ""; newGameDlg = new NewGameDlg(this); newGameDlg->hideReadingFromConfig(); if (newGameDlg->exec()) { stopBlinking(); stopDrawing(); stopWave(); // Delete the old values. for (unsigned int i = 0; i < m_numPlayers; i++) delete playerBox[i]; delete[] playerBox;// necessary? int numPlayers = newGameDlg->getPlayers(); // Most things will be done in initPoker. initPoker(numPlayers); // Set/show the name and money of all players. for (unsigned int i = 0; i < m_numPlayers; i++) { m_players[i].setName(newGameDlg->name(i)); playerBox[i]->showName(); m_players[i].setCash((newGameDlg->money() >= m_game.getMinBet()) ? newGameDlg->money() : START_MONEY); m_game.setDirty(); } // Show the money for all players and the pot. paintCash(); // Activate the Draw button. drawButton->setText(i18n("&Deal")); drawButton->setEnabled(true); } delete newGameDlg; }
void kpok::newRound() { bool onePlayerGame = false; m_game.newRound(); playerBox[0]->setHeldEnabled(false); if (m_numPlayers == 1) onePlayerGame = true; readOptions(); // maybe some options have changed so check em if (m_players[0].getCash() < m_game.getMinBet()) noMoney(); else { for (unsigned int i = 0; i < m_numPlayers; i++) { if (m_players[i].getCash() >= m_game.getMinBet()) m_game.activatePlayer(&m_players[i]); else removePlayerFromRound(&m_players[i]); } } if (m_game.getNumActivePlayers() == 1 && m_game.getType() != SinglePlayer) switchToOnePlayerRules(); m_blinkingBox = 0; wonLabel->hide(); stopBlinking(); stopWave(); for (int i = 0; i < m_game.getNumActivePlayers(); i++) m_game.getActivePlayer(i)->newRound(); // We are beginning a new round so every card is available. drawAllDecks(); playerBox[0]->showHelds(false); // Deal first cards of the round bool skip[PokerHandSize]; for (int i = 0; i < PokerHandSize; i++) skip[i] = false; for (int i = 0; i < m_game.getNumActivePlayers(); i++) drawCards(m_game.getActivePlayer(i), skip); if (m_game.getNumActivePlayers() > 1) { findHumanPlayer()->changeBet(m_game.getMinBet()); m_game.bet(m_game.getMinBet()); betBox->show(); } else { m_game.getActivePlayer(0)->changeBet(cashPerRound); betBox->hide(); } paintCash(); drawTimer->start(drawDelay, TRUE); }
bool CmdPromptInput::eventFilter(QObject* obj, QEvent* event) { if(event->type() == QEvent::KeyPress) { if(isBlinking) emit stopBlinking(); QKeyEvent* pressedKey = (QKeyEvent*)event; //NOTE: These shortcuts need to be caught since QLineEdit uses them if(pressedKey->matches(QKeySequence::Cut)) { pressedKey->accept(); emit cutPressed(); return true; } else if(pressedKey->matches(QKeySequence::Copy)) { pressedKey->accept(); emit copyPressed(); return true; } else if(pressedKey->matches(QKeySequence::Paste)) { pressedKey->accept(); emit pastePressed(); return true; } else if(pressedKey->matches(QKeySequence::SelectAll)) { pressedKey->accept(); emit selectAllPressed(); return true; } else if(pressedKey->matches(QKeySequence::Undo)) { pressedKey->accept(); emit undoPressed(); return true; } else if(pressedKey->matches(QKeySequence::Redo)) { pressedKey->accept(); emit redoPressed(); return true; } int key = pressedKey->key(); switch(key) { case Qt::Key_Enter: case Qt::Key_Return: case Qt::Key_Space: pressedKey->accept(); processInput(QChar(key)); return true; break; case Qt::Key_Delete: pressedKey->accept(); emit deletePressed(); return true; break; case Qt::Key_Tab: pressedKey->accept(); emit tabPressed(); return true; break; case Qt::Key_Escape: pressedKey->accept(); prefix = "Command: "; clear(); emit appendHistory(curText + tr("*Cancel*")); emit escapePressed(); return true; break; case Qt::Key_F1: pressedKey->accept(); emit F1Pressed(); return true; break; case Qt::Key_F2: pressedKey->accept(); emit F2Pressed(); return true; break; case Qt::Key_F3: pressedKey->accept(); emit F3Pressed(); return true; break; case Qt::Key_F4: pressedKey->accept(); emit F4Pressed(); return true; break; case Qt::Key_F5: emit F5Pressed(); pressedKey->accept(); return true; break; case Qt::Key_F6: pressedKey->accept(); emit F6Pressed(); return true; break; case Qt::Key_F7: pressedKey->accept(); emit F7Pressed(); return true; break; case Qt::Key_F8: pressedKey->accept(); emit F8Pressed(); return true; break; case Qt::Key_F9: pressedKey->accept(); emit F9Pressed(); return true; break; case Qt::Key_F10: pressedKey->accept(); emit F10Pressed(); return true; break; case Qt::Key_F11: pressedKey->accept(); emit F11Pressed(); return true; break; case Qt::Key_F12: pressedKey->accept(); emit F12Pressed(); return true; break; case Qt::Key_Shift: pressedKey->ignore(); //we don't want to eat it, we just want to keep track of it emit shiftPressed(); break; default: pressedKey->ignore(); } } if(event->type() == QEvent::KeyRelease) { QKeyEvent* releasedKey = (QKeyEvent*)event; int key = releasedKey->key(); switch(key) { case Qt::Key_Shift: releasedKey->ignore(); //we don't want to eat it, we just want to keep track of it emit shiftReleased(); break; default: releasedKey->ignore(); } } return QObject::eventFilter(obj, event); }
CmdPrompt::CmdPrompt(QWidget* parent) : QWidget(parent) { qDebug("CmdPrompt Constructor"); setObjectName("Command Prompt"); promptInput = new CmdPromptInput(this); promptHistory = new CmdPromptHistory(); promptDivider = new QFrame(this); promptVBoxLayout = new QVBoxLayout(this); promptSplitter = new CmdPromptSplitter(this); this->setFocusProxy(promptInput); promptHistory->setFocusProxy(promptInput); promptDivider->setLineWidth(1); promptDivider->setFrameStyle(QFrame::HLine); promptDivider->setMaximumSize(QWIDGETSIZE_MAX, 1); promptVBoxLayout->addWidget(promptSplitter); promptVBoxLayout->addWidget(promptHistory); promptVBoxLayout->addWidget(promptDivider); promptVBoxLayout->addWidget(promptInput); promptVBoxLayout->setSpacing(0); promptVBoxLayout->setContentsMargins(0,0,0,0); this->setLayout(promptVBoxLayout); styleHash = new QHash<QString, QString>(); styleHash->insert("color", "#000000"); // Match -------| styleHash->insert("background-color", "#FFFFFF"); // | styleHash->insert("selection-color", "#FFFFFF"); // | styleHash->insert("selection-background-color", "#000000"); // Match -------| styleHash->insert("font-family", "Monospace"); styleHash->insert("font-style", "normal"); styleHash->insert("font-size", "12px"); updateStyle(); blinkState = false; blinkTimer = new QTimer(this); connect(blinkTimer, SIGNAL(timeout()), this, SLOT(blink())); this->show(); connect(promptInput, SIGNAL(stopBlinking()), this, SLOT(stopBlinking())); connect(promptInput, SIGNAL(appendHistory(const QString&)), promptHistory, SLOT(appendHistory(const QString&))); connect(this, SIGNAL(appendTheHistory(const QString&)), promptHistory, SLOT(appendHistory(const QString&))); //For use outside of command prompt connect(promptInput, SIGNAL(startCommand(const QString&)), this, SIGNAL(startCommand(const QString&))); connect(promptInput, SIGNAL(runCommand(const QString&, const QString&)), this, SIGNAL(runCommand(const QString&, const QString&))); connect(promptInput, SIGNAL(deletePressed()), this, SIGNAL(deletePressed())); connect(promptInput, SIGNAL(tabPressed()), this, SIGNAL(tabPressed())); connect(promptInput, SIGNAL(escapePressed()), this, SIGNAL(escapePressed())); connect(promptInput, SIGNAL(F1Pressed()), this, SIGNAL(F1Pressed())); connect(promptInput, SIGNAL(F2Pressed()), this, SIGNAL(F2Pressed())); connect(promptInput, SIGNAL(F3Pressed()), this, SIGNAL(F3Pressed())); connect(promptInput, SIGNAL(F4Pressed()), this, SIGNAL(F4Pressed())); connect(promptInput, SIGNAL(F5Pressed()), this, SIGNAL(F5Pressed())); connect(promptInput, SIGNAL(F6Pressed()), this, SIGNAL(F6Pressed())); connect(promptInput, SIGNAL(F7Pressed()), this, SIGNAL(F7Pressed())); connect(promptInput, SIGNAL(F8Pressed()), this, SIGNAL(F8Pressed())); connect(promptInput, SIGNAL(F9Pressed()), this, SIGNAL(F9Pressed())); connect(promptInput, SIGNAL(F10Pressed()), this, SIGNAL(F10Pressed())); connect(promptInput, SIGNAL(F11Pressed()), this, SIGNAL(F11Pressed())); connect(promptInput, SIGNAL(F12Pressed()), this, SIGNAL(F12Pressed())); connect(promptInput, SIGNAL(cutPressed()), this, SIGNAL(cutPressed())); connect(promptInput, SIGNAL(copyPressed()), this, SIGNAL(copyPressed())); connect(promptInput, SIGNAL(pastePressed()), this, SIGNAL(pastePressed())); connect(promptInput, SIGNAL(selectAllPressed()), this, SIGNAL(selectAllPressed())); connect(promptInput, SIGNAL(undoPressed()), this, SIGNAL(undoPressed())); connect(promptInput, SIGNAL(redoPressed()), this, SIGNAL(redoPressed())); connect(promptInput, SIGNAL(shiftPressed()), this, SIGNAL(shiftPressed())); connect(promptInput, SIGNAL(shiftReleased()), this, SIGNAL(shiftReleased())); }