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

LFTVideoAnalyseDialog Klassenreferenz

#include <lftvideoanalysedialog.h>

Klassendiagramm für LFTVideoAnalyseDialog:

Inheritance graph
[Legende]
Zusammengehörigkeiten von LFTVideoAnalyseDialog:

Collaboration graph
[Legende]
Aufstellung aller Elemente

Öffentliche Slots

void DatenEinlesen ()
void DatensatzVerkuerzen ()
void AuswertungSpeichernV09 ()
void SpeichereAuswertung (QString dieEndung)
void DreiertabelleScrollen (int x, int y)

Öffentliche Methoden

 LFTVideoAnalyseDialog (QWidget *parent=0, const char *name=0, bool modal=FALSE, WFlags f=0)

Beschreibung der Konstruktoren und Destruktoren

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

Definiert in Zeile 8 der Datei lftvideoanalysedialog.cpp.

Benutzt DatenEinlesen(), DatensatzVerkuerzen(), DreiertabelleScrollen(), RatingSkalaKurz, RatingSkalaLang, LFTVideoAnalyseDialogBase::TabRatingSkala, LFTVideoAnalyseDialogBase::TabSum, LFTVideoAnalyseDialogBase::TabUew2, LFTVideoAnalyseDialogBase::TabUew2Prozent, LFTVideoAnalyseDialogBase::TabVerlauf, LFTVideoAnalyseDialogBase::TabVerlaufAlt und LFTVideoAnalyseDialogBase::TextLabelTitel.

00009         : LFTVideoAnalyseDialogBase( parent, name, modal, f )
00010 {
00011 
00012         TextLabelTitel->setText("LFT Video Analyse Tool (v0.96)");
00013 
00014         Verlauf=new RatingVerlauf();
00015         Auswertung=new VerlaufsAuswertung(); 
00016 
00017         // Spalten-Namen setzen
00018         TabSum->horizontalHeader()->setLabel(0,"Anzahl(#)");
00019         TabSum->horizontalHeader()->setLabel(1,"Anzahl(%)");
00020     TabSum->horizontalHeader()->setLabel(2,"TeilAnzahl(%)");
00021         TabSum->horizontalHeader()->setLabel(3,"UnterAnzahl(%)");
00022 
00023         TabSum->horizontalHeader()->setLabel(4,"Dauer(sec)");
00024         TabSum->horizontalHeader()->setLabel(5,"Dauer(%)");
00025         TabSum->horizontalHeader()->setLabel(6,"TeilDauer(%)");
00026         TabSum->horizontalHeader()->setLabel(7,"UnterDauer(%)");
00027 
00028         TabSum->setText(0,2," ");
00029         TabSum->item(0,2)->setSpan(3,1);
00030         TabSum->setText(3,2," ");
00031         TabSum->item(3,2)->setSpan(3,1);
00032 
00033         TabSum->setText(0,6," ");
00034         TabSum->item(0,6)->setSpan(3,1);
00035         TabSum->setText(3,6," ");
00036         TabSum->item(3,6)->setSpan(3,1);
00037                 
00038         // resizen der Spalten passiert nun nach Füllen...
00039         /*for (int i=0; i<=3; i++){
00040                 QFontMetrics FM(this->font());
00041                 QString temp=TabSum->horizontalHeader()->label(i);
00042                 int width=1.2*FM.boundingRect(temp).width();
00043                 TabSum->horizontalHeader()->resizeSection(i,width);
00044         }
00045         */
00046 
00047         connect((QObject*)(this->ButtonDatenEinlesen), SIGNAL(pressed()),
00048                 this, SLOT(DatenEinlesen()));
00049 
00050         connect((QObject*)(this->ButtonVerkuerze), SIGNAL(pressed()),
00051                 this, SLOT(DatensatzVerkuerzen()));
00052 
00053         //connect((QObject*)(this->ButtonSpeichern), SIGNAL(pressed()),
00054         //      this, SLOT(AuswertungSpeichernV09()));
00055 
00056         /*
00057         // etwas unsauber, 
00058         // aber ich baue das Übergangswahrscheinlichkeiten-Fenster einfach hier
00059         uewDialog =new QDialog ( this, "übergangswahrscheinlichkeiten", TRUE, (WFlags)0 );
00060         TabUew = new QTable( uewDialog, "TabUew" );
00061     TabUew->setGeometry( QRect( 10, 25, 580, 180 ) ); 
00062     TabUew->setProperty( "numRows", 7 );
00063     TabUew->setProperty( "numCols", 7 );
00064 
00065         buttonUewOK=new QPushButton (uewDialog , "ButtonOK");
00066     buttonUewOK->setProperty( "text", tr( "&OK" ) );
00067     buttonUewOK->setProperty( "autoDefault", QVariant( TRUE, 0 ) );
00068         connect((QObject*)(buttonUewOK), SIGNAL(pressed()),
00069                 uewDialog , SLOT(accept()));
00070 
00071     LayoutUew = new QVBoxLayout( uewDialog ); 
00072     LayoutUew->setSpacing( 6 );
00073     LayoutUew->setMargin( 0 );
00074         LayoutUew->addWidget( buttonUewOK );
00075         LayoutUew->addWidget( TabUew );
00076         */
00077 
00078         QString text;
00079         int i, k;
00080         for (i=1; i<=7; i++){
00081                 TabRatingSkala->setText(i-1,0,RatingSkalaKurz[i]);
00082                 TabRatingSkala->setText(i-1,1,RatingSkalaLang[i]);
00083                 for (k=1; k<=7; k++){
00084                         text="%1>%2"; text=text.arg(i).arg(k);
00085                         TabUew2->verticalHeader()->setLabel((k-1)*7 + i-1, text);
00086                         TabUew2Prozent->verticalHeader()->setLabel((k-1)*7 + i-1, text);
00087                 }
00088         }
00089         TabRatingSkala->adjustColumn(0);
00090         TabRatingSkala->adjustColumn(1);
00091 
00092         TabVerlauf->horizontalHeader()->setLabel(0,"Zeit");
00093         TabVerlauf->horizontalHeader()->setLabel(1,"Einsch_VorVorher");
00094         TabVerlauf->horizontalHeader()->setLabel(2,"Einsch_Vorher");
00095         TabVerlauf->horizontalHeader()->setLabel(3,"Einsch_Ende");
00096         TabVerlauf->horizontalHeader()->setLabel(4,"Dauer");
00097 
00098         TabVerlaufAlt->horizontalHeader()->setLabel(0,"Zeit");
00099         TabVerlaufAlt->horizontalHeader()->setLabel(1,"Einsch_VorVorher");
00100         TabVerlaufAlt->horizontalHeader()->setLabel(2,"Einsch_Vorher");
00101         TabVerlaufAlt->horizontalHeader()->setLabel(3,"Einsch_Ende");
00102         TabVerlaufAlt->horizontalHeader()->setLabel(4,"Dauer");
00103 
00104         connect((QObject*)(this->TabUew2Prozent), SIGNAL(contentsMoving ( int , int ) ),
00105                 this, SLOT(DreiertabelleScrollen ( int , int )));
00106 }


Dokumentation der Elementfunktionen

void LFTVideoAnalyseDialog::AuswertungSpeichernV09  )  [slot]
 

Definiert in Zeile 176 der Datei lftvideoanalysedialog.cpp.

Benutzt LFTVideoAnalyseDialogBase::AnzahlGesamt, LFTVideoAnalyseDialogBase::AnzahlKlient, LFTVideoAnalyseDialogBase::AnzahlTherapeut, LFTVideoAnalyseDialogBase::DauerGesamt, LFTVideoAnalyseDialogBase::DauerKlient, LFTVideoAnalyseDialogBase::DauerTherapeut, QStringSpeichern::gibFilename(), LFTVideoAnalyseDialogBase::Klient, QStringSpeichern::merkDirDaten(), LFTVideoAnalyseDialogBase::mittlereDauerGesamt, LFTVideoAnalyseDialogBase::mittlereDauerKlient, LFTVideoAnalyseDialogBase::mittlereDauerTherapeut, LFTVideoAnalyseDialogBase::Rater, DatenSpeichern::speichereDaten() und LFTVideoAnalyseDialogBase::TabSum.

00176                                                   {
00177         int r,c;
00178         QString temp;
00179 
00180         temp+=tr("%1\t").arg(DauerGesamt->text());
00181         temp+=tr("%1\t").arg(DauerTherapeut->text());
00182         temp+=tr("%1\n").arg(DauerKlient->text());
00183         temp+=tr("%1\t").arg(AnzahlGesamt->text());
00184         temp+=tr("%1\t").arg(AnzahlTherapeut->text());
00185         temp+=tr("%1\n").arg(AnzahlKlient->text());
00186         temp+=tr("%1\t").arg(mittlereDauerGesamt->text());
00187         temp+=tr("%1\t").arg(mittlereDauerTherapeut->text());
00188         temp+=tr("%1\n\n").arg(mittlereDauerKlient->text());
00189 
00190         for ( r=0; r<=6; r++){
00191                 temp+=tr("%1\t").arg(r+1);
00192                 for ( c=0; c<=7; c++){
00193                         temp+=TabSum->text(r,c);
00194                         temp+='\t';
00195                 }
00196                 temp+='\n';
00197         };
00198 
00199         QStringSpeichern* AuswertungsSpeicherer = new QStringSpeichern();
00200         AuswertungsSpeicherer->merkDirDaten(temp, "AuswertungV09");
00201         QString fname=AuswertungsSpeicherer->gibFilename(Klient->text(), Rater->text());
00202         AuswertungsSpeicherer->speichereDaten(fname, "AuswertungV09");
00203         delete AuswertungsSpeicherer ;
00204 }

void LFTVideoAnalyseDialog::DatenEinlesen  )  [slot]
 

Definiert in Zeile 112 der Datei lftvideoanalysedialog.cpp.

Benutzt LFTVideoAnalyseDialogBase::ButtonDatenEinlesen, VerlaufsAuswertung::DatenAnalysieren(), VerlaufsAuswertung::DatenAnzeigen(), LFTVideoAnalyseDialogBase::EinlesenInfoLabel, VerlaufSpeichern::gibFilename(), LFTVideoAnalyseDialogBase::Klient, DatenSpeichern::leseDaten(), LFTVideoAnalyseDialogBase::Rater, VerlaufSpeichern::setzePointerAufDaten() und SpeichereAuswertung().

Wird benutzt von LFTVideoAnalyseDialog().

00112                                          {
00113         if (Rater->text()=="" || Klient->text()=="") {
00114                 EinlesenInfoLabel->setText("Bitte zunächst Klientencode und Ratername eingeben.");
00115                 return; 
00116         } 
00117         EinlesenInfoLabel->setText("");
00118 
00119         Speicherer = new VerlaufSpeichern();
00120         QString dateiname=Speicherer->gibFilename(Klient->text(), Rater->text());
00121         Speicherer->setzePointerAufDaten(Verlauf);
00122 
00123         bool erfolgreich = Speicherer->leseDaten(dateiname,"Rating Verlauf");
00124         if (! erfolgreich) {
00125                 EinlesenInfoLabel->setText(tr("%1 konnte nicht eingelesen werden").arg(dateiname));
00126                 ButtonDatenEinlesen->setDown(false);
00127                 return;
00128         } else {
00129                 EinlesenInfoLabel
00130                         ->setText(tr("%1 wurde erfolgreich eingelesen und die Auswertung gespeichert.").arg(dateiname));
00131         }
00132 
00133         delete Speicherer;
00134 
00135         Auswertung->DatenAnalysieren(Verlauf);
00136         Auswertung->DatenAnzeigen(this);
00137 
00138         SpeichereAuswertung("Auswertung");      
00139 }

void LFTVideoAnalyseDialog::DatensatzVerkuerzen  )  [slot]
 

Definiert in Zeile 141 der Datei lftvideoanalysedialog.cpp.

Benutzt VerlaufsAuswertung::DatenAnalysieren(), VerlaufsAuswertung::DatenAnzeigen(), SpeichereAuswertung(), LFTVideoAnalyseDialogBase::TabVerlauf, LFTVideoAnalyseDialogBase::TabVerlaufAlt, LFTVideoAnalyseDialogBase::VerkuerzenInfoLabel und RatingVerlauf::verkuerzeUmAufeinanderfolgendGleiche().

Wird benutzt von LFTVideoAnalyseDialog().

00141                                                {
00142 
00143         //QString temp=Verlauf
00144         //   ->printGesamtenRatingVerlauf (MinSec(0,0), Verlauf->BisherLetzterMoment());
00145         //qDebug(temp);
00146 
00147         // alte Version in untere Verlaufstabelle kopieren:
00148         //TabVerlaufAlt=TabVerlauf;
00149         int numRows=TabVerlauf->numRows();
00150         int numCols=TabVerlauf->numCols();
00151         TabVerlaufAlt->setNumRows(numRows);
00152         TabVerlaufAlt->setNumCols(numCols);
00153         int i, j;
00154         for (i=0; i<numRows; i++){
00155                 for (j=0; j<numCols; j++){
00156                         TabVerlaufAlt->setText(i,j, TabVerlauf->text(i,j) );
00157                 }
00158         }
00159         
00160         long umWieviel=Verlauf->verkuerzeUmAufeinanderfolgendGleiche();
00161         VerkuerzenInfoLabel->
00162                 setText(tr("Datensatz wurde um %1 Sinneinheiten verkürzt "
00163                            "und die neue Auswertung(verkuerzt) gespeichert.").arg(umWieviel));
00164 
00165         Auswertung->DatenAnalysieren(Verlauf);
00166         Auswertung->DatenAnzeigen(this);
00167 
00168         SpeichereAuswertung("Auswertung(verkuerzt)");
00169 
00170         //temp=Verlauf->
00171         //       printGesamtenRatingVerlauf (MinSec(0,0), Verlauf->BisherLetzterMoment());
00172         //qDebug(temp);
00173 
00174 }

void LFTVideoAnalyseDialog::DreiertabelleScrollen int  x,
int  y
[slot]
 

Definiert in Zeile 108 der Datei lftvideoanalysedialog.cpp.

Benutzt LFTVideoAnalyseDialogBase::TabUew2.

Wird benutzt von LFTVideoAnalyseDialog().

00108                                                              {
00109         TabUew2->setContentsPos(x,y);
00110 }

void LFTVideoAnalyseDialog::SpeichereAuswertung QString  dieEndung  )  [slot]
 

Definiert in Zeile 207 der Datei lftvideoanalysedialog.cpp.

Benutzt QStringSpeichern::gibFilename(), AuswertungSpeichern::gibFilename(), LFTVideoAnalyseDialogBase::Klient, QStringSpeichern::merkDirDaten(), AuswertungSpeichern::merkDirDaten(), LFTVideoAnalyseDialogBase::Rater, DatenSpeichern::speichereDaten(), VerlaufsAuswertung::uew und VerlaufsAuswertung::uew2.

Wird benutzt von DatenEinlesen() und DatensatzVerkuerzen().

00207                                                                 {
00208 
00209         // Auswertung aggregierte Daten
00210         AuswertungSpeichern* AuswSpeicherer;
00211         AuswSpeicherer= new AuswertungSpeichern();
00212         AuswSpeicherer->merkDirDaten(Auswertung, dieEndung);
00213 
00214         QString fname=AuswSpeicherer->gibFilename(Klient->text(), Rater->text());
00215         AuswSpeicherer->speichereDaten(fname, dieEndung);
00216         delete AuswSpeicherer;
00217 
00218 
00219         // Übergangswahrscheinlichkeiten
00220         QString temp, uebergaenge="";
00221         QString id=Klient->text() + '\t' + Rater->text() + '\t';
00222         int i, j;
00223 
00224         for (i=1; i<=7; i++){
00225                 for (j=1; j<=7; j++){
00226                         temp="%1"; temp=temp.arg(Auswertung->uew[i][j]);
00227                         uebergaenge += temp + '\t';
00228                 }
00229                 temp="%1"; temp=temp.arg(i);
00230                 uebergaenge += id + temp + '\n';
00231         }
00232 
00233         QStringSpeichern* UeWSpeicherer;  
00234         UeWSpeicherer= new QStringSpeichern();
00235         UeWSpeicherer->merkDirDaten(uebergaenge, dieEndung+"_UeW");
00236 
00237         fname=UeWSpeicherer->gibFilename(Klient->text(), Rater->text());
00238         UeWSpeicherer->speichereDaten(fname, dieEndung);
00239         delete UeWSpeicherer;
00240 
00241         // Übergangswahrscheinlichkeiten2 für Dreier-Übergänge
00242         uebergaenge="";
00243         int k;
00244         for (i=1; i<=7; i++){
00245                 for (j=1; j<=7; j++){
00246                         for (k=1; k<=7; k++){
00247                                 //                              warum j i k, nicht i j k?
00248                                 temp="%1"; temp=temp.arg(Auswertung->uew2[j][i][k]); 
00249                                 uebergaenge += temp + '\t';
00250                         }
00251                         temp="%1\t%2"; temp=temp.arg(j).arg(i);
00252                         uebergaenge += id + temp + '\n';
00253                 }
00254         }
00255 
00256         QStringSpeichern* UeW2Speicherer;  
00257         UeW2Speicherer= new QStringSpeichern();
00258         UeW2Speicherer->merkDirDaten(uebergaenge, dieEndung+"_UeW2");
00259 
00260         fname=UeW2Speicherer->gibFilename(Klient->text(), Rater->text());
00261         UeW2Speicherer->speichereDaten(fname, dieEndung);
00262         delete UeW2Speicherer;
00263 
00264 }


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