00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00024
00025 #include <qvgui/qvworkerinterfacesmall.h>
00026
00027 QVWorkerInterfaceSmall::QVWorkerInterfaceSmall(QVWorker *worker, QWidget *parent): QWidget(parent)
00028 {
00029 qDebug() << "QVWorkerInterfaceSmall::QVWorkerInterfaceSmall("<< worker->getName() << ")";
00030 form.setupUi(this);
00031
00032 setWindowTitle(worker->getName());
00033 form.groupBox->setTitle(QString("Control: ")+worker->getName());
00034 this->worker = worker;
00035
00036 #ifdef PACKAGE_QWT
00037 this->cpuPlot = new QVCpuPlot(&(this->worker->getCpuStat()));
00038 this->cpuPlotSmall = new QVCpuPlot(&(this->worker->getCpuStat()),false);
00039 form.vboxLayout->addWidget(this->cpuPlotSmall);
00040 this->cpuPlotSmall->setFixedHeight(75);
00041 connect(form.stat_button, SIGNAL(pressed()),cpuPlot,SLOT(show()));
00042 #else
00043
00044
00045 #endif
00046
00047
00048 connect(form.pause_button,SIGNAL(pressed()),worker,SLOT(pause()));
00049 connect(form.play_button,SIGNAL(pressed()),worker,SLOT(unPause()));
00050 connect(form.next_button,SIGNAL(pressed()),worker,SLOT(step()));
00051 connect(form.stop_button, SIGNAL(pressed()),worker,SLOT(finish()));
00052
00053
00054 connect(worker,SIGNAL(endIteration()),this,SLOT(newIterationSlot()),Qt::QueuedConnection);
00055 connect(worker,SIGNAL(statusUpdate(QVWorker::TWorkerStatus)),
00056 this,SLOT(statusUpdate(QVWorker::TWorkerStatus)));
00057
00058 show();
00059 qDebug() << "QVWorkerInterfaceSmall::QVWorkerInterfaceSmall(" << worker->getName() << ") <- return";
00060 }
00061
00062 void QVWorkerInterfaceSmall::newIterationSlot()
00063 { form.iterationsLabel->setText(QString().setNum(worker->getIteration())); }
00064
00065 void QVWorkerInterfaceSmall::statusUpdate(QVWorker::TWorkerStatus status)
00066 {
00067 switch(status)
00068 {
00069 case QVWorker::Finished:
00070 form.stop_button->setEnabled(FALSE);
00071 form.pause_button->setEnabled(FALSE);
00072 form.play_button->setEnabled(FALSE);
00073 form.next_button->setEnabled(FALSE);
00074 break;
00075
00076 case QVWorker::Running:
00077 form.pause_button->setEnabled(TRUE);
00078 form.play_button->setEnabled(FALSE);
00079 form.next_button->setEnabled(FALSE);
00080 break;
00081
00082 case QVWorker::RunningOneStep:
00083 case QVWorker::Paused:
00084 form.pause_button->setEnabled(FALSE);
00085 form.play_button->setEnabled(TRUE);
00086 form.next_button->setEnabled(TRUE);
00087 break;
00088
00089 default:
00090 break;
00091 }
00092 }
00093