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 <qtextedit.h>
00024 
00025 #include <kdelibs_export.h>
00026 
00027 class KSpell;
00028 
00043 class KDEUI_EXPORT KTextEdit : public QTextEdit
00044 {
00045     Q_OBJECT
00046 
00047 public:
00052     KTextEdit( const QString& text,
00053                const QString& context = QString::null,
00054                QWidget * parent = 0, const char *name = 0 );
00060     KTextEdit( QWidget *parent = 0L, const char *name = 0 );
00064     ~KTextEdit();
00065 
00069     virtual void setReadOnly (bool readOnly);
00070 
00074     virtual void setPalette( const QPalette& 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( QKeyEvent * );
00114 
00119     virtual void focusInEvent( QFocusEvent * );
00120 
00125     virtual void contentsWheelEvent( QWheelEvent * );
00126 
00131     virtual void deleteWordBack();
00132 
00137     virtual void deleteWordForward();
00138 
00143     virtual QPopupMenu *createPopupMenu( const QPoint &pos );
00144 
00153     virtual QPopupMenu *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 QString &s );
00161     void spellCheckerMisspelling( const QString &text, const QStringList &, unsigned int pos);
00162     void spellCheckerCorrected( const QString &, const QString &, 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
KDE Home | KDE Accessibility Home | Description of Access Keys