Hauptseite | Klassenhierarchie | Alphabetische Liste | Übersicht | Auflistung der Dateien | Datenstruktur-Elemente | Datei-Elemente

LFTVideoDialog Klassenreferenz

#include <lftvideodialog.h>

Klassendiagramm für LFTVideoDialog:

Inheritance graph
[Legende]
Zusammengehörigkeiten von LFTVideoDialog:

Collaboration graph
[Legende]
Aufstellung aller Elemente

Ö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

SitzungsKonfigurationDialogKonfigDialog
QTime * zaehlwerk

Beschreibung der Konstruktoren und Destruktoren

LFTVideoDialog::LFTVideoDialog QWidget *  parent = 0,
const char *  name = 0,
bool  modal = FALSE,
WFlags  f = 0
 

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 };

LFTVideoDialog::~LFTVideoDialog  ) 
 

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 }


Dokumentation der Elementfunktionen

void LFTVideoDialog::initNullSetzungen  ) 
 

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 }

void LFTVideoDialog::openKonfigDialog  )  [slot]
 

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 };

int LFTVideoDialog::vergangeneMinuten  ) 
 

Definiert in Zeile 290 der Datei lftvideodialog.cpp.

Benutzt vergangeneZeitInSekunden().

00290                                      {
00291         int mins=vergangeneZeitInSekunden()/60;
00292         return mins;
00293 }

double LFTVideoDialog::vergangeneSekunden  ) 
 

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 }

double LFTVideoDialog::vergangeneZeitInSekunden  ) 
 

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 }


Dokumentation der Datenelemente

SitzungsKonfigurationDialog* LFTVideoDialog::KonfigDialog
 

Definiert in Zeile 28 der Datei lftvideodialog.h.

Wird benutzt von initNullSetzungen(), LFTVideoDialog(), openKonfigDialog() und ~LFTVideoDialog().

QTime* LFTVideoDialog::zaehlwerk
 

Definiert in Zeile 29 der Datei lftvideodialog.h.

Wird benutzt von LFTVideoDialog() und vergangeneZeitInSekunden().


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien:
Erzeugt am Mon Jun 16 18:08:40 2003 für LFTVideo von doxygen 1.3.2