author | llornkcor <llornkcor> | 2004-06-30 09:03:11 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2004-06-30 09:03:11 (UTC) |
commit | fadef9ae9838b3fb6f770a64b4cc2d179c6e9f07 (patch) (unidiff) | |
tree | 2632453666e2116d1ec8e16c18fa4df3f6a238e2 | |
parent | c4405f8d22769e9881484d3f7640e4ba87ed75ee (diff) | |
download | opie-fadef9ae9838b3fb6f770a64b4cc2d179c6e9f07.zip opie-fadef9ae9838b3fb6f770a64b4cc2d179c6e9f07.tar.gz opie-fadef9ae9838b3fb6f770a64b4cc2d179c6e9f07.tar.bz2 |
workaround large screen widget bug using move
-rw-r--r-- | noncore/games/tictac/tictac.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/noncore/games/tictac/tictac.cpp b/noncore/games/tictac/tictac.cpp index 12ce35f..db8ee1e 100644 --- a/noncore/games/tictac/tictac.cpp +++ b/noncore/games/tictac/tictac.cpp | |||
@@ -50,64 +50,65 @@ void TicTacButton::drawButtonLabel( QPainter *p ) | |||
50 | //*************************************************************************** | 50 | //*************************************************************************** |
51 | //* TicTacGameBoard member functions | 51 | //* TicTacGameBoard member functions |
52 | //*************************************************************************** | 52 | //*************************************************************************** |
53 | 53 | ||
54 | // -------------------------------------------------------------------------- | 54 | // -------------------------------------------------------------------------- |
55 | // Creates a game board with N x N buttons and connects the "clicked()" | 55 | // Creates a game board with N x N buttons and connects the "clicked()" |
56 | // signal of all buttons to the "buttonClicked()" slot. | 56 | // signal of all buttons to the "buttonClicked()" slot. |
57 | // | 57 | // |
58 | 58 | ||
59 | TicTacGameBoard::TicTacGameBoard( int n, QWidget *parent, const char *name ) | 59 | TicTacGameBoard::TicTacGameBoard( int n, QWidget *parent, const char *name ) |
60 | : QWidget( parent, name ) | 60 | : QWidget( parent, name ) |
61 | { | 61 | { |
62 | QPEApplication::showWidget( this ); | 62 | QPEApplication::showWidget( this ); |
63 | st = Init; // initial state | 63 | st = Init; // initial state |
64 | nBoard = n; | 64 | nBoard = n; |
65 | n *= n; // make square | 65 | n *= n; // make square |
66 | comp_starts = FALSE; // human starts | 66 | comp_starts = FALSE; // human starts |
67 | buttons = new TicTacButtons(n); // create real buttons | 67 | buttons = new TicTacButtons(n); // create real buttons |
68 | btArray = new TicTacArray(n); // create button model | 68 | btArray = new TicTacArray(n); // create button model |
69 | QGridLayout * grid = new QGridLayout( this, 3, 3, 4 ); | 69 | QGridLayout * grid = new QGridLayout( this, 3, 3, 4 ); |
70 | QPalette p( blue ); | 70 | QPalette p( blue ); |
71 | for ( int i=0; i<n; i++ ) { // create and connect buttons | 71 | for ( int i=0; i<n; i++ ) { // create and connect buttons |
72 | TicTacButton *ttb = new TicTacButton( this ); | 72 | TicTacButton *ttb = new TicTacButton( this ); |
73 | ttb->setPalette( p ); | 73 | ttb->setPalette( p ); |
74 | ttb->setEnabled( FALSE ); | 74 | ttb->setEnabled( FALSE ); |
75 | connect( ttb, SIGNAL(clicked()), SLOT(buttonClicked()) ); | 75 | connect( ttb, SIGNAL(clicked()), SLOT(buttonClicked()) ); |
76 | grid->addWidget( ttb, i%3, i/3 ); | 76 | grid->addWidget( ttb, i%3, i/3 ); |
77 | buttons->insert( i, ttb ); | 77 | buttons->insert( i, ttb ); |
78 | btArray->at(i) = TicTacButton::Blank; // initial button type | 78 | btArray->at(i) = TicTacButton::Blank; // initial button type |
79 | } | 79 | } |
80 | QTime t = QTime::currentTime(); // set random seed | 80 | QTime t = QTime::currentTime(); // set random seed |
81 | srand( t.hour()*12+t.minute()*60+t.second()*60 ); | 81 | srand( t.hour()*12+t.minute()*60+t.second()*60 ); |
82 | |||
82 | } | 83 | } |
83 | 84 | ||
84 | TicTacGameBoard::~TicTacGameBoard() | 85 | TicTacGameBoard::~TicTacGameBoard() |
85 | { | 86 | { |
86 | delete buttons; | 87 | delete buttons; |
87 | delete btArray; | 88 | delete btArray; |
88 | } | 89 | } |
89 | 90 | ||
90 | 91 | ||
91 | // -------------------------------------------------------------------------- | 92 | // -------------------------------------------------------------------------- |
92 | // TicTacGameBoard::computerStarts( bool v ) | 93 | // TicTacGameBoard::computerStarts( bool v ) |
93 | // | 94 | // |
94 | // Computer starts if v=TRUE. The human starts by default. | 95 | // Computer starts if v=TRUE. The human starts by default. |
95 | // | 96 | // |
96 | 97 | ||
97 | void TicTacGameBoard::computerStarts( bool v ) | 98 | void TicTacGameBoard::computerStarts( bool v ) |
98 | { | 99 | { |
99 | comp_starts = v; | 100 | comp_starts = v; |
100 | } | 101 | } |
101 | 102 | ||
102 | 103 | ||
103 | // -------------------------------------------------------------------------- | 104 | // -------------------------------------------------------------------------- |
104 | // TicTacGameBoard::newGame() | 105 | // TicTacGameBoard::newGame() |
105 | // | 106 | // |
106 | // Clears the game board and prepares for a new game | 107 | // Clears the game board and prepares for a new game |
107 | // | 108 | // |
108 | 109 | ||
109 | void TicTacGameBoard::newGame() | 110 | void TicTacGameBoard::newGame() |
110 | { | 111 | { |
111 | st = HumansTurn; | 112 | st = HumansTurn; |
112 | for ( int i=0; i<nBoard*nBoard; i++ ) | 113 | for ( int i=0; i<nBoard*nBoard; i++ ) |
113 | btArray->at(i) = TicTacButton::Blank; | 114 | btArray->at(i) = TicTacButton::Blank; |
@@ -300,64 +301,65 @@ TicTacToe::TicTacToe( QWidget *parent, const char *name, WFlags fl ) | |||
300 | // Create the game board and connect the signal finished() to this | 301 | // Create the game board and connect the signal finished() to this |
301 | // gameOver() slot | 302 | // gameOver() slot |
302 | 303 | ||
303 | board = new TicTacGameBoard( boardSize, this ); | 304 | board = new TicTacGameBoard( boardSize, this ); |
304 | connect( board, SIGNAL(finished()), SLOT(gameOver()) ); | 305 | connect( board, SIGNAL(finished()), SLOT(gameOver()) ); |
305 | l->addWidget( board ); | 306 | l->addWidget( board ); |
306 | 307 | ||
307 | // Create a horizontal frame line | 308 | // Create a horizontal frame line |
308 | 309 | ||
309 | QFrame *line = new QFrame( this ); | 310 | QFrame *line = new QFrame( this ); |
310 | line->setFrameStyle( QFrame::HLine | QFrame::Sunken ); | 311 | line->setFrameStyle( QFrame::HLine | QFrame::Sunken ); |
311 | l->addWidget( line ); | 312 | l->addWidget( line ); |
312 | 313 | ||
313 | // Create the combo box for deciding who should start, and | 314 | // Create the combo box for deciding who should start, and |
314 | // connect its clicked() signals to the buttonClicked() slot | 315 | // connect its clicked() signals to the buttonClicked() slot |
315 | 316 | ||
316 | whoStarts = new QComboBox( this ); | 317 | whoStarts = new QComboBox( this ); |
317 | whoStarts->insertItem( tr( "Computer starts" ) ); | 318 | whoStarts->insertItem( tr( "Computer starts" ) ); |
318 | whoStarts->insertItem( tr( "Human starts" ) ); | 319 | whoStarts->insertItem( tr( "Human starts" ) ); |
319 | l->addWidget( whoStarts ); | 320 | l->addWidget( whoStarts ); |
320 | 321 | ||
321 | // Create the push buttons and connect their clicked() signals | 322 | // Create the push buttons and connect their clicked() signals |
322 | // to this right slots. | 323 | // to this right slots. |
323 | 324 | ||
324 | newGame = new QPushButton( tr( "Play!" ), this ); | 325 | newGame = new QPushButton( tr( "Play!" ), this ); |
325 | connect( newGame, SIGNAL(clicked()), SLOT(newGameClicked()) ); | 326 | connect( newGame, SIGNAL(clicked()), SLOT(newGameClicked()) ); |
326 | quit = new QPushButton( tr( "Quit" ), this ); | 327 | quit = new QPushButton( tr( "Quit" ), this ); |
327 | connect( quit, SIGNAL(clicked()), qApp, SLOT(quit()) ); | 328 | connect( quit, SIGNAL(clicked()), qApp, SLOT(quit()) ); |
328 | QHBoxLayout * b = new QHBoxLayout; | 329 | QHBoxLayout * b = new QHBoxLayout; |
329 | l->addLayout( b ); | 330 | l->addLayout( b ); |
330 | b->addWidget( newGame ); | 331 | b->addWidget( newGame ); |
331 | b->addWidget( quit ); | 332 | b->addWidget( quit ); |
333 | move(0,0); | ||
332 | QPEApplication::showWidget( this ); | 334 | QPEApplication::showWidget( this ); |
333 | newState(); | 335 | newState(); |
334 | } | 336 | } |
335 | 337 | ||
336 | 338 | ||
337 | // -------------------------------------------------------------------------- | 339 | // -------------------------------------------------------------------------- |
338 | // TicTacToe::newGameClicked() - SLOT | 340 | // TicTacToe::newGameClicked() - SLOT |
339 | // | 341 | // |
340 | // This slot is activated when the new game button is clicked. | 342 | // This slot is activated when the new game button is clicked. |
341 | // | 343 | // |
342 | 344 | ||
343 | void TicTacToe::newGameClicked() | 345 | void TicTacToe::newGameClicked() |
344 | { | 346 | { |
345 | board->computerStarts( whoStarts->currentItem() == 0 ); | 347 | board->computerStarts( whoStarts->currentItem() == 0 ); |
346 | board->newGame(); | 348 | board->newGame(); |
347 | newState(); | 349 | newState(); |
348 | } | 350 | } |
349 | 351 | ||
350 | 352 | ||
351 | // -------------------------------------------------------------------------- | 353 | // -------------------------------------------------------------------------- |
352 | // TicTacToe::gameOver() - SLOT | 354 | // TicTacToe::gameOver() - SLOT |
353 | // | 355 | // |
354 | // This slot is activated when the TicTacGameBoard emits the signal | 356 | // This slot is activated when the TicTacGameBoard emits the signal |
355 | // "finished()", i.e. when a player has won or when it is a draw. | 357 | // "finished()", i.e. when a player has won or when it is a draw. |
356 | // | 358 | // |
357 | 359 | ||
358 | void TicTacToe::gameOver() | 360 | void TicTacToe::gameOver() |
359 | { | 361 | { |
360 | newState(); // update text box | 362 | newState(); // update text box |
361 | } | 363 | } |
362 | 364 | ||
363 | 365 | ||