X-Git-Url: http://git.maemo.org/git/?p=speedfreak;a=blobdiff_plain;f=Client%2Fresultdialog.cpp;h=e10b46e1fe96c3f06df9c7837a9c94af57fa3e4c;hp=a043767035bef253a1b9513cfbb9ace95eeec647;hb=e555ac29de66892f09396ee7d6cd2a92374629b0;hpb=b7e5e4f21ee31476d5b9d3ceb3b7070b7f6e7101 diff --git a/Client/resultdialog.cpp b/Client/resultdialog.cpp index a043767..e10b46e 100644 --- a/Client/resultdialog.cpp +++ b/Client/resultdialog.cpp @@ -10,66 +10,32 @@ const QPoint diagramHorizontalEnd(450, 350); const int diagramGap = 30; - // Test arrays for changing speeds and times to the points in diagram -static const int speedArray[10] = {12, 34, 56, 78, 90, 100, 104, 100, 90, 80}; -static const int timeArray[10] = {1, 2, 3, 4, 5, 6, 7, 8, 10, 12}; - - +static const int speedArray[10] = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100}; +//static const int timeArray[10] = {1, 2, 3, 4, 5, 6, 7, 8, 10, 12}; // Test point array for the diagram. QPoint points[10]; +/** + * Constructor of this class. + * @param QWidget pointer to parent object. By default the value is NULL. + */ ResultDialog::ResultDialog(QWidget *parent) : QDialog(parent), ui(new Ui::ResultDialog) { ui->setupUi(this); - QString time, timeInteger; - timeInteger.setNum(timeArray[9]); - time = "0 - 100 km/h: "; - time.append(timeInteger); - ui->labelResult->setText(time); - - timeInteger.setNum(timeArray[8]); - time = "0 - 90 km/h: "; - time.append(timeInteger); - ui->labelResult_2->setText(time); - - timeInteger.setNum(timeArray[7]); - time = "0 - 80 km/h: "; - time.append(timeInteger); - ui->labelResult_3->setText(time); - - timeInteger.setNum(timeArray[6]); - time = "0 - 70 km/h: "; - time.append(timeInteger); - ui->labelResult_4->setText(time); - - timeInteger.setNum(timeArray[5]); - time = "0 - 60 km/h: "; - time.append(timeInteger); - ui->labelResult_5->setText(time); - - timeInteger.setNum(timeArray[4]); - time = "0 - 50 km/h: "; - time.append(timeInteger); - ui->labelResult_6->setText(time); - timeInteger.setNum(timeArray[3]); - time = "0 - 40 km/h: "; - time.append(timeInteger); - ui->labelResult_7->setText(time); - for(int i = 0; i < 10; i++) - { - points[i] = changeMeasuresToDiagramPoint(speedArray[i], timeArray[i]); - } // ui->labelXLine->setText(ui->labelXLine->text().append(": time/ s")); // ui->labelYLine->setText(ui->labelYLine->text().append(": speed/ km/h")); } +/** + * Destructor of this class. Should be used to release all allocated resources. + */ ResultDialog::~ResultDialog() { delete ui; @@ -89,7 +55,7 @@ void ResultDialog::changeEvent(QEvent *e) /** * Draws speed diagram to the UI - * + * @param QPaintEvent */ void ResultDialog::paintEvent(QPaintEvent *) { @@ -105,7 +71,7 @@ void ResultDialog::paintEvent(QPaintEvent *) int currentY = diagramStemStart.y(); // Draws diagram's X-axel - for(int i = 0; i<13; i++) + for (int i = 0; i < 13; i++) { currentX += diagramGap; painter.drawLine(currentX, currentY, currentX, currentY - 10); @@ -115,22 +81,22 @@ void ResultDialog::paintEvent(QPaintEvent *) currentY = diagramStemStart.y(); // Draws diagram's Y-axel - for(int i = 0; i<10; i++) + for (int i = 0; i < 10; i++) { currentY -= diagramGap; painter.drawLine(currentX, currentY, currentX+10, currentY); } - painter.drawPolyline(points, 10); + painter.drawPolyline(points, 4); } /** - *Change the given speed and time to the point for the diagram. - *@param aSpeed is speed which need to change, aTime is time in seconds which need to change. - *@return point is calculated from aSpeed and aTime. - **/ -QPoint ResultDialog::changeMeasuresToDiagramPoint(int aSpeed, int aTime) + * Change the given speed and time to the point for the diagram. + * @param aSpeed is speed which need to change, aTime is time in seconds which need to change. + * @return point is calculated from aSpeed and aTime. + */ +QPoint ResultDialog::changeMeasuresToDiagramPoint(int aSpeed, qreal aTime) { QPoint point; @@ -143,3 +109,69 @@ QPoint ResultDialog::changeMeasuresToDiagramPoint(int aSpeed, int aTime) return point; } + +/** + * Saves the given measures to array. + * @param pMeasures has information about acceleration. + */ +void ResultDialog::saveMeasuresToArray(Measures *pMeasures) +{ + timeArray[0] = pMeasures->getTime10kmh(); + timeArray[1] = pMeasures->getTime20kmh(); + timeArray[2] = pMeasures->getTime30kmh(); + timeArray[3] = pMeasures->getTime40kmh(); + timeArray[4] = pMeasures->getTime50kmh(); + timeArray[5] = pMeasures->getTime60kmh(); + timeArray[6] = pMeasures->getTime70kmh(); + timeArray[7] = pMeasures->getTime80kmh(); + timeArray[8] = pMeasures->getTime90kmh(); + timeArray[9] = pMeasures->getTime100kmh(); + + for (int i = 0; i < 4; i++) + { + points[i] = changeMeasuresToDiagramPoint(speedArray[i], timeArray[i]); + } + + QString time, timeInteger; + timeInteger.setNum(timeArray[3]); + time = "0 - 40 km/h: "; + time.append(timeInteger); + ui->labelResult40kmh->setText(time); + + timeInteger.setNum(timeArray[2]); + time = "0 - 30 km/h: "; + time.append(timeInteger); + ui->labelResult30kmh->setText(time); + + timeInteger.setNum(timeArray[1]); + time = "0 - 20 km/h: "; + time.append(timeInteger); + ui->labelResult20kmh->setText(time); + + timeInteger.setNum(timeArray[0]); + time = "0 - 10 km/h: "; + time.append(timeInteger); + ui->labelResult10kmh->setText(time); + + /* timeInteger.setNum(timeArray[5]); + time = "0 - 60 km/h: "; + time.append(timeInteger); + ui->labelResult_5->setText(time); + + timeInteger.setNum(timeArray[4]); + time = "0 - 50 km/h: "; + time.append(timeInteger); + ui->labelResult_6->setText(time); + + timeInteger.setNum(timeArray[3]); + time = "0 - 40 km/h: "; + time.append(timeInteger); + ui->labelResult_7->setText(time);*/ + + this->repaint(); + + for (int i = 0; i < 10; i++) + { + timeArray[i] = 0; + } +}