00001 /********************************************************************** 00002 ** Copyright (C) 2000 Trolltech AS. All rights reserved. 00003 ** 00004 ** This file is part of Qtopia Environment. 00005 ** 00006 ** This file may be distributed and/or modified under the terms of the 00007 ** GNU General Public License version 2 as published by the Free Software 00008 ** Foundation and appearing in the file LICENSE.GPL included in the 00009 ** packaging of this file. 00010 ** 00011 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00012 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00013 ** 00014 ** See http://www.trolltech.com/gpl/ for GPL licensing information. 00015 ** 00016 ** Contact info@trolltech.com if any conditions of this licensing are 00017 ** not clear to you. 00018 ** 00019 **********************************************************************/ 00020 #include <qtabwidget.h> 00021 #include <qlist.h> 00022 #include "qimpenchar.h" 00023 #include "qimpenprofile.h" 00024 00025 class QListBox; 00026 class QLabel; 00027 class QComboBox; 00028 class QPushButton; 00029 class QTimer; 00030 class QIMPenWidget; 00031 class QIMPenMatch; 00032 00033 class HandwritingHelp : public QTabWidget 00034 { 00035 Q_OBJECT 00036 public: 00037 HandwritingHelp( QIMPenProfile *p, QWidget *parent=0, const char *name=0, WFlags f=0 ); 00038 00039 protected: 00040 virtual void showEvent( QShowEvent * ); 00041 virtual void hideEvent( QHideEvent * ); 00042 }; 00043 00044 class HandwritingTrainer : public QWidget 00045 { 00046 Q_OBJECT 00047 public: 00048 HandwritingTrainer( QIMPenProfile *p, QWidget *parent=0, const char *name=0 ); 00049 ~HandwritingTrainer(); 00050 00051 private slots: 00052 void selectChar( int ); 00053 void selectCharSet( int ); 00054 void noMatch(); 00055 void matched( const QIMPenCharMatchList &ml ); 00056 void prevChar(); 00057 void nextChar(); 00058 void redrawChar(); 00059 void beginStroke(); 00060 void strokeEntered( QIMPenStroke * ); 00061 00062 private: 00063 virtual void showEvent( QShowEvent * ); 00064 QString rateString( int rate ) const; 00065 void setCurrentChar( QIMPenChar *c ); 00066 void fillCharList(); 00067 QIMPenChar *findPrev(); 00068 QIMPenChar *findNext(); 00069 00070 private: 00071 QIMPenMatch *matcher; 00072 QIMPenCharSet *currentSet; 00073 QIMPenChar *currentChar; 00074 QIMPenProfile *profile; 00075 uint currentCode; 00076 QIMPenWidget *refPw; 00077 QIMPenWidget *pracPw; 00078 QComboBox *charSetCombo; 00079 QListBox *charList; 00080 QLabel *result; 00081 QPushButton *prevBtn; 00082 QPushButton *nextBtn; 00083 QTimer *redrawTimer; 00084 }; 00085
1.4.2