00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef RECOGNISERTESTPAD_H
00026 #define RECOGNISERTESTPAD_H
00027
00028
00029 #include "DigestGuiCore/guicomponentwidgets.h"
00030
00031 #include <QHash>
00032 #include <QMultiMap>
00033
00034 #include <jni.h>
00035
00036 #include "GestureRecognition/abstractrecogniser.h"
00037
00038 #include "ui_recognisertestpadform.h"
00039
00040 class DigestDbController;
00041 class SettingsController;
00042
00043
00044 class RecogniserTestPad : public GuiDbComponentDialog {
00045
00046 Q_OBJECT
00047
00048 public:
00049 RecogniserTestPad( DigestDbController* digestDbController,
00050 SettingsController* settingsController,
00051 JavaVM* jvm,
00052 QWidget* parent = 0, Qt::WindowFlags flags = 0 );
00053
00054
00055 private slots:
00056 void on_enableAllButton_clicked();
00057 void on_enableNoneButton_clicked();
00058 void on_recogniseButton_clicked();
00059 void on_clearButton_clicked();
00060
00061 void recognise( const StrokeList& strokes );
00062 void updateInfoText();
00063
00064
00065 protected:
00066 void showEvent( QShowEvent* event );
00067
00068 void resetEvent( VEvent* );
00069 void trainedRecogsEvent( VTrainedRecogsEvent* );
00070
00071
00072 private:
00073 void refreshTrainedRecogList();
00074 void initRecognisers();
00075 void setAllRecognisersCheckState( Qt::CheckState state );
00076
00077 QString trainedRecogRecordAsHtml( const DTrainedRecogRecord& record ) const;
00078
00079 QString recogResultsAsHtml
00080 ( const QMultiMap<QString,ClassProbabilities>& results ) const;
00081
00082 Ui::RecogniserTestPadForm m_ui;
00083 JavaVM* m_jvm;
00084
00085
00086
00087 QHash<AbstractRecogniser*, QString> m_recognisers;
00088 };
00089
00090
00091 #endif // ! RECOGNISERTESTPAD_H