00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00024
00025 #include <qvgui/qvcamerawidgetsmall.h>
00026
00027 QVCameraWidgetSmall::QVCameraWidgetSmall(QVCamera *camera, QWidget *parent): QWidget(parent)
00028 {
00029 form.setupUi(this);
00030 this->camera = camera;
00031 this->cameraWidget = new QVCameraWidget(camera);
00032
00033 form.groupBox->setTitle(camera->getName());
00034 this->sliderActive = true;
00035
00036 if (this->camera->isLiveCamera())
00037 form.seekSlider->setEnabled(false);
00038
00039
00040 connect(form.pause_button,SIGNAL(pressed()),camera,SLOT(pauseCam()));
00041 connect(form.play_button,SIGNAL(pressed()),camera,SLOT(unpauseCam()));
00042 connect(form.next_button,SIGNAL(pressed()),camera,SLOT(nextFrameCam()));
00043 connect(form.stop_button, SIGNAL(pressed()),camera,SLOT(closeCam()));
00044
00045 connect(form.expand_button, SIGNAL(pressed()), cameraWidget,SLOT(show()));
00047
00048 connect(form.seekSlider,SIGNAL(sliderPressed()),this,SLOT(seekPressedSlot()));
00049 connect(form.seekSlider,SIGNAL(sliderReleased()),this,SLOT(seekReleasedSlot()));
00050 connect(form.seekSlider,SIGNAL(valueChanged(int)),this,SLOT(seekMovedSlot()));
00051 connect(form.seekSlider,SIGNAL(sliderMoved(int)),this,SLOT(seekMovedSlot()));
00052
00053
00054 connect(this,SIGNAL(speedPressed(double)), camera,SLOT(setSpeedCam(double)));
00055 connect(this,SIGNAL(seekPressed(QVCamera::TSeekType,double)), camera, SLOT(seekCam(QVCamera::TSeekType,double)));
00056
00057
00058
00059 connect(camera,SIGNAL(newGrab()),this,SLOT(updateCameraVisibleInfoSlot()));
00060 connect(camera,SIGNAL(newRead()),this,SLOT(updateCameraVisibleInfoSlot()));
00061 connect(camera,SIGNAL(statusChange(QVCamera::TCameraStatus)),
00062 this,SLOT(updateCameraStateSlot(QVCamera::TCameraStatus)));
00063
00064
00065
00066 }
00067
00068 void QVCameraWidgetSmall::seekPressedSlot()
00069 {
00070 sliderActive = false;
00071 }
00072
00073 void QVCameraWidgetSmall::seekReleasedSlot()
00074 {
00075 sliderActive = true;
00076 emit seekPressed((QVCamera::TSeekType)1,form.seekSlider->value());
00077 }
00078
00079 void QVCameraWidgetSmall::seekMovedSlot()
00080 {
00081
00082 }
00083
00084 void QVCameraWidgetSmall::updateCameraVisibleInfoSlot()
00085 {
00086 int percen = (int)((100*camera->getTimePos())/camera->getTimeLength());
00087 if (sliderActive) form.seekSlider->setValue(percen);
00088 }
00089
00090 void QVCameraWidgetSmall::updateCameraStateSlot(QVCamera::TCameraStatus status)
00091 {
00092 qDebug() << "QVCameraWidgetSmall::updateCameraStateSlot()";
00093 qDebug() << "QVCameraWidgetSmall::updateCameraStateSlot(): new state id:" << status;
00094 switch(status)
00095 {
00096 case QVCamera::Closed:
00097 qDebug() << "QVCameraWidgetSmall::updateCameraStateSlot(): new state: Closed";
00098 form.stop_button->setEnabled(FALSE);
00099 form.pause_button->setEnabled(FALSE);
00100 form.play_button->setEnabled(FALSE);
00101 form.next_button->setEnabled(FALSE);
00102 form.expand_button->setEnabled(FALSE);
00103 break;
00104
00105 case QVCamera::Running:
00106 qDebug() << "QVCameraWidgetSmall::updateCameraStateSlot(): new state: Running";
00107 form.stop_button->setEnabled(TRUE);
00108 form.pause_button->setEnabled(TRUE);
00109 form.play_button->setEnabled(FALSE);
00110 form.next_button->setEnabled(FALSE);
00111 form.expand_button->setEnabled(TRUE);
00112 break;
00113
00114 case QVCamera::RunningOneStep:
00115 qDebug() << "QVCameraWidgetSmall::updateCameraStateSlot(): new state: Running one step";
00116
00117 case QVCamera::Paused:
00118 qDebug() << "QVCameraWidgetSmall::updateCameraStateSlot(): new state: Paused";
00119 form.stop_button->setEnabled(TRUE);
00120 form.pause_button->setEnabled(FALSE);
00121 form.play_button->setEnabled(TRUE);
00122 form.next_button->setEnabled(TRUE);
00123 form.expand_button->setEnabled(TRUE);
00124 break;
00125
00126 default:
00127 break;
00128 }
00129
00130 qDebug() << "QVCameraWidgetSmall::updateCameraStateSlot() <~ return";
00131 }