diff options
Diffstat (limited to 'klines/prompt.cpp')
-rw-r--r-- | klines/prompt.cpp | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/klines/prompt.cpp b/klines/prompt.cpp new file mode 100644 index 00000000..09c17e2a --- /dev/null +++ b/klines/prompt.cpp @@ -0,0 +1,89 @@ +/*************************************************************************** + begin : Fri May 19 2000 + copyright : (C) 2000 by Roman Merzlyakov + email : [email protected] + copyright : (C) 2000 by Roman Razilov + email : [email protected] + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include <qpainter.h> +#include "prompt.h" +#include "prompt.moc" + +LinesPrompt::LinesPrompt( BallPainter * abPainter, QWidget* parent, const char* name ) + : QWidget( parent, name ) +{ + + bPainter = abPainter; + + setFocusPolicy( NoFocus ); + setBackgroundColor( gray ); + + setMouseTracking( FALSE ); + setFixedSize(wPrompt(), hPrompt()); + + PromptEnabled = true; + cb[0]=NOBALL; + cb[1]=NOBALL; + cb[2]=NOBALL; +} + +LinesPrompt::~LinesPrompt() +{ +} + +int LinesPrompt::width() { return CELLSIZE * 3 ; } +int LinesPrompt::height() { return CELLSIZE ; } + +int LinesPrompt::wPrompt() { return CELLSIZE * 3 ; } +int LinesPrompt::hPrompt() { return CELLSIZE ; } + +void LinesPrompt::paintEvent( QPaintEvent* ) +{ + QPainter paint( this ); + if(PromptEnabled){ + paint.drawPixmap(0, 0, bPainter->GetNormalBall(cb[0]) ); + paint.drawPixmap(CELLSIZE, 0, bPainter->GetNormalBall(cb[1]) ); + paint.drawPixmap(2*CELLSIZE, 0, bPainter->GetNormalBall(cb[2]) ); + } + else{ + paint.drawPixmap(0, 0, bPainter->GetBackgroundPix() ); + paint.drawPixmap(CELLSIZE, 0, bPainter->GetBackgroundPix() ); + paint.drawPixmap(2*CELLSIZE, 0, bPainter->GetBackgroundPix() ); + } +} + +/* + Handles mouse press events for the LinesPrompt widget. +*/ +void LinesPrompt::mousePressEvent( QMouseEvent* ) +{ + emit PromptPressed(); +} + +void LinesPrompt::SetBalls( int *pcb ) +{ + for (int i = 0; i<BALLSDROP; i++) + cb[i] = pcb[i]; + + update(); +} + +bool LinesPrompt::getState() +{ + return PromptEnabled; +} +void LinesPrompt::setPrompt(bool enabled) +{ + PromptEnabled = enabled; + update(); +} |