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 00021 #include <qdialog.h> 00022 #include <qlist.h> 00023 #include "qimpenprofile.h" 00024 00025 class QListBox; 00026 class QPushButton; 00027 class QComboBox; 00028 class QIMPenWidget; 00029 class QIMPenEdit; 00030 class QIMPenPrefBase; 00031 00032 class QIMPenSetup : public QDialog 00033 { 00034 Q_OBJECT 00035 public: 00036 QIMPenSetup( QIMPenProfile *p, QWidget *parent=0, 00037 const char *name=0, bool modal=FALSE, int WFlags=0 ); 00038 00039 QIMPenEdit *editor() { return edit; } 00040 00041 protected: 00042 void loadProfiles(); 00043 virtual void accept(); 00044 00045 private slots: 00046 void styleClicked( int ); 00047 void multiTimeoutChanged( int ); 00048 void selectProfile( const QString &p ); 00049 00050 private: 00051 QComboBox *profileCombo; 00052 QIMPenEdit *edit; 00053 QIMPenPrefBase *pref; 00054 int style; 00055 int multiTimeout; 00056 QIMPenProfile *profile; 00057 QList<QIMPenProfile> profileList; 00058 }; 00059 00060 class QIMPenInputCharDlg : public QDialog 00061 { 00062 Q_OBJECT 00063 public: 00064 QIMPenInputCharDlg( QWidget *parent = 0, const char *name = 0, 00065 bool modal = FALSE, int WFlags = 0 ); 00066 00067 unsigned int unicode() const { return uni; } 00068 00069 protected: 00070 void addSpecial( QComboBox *cb ); 00071 00072 protected slots: 00073 void setSpecial( int sp ); 00074 void setCharacter( const QString &string ); 00075 00076 protected: 00077 uint uni; 00078 }; 00079 00080 class QIMPenEdit : public QWidget 00081 { 00082 Q_OBJECT 00083 public: 00084 QIMPenEdit( QIMPenProfile *p, QWidget *parent=0, 00085 const char *name=0 ); 00086 00087 void setProfile( QIMPenProfile *p ); 00088 void selectCharSet( QIMPenCharSet *c ); 00089 00090 protected: 00091 void fillCharList(); 00092 void enableButtons(); 00093 QIMPenChar *findPrev(); 00094 QIMPenChar *findNext(); 00095 void setCurrentChar( QIMPenChar * ); 00096 00097 protected slots: 00098 void prevChar(); 00099 void nextChar(); 00100 void clearChar(); 00101 void selectChar( int ); 00102 void selectCharSet( int ); 00103 void selectCharSetVisible( int ); 00104 void addChar(); 00105 void addNewChar(); 00106 void removeChar(); 00107 void defaultChars(); 00108 void newStroke( QIMPenStroke * ); 00109 00110 protected: 00111 QIMPenWidget *pw; 00112 QComboBox *charSetCombo; 00113 QListBox *charList; 00114 QPushButton *newBtn; 00115 QPushButton *addBtn; 00116 QPushButton *removeBtn; 00117 QPushButton *prevBtn; 00118 QPushButton *nextBtn; 00119 uint currentCode; 00120 QIMPenChar *currentChar; 00121 QIMPenChar *inputChar; 00122 QIMPenCharSet *currentSet; 00123 QIMPenProfile *profile; 00124 }; 00125
1.4.2