ktextedit.h
00001 /* This file is part of the KDE libraries 00002 Copyright (C) 2002 Carsten Pfeiffer <pfeiffer@kde.org> 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Library General Public 00006 License as published by the Free Software Foundation; either 00007 version 2 of the License, or (at your option) any later version. 00008 00009 This library is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 Library General Public License for more details. 00013 00014 You should have received a copy of the GNU Library General Public License 00015 along with this library; see the file COPYING.LIB. If not, write to 00016 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00017 Boston, MA 02110-1301, USA. 00018 */ 00019 00020 #ifndef KTEXTEDIT_H 00021 #define KTEXTEDIT_H 00022 00023 #include <tqtextedit.h> 00024 00025 #include <tdelibs_export.h> 00026 00027 class KSpell; 00028 00043 class TDEUI_EXPORT KTextEdit : public TQTextEdit 00044 { 00045 Q_OBJECT 00046 00047 public: 00052 KTextEdit( const TQString& text, 00053 const TQString& context = TQString::null, 00054 TQWidget * parent = 0, const char *name = 0 ); 00060 KTextEdit( TQWidget *parent = 0L, const char *name = 0 ); 00064 ~KTextEdit(); 00065 00069 virtual void setReadOnly (bool readOnly); 00070 00074 virtual void setPalette( const TQPalette& palette ); 00075 00085 void setCheckSpellingEnabled( bool check ); 00086 00095 bool checkSpellingEnabled() const; 00096 00097 void highLightWord( unsigned int length, unsigned int pos ); 00098 00099 00100 public slots: 00107 void checkSpelling(); 00108 00109 protected: 00113 virtual void keyPressEvent( TQKeyEvent * ); 00114 00119 virtual void focusInEvent( TQFocusEvent * ); 00120 00125 virtual void contentsWheelEvent( TQWheelEvent * ); 00126 00131 virtual void deleteWordBack(); 00132 00137 virtual void deleteWordForward(); 00138 00143 virtual TQPopupMenu *createPopupMenu( const TQPoint &pos ); 00144 00153 virtual TQPopupMenu *createPopupMenu(); 00154 00155 protected: 00156 virtual void virtual_hook( int id, void* data ); 00157 00158 private slots: 00159 void slotSpellCheckReady( KSpell *s ); 00160 void slotSpellCheckDone( const TQString &s ); 00161 void spellCheckerMisspelling( const TQString &text, const TQStringList &, unsigned int pos); 00162 void spellCheckerCorrected( const TQString &, const TQString &, unsigned int ); 00163 void spellCheckerFinished(); 00164 void toggleAutoSpellCheck(); 00165 void slotAllowTab(); 00166 00167 private: 00168 void posToRowCol( unsigned int pos, unsigned int &line, unsigned int &col ); 00169 00170 class KTextEditPrivate; 00171 KTextEditPrivate *d; 00172 }; 00173 00174 #endif // KTEXTEDIT_H