#include <lftvideodialog.h>
Klassendiagramm für LFTVideoDialog:
Öffentliche Slots | |
void | openKonfigDialog () |
Öffentliche Methoden | |
LFTVideoDialog (QWidget *parent=0, const char *name=0, bool modal=FALSE, WFlags f=0) | |
~LFTVideoDialog () | |
void | initNullSetzungen () |
double | vergangeneZeitInSekunden () |
double | vergangeneSekunden () |
int | vergangeneMinuten () |
Öffentliche Attribute | |
SitzungsKonfigurationDialog * | KonfigDialog |
QTime * | zaehlwerk |
|
Definiert in Zeile 21 der Datei lftvideodialog.cpp. Benutzt LFTVideoDialogBase::BtGrpRating, LFTVideoDialogBase::BtKlient_NLF, LFTVideoDialogBase::BtKonfiguration, LFTVideoDialogBase::BtKorrigieren, LFTVideoDialogBase::BtRun, LFTVideoDialogBase::BtSave, LFTVideoDialogBase::BtTherapeut_NLF, initNullSetzungen(), KonfigDialog, openKonfigDialog(), LFTVideoDialogBase::PushButtonCountdown, LFTVideoDialogBase::SldMins, LFTVideoDialogBase::SldSecs und zaehlwerk.
00023 : LFTVideoDialogBase( parent, name, modal, f ) 00024 { 00025 this->setProperty( "caption", tr( "v1.76 LFTVideo" ) ); 00026 00027 KonfigDialog=new SitzungsKonfigurationDialog ( this, "KonfigDialog", TRUE, 00028 Qt::WStyle_Customize | Qt::WStyle_Title | Qt::WStyle_SysMenu); 00029 00030 QFont *dialog_font=new QFont ( KonfigDialog->font() ); 00031 dialog_font->setFamily( "Arial" ); 00032 dialog_font->setPointSize( 8 ); 00033 KonfigDialog->setFont ( *dialog_font, TRUE) ; 00034 BtTherapeut_NLF->setText("nicht\nLös.Sprache (6)"); 00035 BtTherapeut_NLF->setProperty( "accel", 268435510 ); 00036 BtKlient_NLF->setText("nicht\nLös.Sprache (3)"); 00037 BtKlient_NLF->setProperty( "accel", 268435507 ); 00038 00039 // signals and slots connections for buttons 00040 connect( (const QObject*) BtKonfiguration, SIGNAL(clicked() ), 00041 this, SLOT(openKonfigDialog() ) ); 00042 connect( (const QObject*) BtRun, SIGNAL(toggled(bool) ), 00043 this, SLOT(RatingBeginnOderPause(bool) ) ); 00044 connect ((const QObject*) BtGrpRating, SIGNAL(pressed(int)), 00045 this, SLOT(SpeichereRatingButton(int)) ); 00046 connect ((const QObject*) BtSave, SIGNAL(pressed()), 00047 this, SLOT(RatingEnde()) ); 00048 connect ((const QObject*) BtKorrigieren, SIGNAL(toggled(bool)), 00049 this, SLOT(KorrigierenSchalter(bool)) ); 00050 connect ((const QObject*) PushButtonCountdown, SIGNAL(toggled(bool)), 00051 this, SLOT(CountdownStart(bool)) ); 00052 // Countdown Timer: 00053 CountdownTimer=new QTimer(); 00054 connect( CountdownTimer, SIGNAL(timeout()), 00055 this, SLOT(Countdown()) ); 00056 00057 // der LCD update Timer: 00058 zaehlwerk=new QTime(); 00059 SekundenTimer=new QTimer(); 00060 connect( SekundenTimer, SIGNAL(timeout()), 00061 this, SLOT(aktualisiereZeitanzeige()) ); 00062 connect( SldSecs, SIGNAL(valueChanged(int)), 00063 this, SLOT(SliderCheckFaerbung()) ); 00064 connect( SldMins, SIGNAL(valueChanged(int)), 00065 this, SLOT(SliderCheckFaerbung()) ); 00066 00067 // Neubeginn Speicher und GUI: 00068 initNullSetzungen(); // NEW RatingVerlauf, weitergeführt=false, 00069 // Anzahl->0, Dauer->0, letzteEinsch->0 00070 // Sld->0, Run->disabled, Counter->disabled, 00071 // KonfigOK->disabled, KonfigKlient->"" 00072 }; |
|
Definiert in Zeile 404 der Datei lftvideodialog.cpp. Benutzt RatingVerlauf::BisherLetzterMoment(), InfoSpeichern::gibFilename(), VerlaufSpeichern::gibFilename(), giveDateStamp(), giveTimeStamp(), KonfigDialog, InfoSpeichern::merkDirDaten(), MinSec(), VerlaufSpeichern::setzePointerAufDaten(), RatingVerlauf::Sinneinheiten, LFTVideoDialogBase::TextLabelAnzahl, LFTVideoDialogBase::TextLabelMittlereDauer und MinSec::toQString().
00408 { 00409 int verloren=Verlauf->Sinneinheiten.size(); 00410 MinSec arbeitszeit=Verlauf->BisherLetzterMoment(); 00411 00412 if (verloren>1) 00413 { 00414 QString dasDatum="SIKO_"; dasDatum+=giveDateStamp(); 00415 QString dieZeit=giveTimeStamp(); 00416 QString filename1=(dasDatum + "_" + dieZeit +"_info.dat").lower(); 00417 QString filename2=(dasDatum + "_" + dieZeit +"_verlauf.dat").lower(); 00418 00419 QString temp="Vor dem Beenden dieses Programmes müssen die Daten IMMER " 00420 "manuell per 'Ende'-Taste abge-SPEICHER-t werden.\n\nFast wären " 00421 "die wertvollen %1 Sinneinheiten verloren gewesen, die in " 00422 "mühseliger %2 dauernden Arbeitszeit eingegeben wurden.\n" 00423 "Also: Bitte immer als letztes 'Ende' drücken, dann erst das " 00424 "Programm schliessen!\n\nIch werde nun versuchen, eine " 00425 "Sicherheitskopie der Daten abzuspeichern unter: \n%3\n%4\n\n" 00426 "Nach Kopieren und manuellem Umbenennen ins normale Schema " 00427 "können die Daten dann einfach\nmittels " 00428 "'angefangene Sitzung weiterführen' eingelesen und neu " 00429 "abgespeichert werden.\n\n" 00430 "Vielleicht nochmal Glück gehabt? Schaun wir mal, ob das " 00431 "Speichern nun klappt ..."; 00432 temp=temp.arg(verloren) 00433 .arg(arbeitszeit.toQString()) 00434 .arg(filename1).arg(filename2); 00435 QMessageBox::critical( this, "LFTVideo - so beenden ist VERBOTEN!", 00436 temp); 00437 00438 VerlaufSpeichern *Speicherer=new VerlaufSpeichern (this); 00439 Speicherer->setzePointerAufDaten(Verlauf); 00440 QString filenameVerlauf=Speicherer->gibFilename(dasDatum, dieZeit); 00441 bool erfolgreichVerlauf = Speicherer-> 00442 speichereDaten(filenameVerlauf,"Rating Verlauf"); 00443 delete Speicherer; 00444 qDebug("Verlauf Speichern war erfolgreich: %d",erfolgreichVerlauf); 00445 00446 InfoSpeichern *InfoSpeicherer=new InfoSpeichern (this); 00447 InfoSpeicherer->merkDirDaten(TextLabelAnzahl->text(), 00448 TextLabelMittlereDauer->text(), 00449 Verlauf->BisherLetzterMoment(), 00450 weitergefuehrteSession, 00451 PauseGedrueckt); 00452 QString filenameInfo= InfoSpeicherer->gibFilename(dasDatum, dieZeit); 00453 bool erfolgreichInfo; 00454 erfolgreichInfo = InfoSpeicherer-> 00455 speichereDaten(filenameInfo,"Rating Verlauf"); 00456 delete InfoSpeicherer; 00457 qDebug("InfoSpeichern war erfolgreich: %d",erfolgreichInfo); 00458 } 00459 00460 // zerstöre Daten: 00461 Verlauf->Sinneinheiten.clear(); delete Verlauf; 00462 delete KonfigDialog, CountdownTimer, SekundenTimer; 00463 00464 // no need to delete child widgets, Qt does it all for us 00465 } |
|
Definiert in Zeile 93 der Datei lftvideodialog.cpp. Benutzt SitzungsKonfigurationDialogBase::buttonOk, LFTVideoDialogBase::FrmCounter, LFTVideoDialogBase::FrmRun, KonfigDialog, SitzungsKonfigurationDialogBase::LineEditKlient, MinSec(), LFTVideoDialogBase::SldMins, LFTVideoDialogBase::SldSecs, LFTVideoDialogBase::TextLabelAnzahl und LFTVideoDialogBase::TextLabelMittlereDauer. Wird benutzt von LFTVideoDialog().
00093 { 00094 00095 Verlauf=new RatingVerlauf(); 00096 weitergefuehrteSession=false; 00097 PauseGedrueckt=false; 00098 TextLabelAnzahl->setText("0"); 00099 TextLabelMittlereDauer->setText("00:00"); 00100 letzterEinschaetzungsZeitpunkt=MinSec(0,0); 00101 // resette Zaehlwerk 00102 SldSecs->setValue(0); 00103 SldMins->setValue(0); 00104 // zuerst muss immer Konfiguration ausgefüllt werden, sonst geht gar nix: 00105 FrmRun->setEnabled(false); 00106 FrmCounter->setEnabled(false); 00107 KonfigDialog->buttonOk->setEnabled(false); 00108 KonfigDialog->LineEditKlient->setText(""); 00109 } |
|
Definiert in Zeile 341 der Datei lftvideodialog.cpp. Benutzt RatingVerlauf::BisherLetzterMoment(), SitzungsKonfigurationDialogBase::buttonOk, LFTVideoDialogBase::FrmCounter, LFTVideoDialogBase::FrmRun, VerlaufSpeichern::gibFilename(), LFTVideoDialogBase::infoline1, SitzungsKonfigurationDialogBase::ja, KonfigDialog, DatenSpeichern::leseDaten(), SitzungsKonfigurationDialogBase::LineEditDatum, SitzungsKonfigurationDialogBase::LineEditKlient, SitzungsKonfigurationDialogBase::LineEditRater, SitzungsKonfigurationDialogBase::LineEditUhrzeit, MinSec::mins(), MinSec(), MinSec::secs(), VerlaufSpeichern::setzePointerAufDaten(), RatingVerlauf::Sinneinheiten, LFTVideoDialogBase::SldMins, LFTVideoDialogBase::SldSecs, LFTVideoDialogBase::TextLabelAnzahl, SitzungsKonfigurationDialogBase::TextLabelExistiert, LFTVideoDialogBase::TextLabelMittlereDauer und MinSec::toSecs(). Wird benutzt von LFTVideoDialog().
00341 { 00342 00343 // TODO / EVTL: 00344 // Im Falle von Cancel die alten Einträge wiederherstellen? 00345 00346 KonfigDialog->LineEditDatum->setText(QDate::currentDate().toString()); 00347 KonfigDialog->LineEditUhrzeit->setText(QTime::currentTime().toString()); 00348 KonfigDialog->show(); 00349 00350 // wenn's geht mit alten Daten weitermachen 00351 if ( KonfigDialog->ja->isChecked() 00352 && KonfigDialog->TextLabelExistiert->text()=="schon") 00353 { 00354 VerlaufSpeichern *Speicherer=new VerlaufSpeichern (this); 00355 Speicherer->setzePointerAufDaten(Verlauf); 00356 QString filename= Speicherer->gibFilename( 00357 KonfigDialog->LineEditKlient->text(), 00358 KonfigDialog->LineEditRater->text()); 00359 bool erfolgreich = Speicherer->leseDaten(filename,"Rating Verlauf"); 00360 if (erfolgreich) { 00361 weitergefuehrteSession=true; 00362 00363 if (MinSec(0,0) < Verlauf->BisherLetzterMoment()) // schon Daten da? 00364 PauseGedrueckt=true; // TODO: Die ist vereinfachend. 00365 // Besser wäre dies aus _Info auszulesen 00366 // Denn nur einlesen und sofort wieder speichern 00367 // macht nix kaputt an Zeitkohärenz... 00368 } 00369 delete Speicherer; 00370 QString infotext="Daten wurden"; 00371 infotext+=(erfolgreich?" ":" NICHT "); 00372 infotext+="erfolgreich aus "; 00373 infotext+=filename; 00374 infotext+=" eingelesen"; 00375 infoline1->setText(infotext); 00376 00377 letzterEinschaetzungsZeitpunkt=Verlauf->BisherLetzterMoment(); 00378 SldMins->setValue(letzterEinschaetzungsZeitpunkt.mins()); 00379 SldSecs->setValue(letzterEinschaetzungsZeitpunkt.secs()); 00380 00381 // Anzahl-Anzeige 00382 int anz=Verlauf->Sinneinheiten.size()-1 ; // -1 wegen Nullpunkt 00383 QString temp="%1"; 00384 temp=temp.arg(anz); 00385 TextLabelAnzahl->setText(temp); 00386 // Durchschnittsdauer-Anzeige 00387 double dauer= letzterEinschaetzungsZeitpunkt.toSecs() / (double) anz; 00388 temp=MinSec(0, dauer).toQString(); 00389 TextLabelMittlereDauer->setText(temp); 00390 } 00391 00392 if (KonfigDialog->buttonOk->isEnabled()){ 00393 infoline1->setText("OK. Es kann losgehen..."); 00394 FrmRun->setEnabled(true); 00395 FrmCounter->setEnabled(true); 00396 }else { 00397 infoline1->setText("Zuerst die Sitzung konfigurieren"); 00398 FrmRun->setEnabled(false); 00399 FrmCounter->setEnabled(false); 00400 } 00401 }; |
|
Definiert in Zeile 290 der Datei lftvideodialog.cpp. Benutzt vergangeneZeitInSekunden().
00290 { 00291 int mins=vergangeneZeitInSekunden()/60; 00292 return mins; 00293 } |
|
Definiert in Zeile 284 der Datei lftvideodialog.cpp. Benutzt nachkomma() und vergangeneZeitInSekunden().
00284 { 00285 double secs=vergangeneZeitInSekunden(); 00286 int nurSecs=((int) secs) % 60; 00287 return nurSecs + nachkomma(secs); 00288 } |
|
Definiert in Zeile 275 der Datei lftvideodialog.cpp. Benutzt zaehlwerk. Wird benutzt von vergangeneMinuten() und vergangeneSekunden().
00275 { 00276 double secs = StartLCDSekunden+StartLCDMinuten*60; 00277 // vergangene MILLIsekunden sind nur im laufenden Timer gespeichert 00278 if (SekundenTimer->isActive()) 00279 secs += ((double) zaehlwerk->elapsed()) / (double) 1000; 00280 return secs; 00281 } |
|
Definiert in Zeile 28 der Datei lftvideodialog.h. Wird benutzt von initNullSetzungen(), LFTVideoDialog(), openKonfigDialog() und ~LFTVideoDialog(). |
|
Definiert in Zeile 29 der Datei lftvideodialog.h. Wird benutzt von LFTVideoDialog() und vergangeneZeitInSekunden(). |