#ifndef _GWINDOW_H
#define _GWINDOW_H


#include <qwidget.h>


//	classes used in GameWindow class declaration//////////////////////////////
class Board;
class Player;
class TileBank;
class QPushButton;
class QMenuBar;
class QLCDNumber;
class ScoreDisplay;
/////////////////////////////////////////////////////////////////////////


//********************************************************************************
//	GameWindow class
//
//	This is used to keep everything organized in one window.  Contains a menu bar,
//	game logic that must be done from outside board, and all necesary connects
//	There is one GameWindow called in main(), and the constructor takes care of the
//	rest
//********************************************************************************

class GameWindow : public QWidget
{
    Q_OBJECT
public:
   
	GameWindow( QWidget *parent=0, const char *name=0 );

public slots:

	//	start a new game
	void newGame();

private slots:

	//remove old tiles and deal new tiles to players
	//see .cpp for more info
	void redealPlayer(int);
	void redealComputer(int);

	//displays instruction info
	void helpScreen();
	
	//gets called when the game ends, calulates final score, etc.
	void endGame();

private:

	//	all the parts of Scrabble////////////////////
	Board* GBoard;
	Player* Human;
	TileBank* TileBag;
	QPushButton* NextTurn;
	////////////////////////////////////////////////

	//the menu bar in the main window
    QMenuBar *menu;

	//the scores
	ScoreDisplay * humanScore;
	ScoreDisplay * computerScore;
};



#endif
