261 lines
6.5 KiB
C++
Executable File
261 lines
6.5 KiB
C++
Executable File
/***************************************************************************
|
|
* Copyright (C) 2006 by FThauer FHammer *
|
|
* f.thauer@web.de *
|
|
* *
|
|
* This program is free software; you can redistribute it and/or modify *
|
|
* it under the terms of the GNU General Public License as published by *
|
|
* the Free Software Foundation; either version 2 of the License, or *
|
|
* (at your option) any later version. *
|
|
* *
|
|
* This program is distributed in the hope that it will be useful, *
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
|
* GNU General Public License for more details. *
|
|
* *
|
|
* You should have received a copy of the GNU General Public License *
|
|
* along with this program; if not, write to the *
|
|
* Free Software Foundation, Inc., *
|
|
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
|
|
***************************************************************************/
|
|
#ifndef MAINWINDOWIMPL_H
|
|
#define MAINWINDOWIMPL_H
|
|
|
|
#include "ui_mainwindow.h"
|
|
#include <iostream>
|
|
#include <string>
|
|
|
|
#include <QtGui>
|
|
#include <QtCore>
|
|
|
|
class Game;
|
|
class Session;
|
|
class Log;
|
|
class ConfigFile;
|
|
|
|
class BoardInterface;
|
|
class HandInterface;
|
|
class PlayerInterface;
|
|
|
|
class MyCardsPixmapLabel;
|
|
|
|
class QColor;
|
|
|
|
|
|
class mainWindowImpl: public QMainWindow, public Ui::mainWindow {
|
|
Q_OBJECT
|
|
public:
|
|
mainWindowImpl(QMainWindow *parent = 0 );
|
|
|
|
void setGame(Game*);
|
|
void setHand(HandInterface*);
|
|
void setSession(Session*);
|
|
void setLog(Log*);
|
|
|
|
int getMaxQuantityPlayers() const { return maxQuantityPlayers; }
|
|
|
|
//refresh-Funktionen
|
|
void refreshSet();
|
|
void refreshButton();
|
|
void refreshPlayerName();
|
|
void refreshAction();
|
|
void refreshCash();
|
|
void refreshGroupbox();
|
|
void refreshAll();
|
|
void refreshChangePlayer();
|
|
void refreshPot();
|
|
|
|
// Karten-Funktionen
|
|
void dealHoleCards();
|
|
|
|
//Spieler-Funktionen
|
|
void meInAction();
|
|
void disableMyButtons();
|
|
|
|
void highlightRoundLabel(std::string);
|
|
|
|
void setSpeeds();
|
|
|
|
public slots:
|
|
|
|
void setGameSpeed(const int theValue) { guiGameSpeed = theValue; setSpeeds(); } // Achtung Faktor 10!!!
|
|
|
|
void callNewGameDialog() ;
|
|
void callAboutPokerthDialog();
|
|
void callSettingsDialog();
|
|
void myFold();
|
|
void myCheck();
|
|
void myCall();
|
|
void myBet();
|
|
void mySet();
|
|
void myRaise();
|
|
void myAllIn();
|
|
|
|
void dealFlopCards0();
|
|
void dealFlopCards1();
|
|
void dealFlopCards2();
|
|
void dealFlopCards3();
|
|
void dealFlopCards4();
|
|
void dealFlopCards5();
|
|
void dealFlopCards6();
|
|
|
|
void dealTurnCards0();
|
|
void dealTurnCards1();
|
|
void dealTurnCards2();
|
|
|
|
void dealRiverCards0();
|
|
void dealRiverCards1();
|
|
void dealRiverCards2();
|
|
|
|
void nextPlayerAnimation();
|
|
|
|
void preflopAnimation1();
|
|
void preflopAnimation1Action();
|
|
void preflopAnimation2();
|
|
void preflopAnimation2Action();
|
|
|
|
void flopAnimation1();
|
|
void flopAnimation1Action();
|
|
void flopAnimation2();
|
|
void flopAnimation2Action();
|
|
|
|
void turnAnimation1();
|
|
void turnAnimation1Action();
|
|
void turnAnimation2();
|
|
void turnAnimation2Action();
|
|
|
|
void riverAnimation1();
|
|
void riverAnimation1Action();
|
|
void riverAnimation2();
|
|
void riverAnimation2Action();
|
|
|
|
void postRiverAnimation1();
|
|
void postRiverAnimation1Action();
|
|
|
|
void postRiverRunAnimation1();
|
|
void postRiverRunAnimation2();
|
|
void postRiverRunAnimation3();
|
|
void postRiverRunAnimation4();
|
|
void postRiverRunAnimation5();
|
|
void postRiverRunAnimation6();
|
|
|
|
void flipHolecardsAllIn();
|
|
|
|
void handSwitchRounds();
|
|
|
|
void startNewHand();
|
|
|
|
void stopTimer();
|
|
|
|
void nextRoundCleanGui();
|
|
|
|
void userWidgetsBackgroudColor();
|
|
void breakButtonClicked();
|
|
|
|
void keyPressEvent ( QKeyEvent * event );
|
|
void switchToolBox();
|
|
|
|
void paintStartSplash();
|
|
|
|
private:
|
|
|
|
Game *actualGame;
|
|
HandInterface *actualHand;
|
|
Session *mySession;
|
|
Log *myLog;
|
|
ConfigFile *myConfig;
|
|
|
|
//MyPixmapCardsLabel
|
|
MyCardsPixmapLabel *pixmapLabel_cardBoard0;
|
|
MyCardsPixmapLabel *pixmapLabel_cardBoard1;
|
|
MyCardsPixmapLabel *pixmapLabel_cardBoard2;
|
|
MyCardsPixmapLabel *pixmapLabel_cardBoard3;
|
|
MyCardsPixmapLabel *pixmapLabel_cardBoard4;
|
|
MyCardsPixmapLabel *pixmapLabel_card0a;
|
|
MyCardsPixmapLabel *pixmapLabel_card0b;
|
|
MyCardsPixmapLabel *pixmapLabel_card1a;
|
|
MyCardsPixmapLabel *pixmapLabel_card1b;
|
|
MyCardsPixmapLabel *pixmapLabel_card2a;
|
|
MyCardsPixmapLabel *pixmapLabel_card2b;
|
|
MyCardsPixmapLabel *pixmapLabel_card3a;
|
|
MyCardsPixmapLabel *pixmapLabel_card3b;
|
|
MyCardsPixmapLabel *pixmapLabel_card4a;
|
|
MyCardsPixmapLabel *pixmapLabel_card4b;
|
|
//Timer
|
|
QTimer *potDistributeTimer;
|
|
QTimer *timer;
|
|
QTimer *dealFlopCards0Timer;
|
|
QTimer *dealFlopCards1Timer;
|
|
QTimer *dealFlopCards2Timer;
|
|
QTimer *dealFlopCards3Timer;
|
|
QTimer *dealFlopCards4Timer;
|
|
QTimer *dealFlopCards5Timer;
|
|
QTimer *dealFlopCards6Timer;
|
|
QTimer *dealTurnCards0Timer;
|
|
QTimer *dealTurnCards1Timer;
|
|
QTimer *dealTurnCards2Timer;
|
|
QTimer *dealRiverCards0Timer;
|
|
QTimer *dealRiverCards1Timer;
|
|
QTimer *dealRiverCards2Timer;
|
|
|
|
QTimer *nextPlayerAnimationTimer;
|
|
QTimer *preflopAnimation1Timer;
|
|
QTimer *preflopAnimation2Timer;
|
|
QTimer *flopAnimation1Timer;
|
|
QTimer *flopAnimation2Timer;
|
|
QTimer *turnAnimation1Timer;
|
|
QTimer *turnAnimation2Timer;
|
|
QTimer *riverAnimation1Timer;
|
|
QTimer *riverAnimation2Timer;
|
|
|
|
QTimer *postRiverAnimation1Timer;
|
|
QTimer *postRiverRunAnimation1Timer;
|
|
QTimer *postRiverRunAnimation2Timer;
|
|
QTimer *postRiverRunAnimation3Timer;
|
|
QTimer *postRiverRunAnimation5Timer;
|
|
QTimer *postRiverRunAnimation6Timer;
|
|
|
|
QWidget *userWidgetsArray[8];
|
|
QLabel *buttonLabelArray[5];
|
|
QLabel *cashLabelArray[5];
|
|
QLabel *cashTopLabelArray[5];
|
|
QLabel *setLabelArray[5];
|
|
QLabel *actionLabelArray[5];
|
|
QGroupBox *groupBoxArray[5];
|
|
MyCardsPixmapLabel *boardCardsArray[5];
|
|
MyCardsPixmapLabel *holeCardsArray[5][2];
|
|
|
|
QPixmap *flipside;
|
|
|
|
int maxQuantityPlayers;
|
|
|
|
int distributePotAnimCounter;
|
|
|
|
//Speed
|
|
int guiGameSpeed;
|
|
int gameSpeed;
|
|
int dealCardsSpeed;
|
|
int preDealCardsSpeed;
|
|
int postDealCardsSpeed;
|
|
int AllInDealCardsSpeed;
|
|
int postRiverRunAnimationSpeed;
|
|
int winnerBlinkSpeed;
|
|
int newRoundSpeed;
|
|
int nextPlayerSpeed1;
|
|
int nextPlayerSpeed2;
|
|
int nextPlayerSpeed3;
|
|
int preflopNextPlayerSpeed;
|
|
int nextOpponentSpeed;
|
|
|
|
|
|
bool debugMode;
|
|
bool breakAfterActualHand;
|
|
|
|
bool flipHolecardsAllInAlreadyDone;
|
|
|
|
QColor active;
|
|
QColor inactive;
|
|
QColor highlight;
|
|
};
|
|
|
|
#endif
|