00001 /* GUIMainImpl.h - implementation of the GUI 00002 * $Id: GUIMainImpl.h,v 1.41 2003/02/14 14:58:44 nowozin Exp $ 00003 * 00004 * Copyright (C) 2003 -- Sebastian Nowozin, Marco Kunze 00005 * 00006 * Implementation of all GUI-Methods. 00007 */ 00008 00009 #ifndef GUIMAINIMPL_H 00010 #define GUIMAINIMPL_H 00011 00012 #include <qobject.h> 00013 #include <qtimer.h> 00014 #include <qprogressdialog.h> 00015 00016 #include <vector> 00017 00018 #include <gui/GUIMain.h> 00019 #include <gui/AboutForm.h> 00020 #include <vowel/VowelSample.h> 00021 #include <vowel/VowelClassifier.h> 00022 00029 class GUIMainImpl : public YAVA 00030 { 00031 Q_OBJECT 00032 00033 public: 00034 00037 GUIMainImpl (QWidget *parent=0, const char *name=0); 00038 00039 /* Methods called by the MenuBar 00040 */ 00041 00045 void openAboutForm(); 00046 00047 /* Methods called by the Audio-Tab 00048 */ 00049 00056 void AudioDirViewFolderSelected(QString * file); 00057 00060 void AudioClassifySamplePressed (void); 00061 00065 void AudioRecordPressed(); 00066 00069 void AudioRecordFileSelectPressed(); 00070 00073 void AudioPlayPressed(); 00074 00080 void AudioProcessingInterleavingChanged(int interleaving); 00081 00087 void AudioProcessingFactorChanged(int factor); 00088 00094 void AudioNumberOfWindowsChanged(int nowindows); 00095 00096 /* Methods called by the SetManager-Tab 00097 */ 00098 00101 void SetManagerTrainingSetNewSetPressed(); 00102 00105 void SetManagerTrainingSetLoadSet(); 00106 00109 void SetManagerTrainingSetSaveSetPressed(); 00110 00115 void SetManagerTrainingSetNameChanged( const QString& setname); 00116 00119 void SetManagerAddToTrainingPressed(); 00120 00123 void SetManagerRemoveFromTrainingPressed(); 00124 00127 void SetManagerMoveFromTrainingToTestingPressed(); 00128 00131 void SetManagerTestingSetNewSetPressed(); 00132 00135 void SetManagerTestingSetLoadSet(); 00136 00139 void SetManagerTestingSetSaveSetPressed(); 00140 00145 void SetManagerTestingSetNameChanged( const QString& setname); 00146 00149 void SetManagerAddToTestPressed(); 00150 00153 void SetManagerRemoveFromTestPressed(); 00154 00157 void SetManagerMoveFromTestingToTrainingPressed(); 00158 00159 /* Methods used by the NeuralNet-Tab 00160 */ 00164 void NeuralNetGenerateSystemPressed (void); 00165 00169 void NeuralNetLoadSystemPressed(); 00170 00174 void NeuralNetSaveSystemPressed(); 00175 00181 void NeuralNetNetwork0NumberOfLayersChanged( int layers); 00182 00188 void NeuralNetNetwork0ChangeLayerChanged( int layer); 00189 00194 void NeuralNetNetwork0NumberOfNeuronsChanged( int neurons); 00195 00201 void NeuralNetNetwork1NumberOfLayersChanged( int layers); 00202 00208 void NeuralNetNetwork1ChangeLayerChanged( int layer); 00209 00214 void NeuralNetNetwork1NumberOfNeuronsChanged( int neurons); 00215 00221 void NeuralNetNetwork2NumberOfLayersChanged( int layers); 00222 00228 void NeuralNetNetwork2ChangeLayerChanged( int layer); 00229 00234 void NeuralNetNetwork2NumberOfNeuronsChanged( int neurons); 00235 00236 /* Methods used by the LearnSettings-Tab 00237 */ 00238 00241 void startLearningPressed (void); 00242 00246 void initializeOutputWidgetsClassify (void); 00247 00250 void initializeOutputWidgetsLearning (void); 00251 00252 /* Methods used by the Output-Tab 00253 */ 00256 void OutputDisplayWeightMatrix (void); 00257 00263 void displayClassification (const VowelClassification& vclass); 00264 00267 void displayWeightMatrix (void); 00268 00273 void OutputMatrixLayer1SetValue(int value); 00274 00279 void OutputMatrixLayer0SetValue(int value); 00280 00284 void setOutputLayerSelectorMaximum(); 00285 00286 private slots: 00290 void learnEpoch (void); 00291 00292 private: 00299 double getMaximum (const vector<double>& val) const; 00300 00303 void setLearnResultPercentage (void); 00304 00310 void updateAudioSettingsChanged (void); 00311 00316 void reloadSets (void); 00317 00322 static void reloadSetsProgressHandler (void *user); 00323 00327 VowelSample * VowelSampleDisplayed; 00328 00332 vector<unsigned int> initnet[3]; 00333 00336 unsigned int learn_epochs; /* number of epochs to learn */ 00337 00341 char ostr_all_train[64], 00342 ostr_net0_train[64], 00343 ostr_net1_train[64], 00344 ostr_net2_train[64], 00345 ostr_all_test[64], 00346 ostr_net0_test[64], 00347 ostr_net1_test[64], 00348 ostr_net2_test[64]; 00349 00352 bool audio_settings_changed; 00353 00358 unsigned int reload_count; 00359 00363 QProgressDialog * reimport_progress; 00364 }; 00365 00366 #endif