You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

#include "dialogi.h"
#include "ui_dialogi.h"
#include <QMessageBox>

Dialogi::Dialogi(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialogi)
{
    ui->setupUi(this);
    //yhdistetaan signaalit ja slotit
    connect(this,SIGNAL(AsetaTestiarvo(int)),&saie,SLOT(AsetaTestiarvo(int)));
    connect(&saie,SIGNAL(PaivitaUi(int)),this,SLOT(VastaanotaArvoSaikeelta(int)));
}

Dialogi::~Dialogi()
{
    //sammutetaan säie, jottei tule segmentation faultia
    if(saie.isRunning())//onko asynkrooninen säie käynnissä
    {
        saie.pysayta();//pysäytetään säie
    }
    delete ui;
}

void Dialogi::changeEvent(QEvent *e)
{
    QDialog::changeEvent(e);
    switch (e->type()) {
    case QEvent::LanguageChange:
        ui->retranslateUi(this);
        break;
    default:
        break;
    }
}

//haetaan arvo ruudulta
void Dialogi::on_pushButton_clicked()
{
    QString apu=ui->lineEdit_2->text();
    int apu2=apu.toInt();
    emit AsetaTestiarvo(apu2);

}

void Dialogi::on_StartSaie_clicked()
{
    QMessageBox msgBox;
    if(saie.isRunning())//onko asynkrooninen säie käynnissä
    {
        msgBox.setText("Säie on jo käynnissä");
        msgBox.exec();
    }
    else
    {
        saie.start();//käynnistetään säie
    }
}

void Dialogi::on_StopSaie_clicked()
{
    if(saie.isRunning())//onko asynkrooninen säie käynnissä
    {
        saie.pysayta();//pysäytetään säie
    }
}

void Dialogi::VastaanotaArvoSaikeelta(int arvo)
{
    QString apu;
    apu.setNum(arvo);
    ui->lineEdit->setText(apu);
}
#ifndef DIALOGI_H
#define DIALOGI_H

#include <QDialog>
#include "saie.h"

namespace Ui {
    class Dialogi;
}

class Dialogi : public QDialog {
    Q_OBJECT
public:
    Dialogi(QWidget *parent = 0);
    ~Dialogi();
    Saie saie;
    //bool started;
protected:
    void changeEvent(QEvent *e);

private:
    Ui::Dialogi *ui;

private slots:
    void on_StopSaie_clicked();
    void on_StartSaie_clicked();
    void on_pushButton_clicked();
    void VastaanotaArvoSaikeelta(int);
signals:
    void AsetaTestiarvo(int);
};

#endif // DIALOGI_H


  • No labels
You must log in to comment.