keditcl.h
/* This file is part of the KDE libraries
Copyright (C) 1996 Bernd Johannes Wuebben <wuebben@math.cornell.edu>
Copyright (C) 2000 Waldo Bastian <bastian@kde.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#ifndef __KEDITCL_H__
#define __KEDITCL_H__
#include <qmultilineedit.h>
#include <qstring.h>
#include <kdialogbase.h>
class QDropEvent;
class QPushButton;
class QCheckBox;
class QRadioButton;
class QTextStream;
class KHistoryCombo;
class KIntNumInput;
class QVButtonGroup;
class KDEUI_EXPORT KEdGotoLine : public KDialogBase
{
Q_OBJECT
public:
KEdGotoLine( QWidget *parent=0, const char *name=0, bool modal=true );
int getLineNumber();
public slots:
void selected( int );
private:
KIntNumInput *lineNum;
protected:
virtual void virtual_hook( int id, void* data );
private:
class KEdGotoLinePrivate;
KEdGotoLinePrivate *d;
};
class KDEUI_EXPORT KEdFind : public KDialogBase
{
Q_OBJECT
Q_PROPERTY( QString text READ getText WRITE setText )
Q_PROPERTY( bool caseSensitivity READ case_sensitive WRITE setCaseSensitive )
Q_PROPERTY( bool direction READ get_direction WRITE setDirection )
public:
KEdFind( QWidget *parent = 0, const char *name=0, bool modal=true);
~KEdFind();
QString getText() const;
void setText(QString string);
void setCaseSensitive( bool b );
bool case_sensitive() const;
void setDirection( bool b );
bool get_direction() const;
KHistoryCombo *searchCombo() const;
protected slots:
void slotCancel( void );
void slotUser1( void );
void textSearchChanged ( const QString & );
protected:
QVButtonGroup* group;
private:
QCheckBox *sensitive;
QCheckBox *direction;
virtual void done(int i ) { KDialogBase::done(i); }
signals:
void search();
void done();
protected:
virtual void virtual_hook( int id, void* data );
private:
class KEdFindPrivate;
KEdFindPrivate *d;
};
class KDEUI_EXPORT KEdReplace : public KDialogBase
{
Q_OBJECT
public:
KEdReplace ( QWidget *parent = 0, const char *name=0, bool modal=true );
~KEdReplace();
QString getText();
QString getReplaceText();
void setText(QString);
KHistoryCombo *searchCombo() const;
KHistoryCombo *replaceCombo() const;
bool case_sensitive();
bool get_direction();
protected slots:
void slotCancel( void );
void slotClose( void );
void slotUser1( void );
void slotUser2( void );
void slotUser3( void );
void textSearchChanged ( const QString & );
private:
QCheckBox *sensitive;
QCheckBox *direction;
virtual void done(int i ) { KDialogBase::done(i); }
signals:
void replace();
void find();
void replaceAll();
void done();
protected:
virtual void virtual_hook( int id, void* data );
private:
class KEdReplacePrivate;
KEdReplacePrivate *d;
};
class KDEUI_EXPORT_DEPRECATED KEdit : public QMultiLineEdit
{
Q_OBJECT
public:
KEdit (QWidget *_parent=NULL, const char *name=NULL);
~KEdit();
enum { NONE,
FORWARD,
BACKWARD };
void insertText(QTextStream *);
void saveText(QTextStream *, bool softWrap);
void saveText(QTextStream *); // KDE 4.0: remove
void selectFont();
void search();
bool repeatSearch();
void replace();
void doGotoLine();
void cleanWhiteSpace();
void installRBPopup( QPopupMenu* );
int currentLine();
int currentColumn();
void spellcheck_start();
void spellcheck_stop();
void setOverwriteEnabled(bool b);
QString selectWordUnderCursor();
QPopupMenu *createPopupMenu( const QPoint& pos );
void setAutoUpdate(bool b);
signals:
void gotUrlDrop(QDropEvent* e);
void CursorPositionChanged();
void toggle_overwrite_signal();
public slots:
void corrected (const QString &originalword, const QString &newword, unsigned int pos);
void misspelling (const QString &word, const QStringList &, unsigned int pos);
private slots:
void search_slot();
void searchdone_slot();
void replace_slot();
void replace_all_slot();
void replace_search_slot();
void replacedone_slot();
void slotCursorPositionChanged();
protected:
void computePosition();
int doSearch(QString s_pattern, bool case_sensitive,
bool regex, bool forward,int line, int col);
int doReplace(QString s_pattern, bool case_sensitive,
bool regex, bool forward,int line, int col,bool replace);
void posToRowCol(unsigned int pos, unsigned int &line, unsigned int &col);
virtual void create( WId = 0, bool initializeWindow = true,
bool destroyOldWindow = true );
virtual void ensureCursorVisible();
virtual void setCursor( const QCursor & );
virtual void viewportPaintEvent( QPaintEvent* );
protected:
void keyPressEvent ( QKeyEvent * );
// DnD interface
void dragMoveEvent(QDragMoveEvent* e);
void dragEnterEvent(QDragEnterEvent* e);
void dropEvent(QDropEvent* e);
void contentsDragMoveEvent(QDragMoveEvent* e);
void contentsDragEnterEvent(QDragEnterEvent* e);
void contentsDropEvent(QDropEvent* e);
private:
QTimer* repaintTimer;
QString killbufferstring;
QWidget *parent;
KEdFind *srchdialog;
KEdReplace *replace_dialog;
KEdGotoLine *gotodialog;
QString pattern;
bool can_replace;
bool killing;
bool killtrue;
bool lastwasanewline;
bool saved_readonlystate;
int last_search;
int last_replace;
int replace_all_line;
int replace_all_col;
int line_pos, col_pos;
bool fill_column_is_set;
bool word_wrap_is_set;
int fill_column_value;
protected:
virtual void virtual_hook( int id, void* data );
private:
class KEditPrivate;
KEditPrivate *d;
};
#endif
KDialogBase
A dialog base class with standard buttons and predefined layouts.
Definition: kdialogbase.h:191
KEdit
A simple text editor for the KDE project.
Definition: keditcl.h:171
KStdAccel::replace
const KShortcut & replace()
KDialogBase::slotUser1
virtual void slotUser1()
Activated when the User1 button has been clicked.
Definition: kdialogbase.cpp:1195
KDialogBase::slotCancel
virtual void slotCancel()
Activated when the Cancel button has been clicked.
Definition: kdialogbase.cpp:1215
KDialogBase::slotClose
virtual void slotClose()
Activated when the Close button has been clicked.
Definition: kdialogbase.cpp:1222
KDialogBase::slotUser3
virtual void slotUser3()
Activated when the User3 button has been clicked.
Definition: kdialogbase.cpp:1183
KHistoryCombo
A combobox for offering a history and completion.
Definition: kcombobox.h:533
KDialogBase::slotUser2
virtual void slotUser2()
Activated when the User2 button has been clicked.
Definition: kdialogbase.cpp:1189
KStdAccel::find
const KShortcut & find()
KIntNumInput
An input widget for integer numbers, consisting of a spinbox and a slider.
Definition: knuminput.h:187

KDE Home | KDE Accessibility Home | Description of Access Keys