diff options
Diffstat (limited to 'kutils/kreplacedialog.h')
-rw-r--r-- | kutils/kreplacedialog.h | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/kutils/kreplacedialog.h b/kutils/kreplacedialog.h new file mode 100644 index 000000000..459c0c5ae --- /dev/null +++ b/kutils/kreplacedialog.h @@ -0,0 +1,160 @@ +/* + Copyright (C) 2001, S.R.Haque <srhaque@iee.org>. + Copyright (C) 2002, David Faure <david@mandrakesoft.com> + This file is part of the KDE project + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License version 2, as published by the Free Software Foundation. + + 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 KREPLACEDIALOG_H +#define KREPLACEDIALOG_H + +#include "kfinddialog.h" + +class KHistoryCombo; +class QCheckBox; +class QGroupBox; +class QLabel; +class QPopupMenu; +class QPushButton; +class QRect; + +/** + * @ingroup main + * @ingroup findreplace + * @short A generic "replace" dialog. + * + * @author S.R.Haque <srhaque@iee.org> + * + * \b Detail: + * + * This widget inherits from KFindDialog and implements + * the following additional functionalities: a replacement string + * object and an area for a user-defined widget to extend the dialog. + * + * \b Example: + * + * To use the basic replace dialog: + * + * \code + * \endcode + * + * To use your own extensions: + * + * \code + * \endcode + */ +class KUTILS_EXPORT KReplaceDialog: + public KFindDialog +{ + Q_OBJECT + +public: + + /** + * Options. + */ + enum Options + { + PromptOnReplace = 256, ///< Should the user be prompted before the replace operation? + BackReference = 512 + }; + + /** + * Construct a replace dialog.read-only or rather select-only combo box with a + * parent object and a name. + * + * @param parent The parent object of this widget + * @param name The name of this widget + * @param options A bitfield of the Options to be enabled. + * @param findStrings A QStringList to insert in the combo box of text to find + * @param replaceStrings A QStringList to insert in the combo box of text to + * replace with + * @param hasSelection Whether a selection exists + */ + KReplaceDialog( QWidget *parent = 0, const char *name = 0, long options = 0, + const QStringList &findStrings = QStringList(), + const QStringList &replaceStrings = QStringList(), + bool hasSelection = true ); + + /** + * Destructor. + */ + virtual ~KReplaceDialog(); + + /** + * Provide the list of @p strings to be displayed as the history + * of replacement strings. @p strings might get truncated if it is + * too long. + * + * @param history The replacement history. + * @see replacementHistory + */ + void setReplacementHistory( const QStringList &history ); + + /** + * Returns the list of history items. + * + * @return The replacement history. + * @see setReplacementHistory + */ + QStringList replacementHistory() const; + + /** + * Set the options which are enabled. + * + * @param options The setting of the Options. + * @see Options, KFindDialog::Options + */ + void setOptions( long options ); + + /** + * Returns the state of the options. Disabled options may be returned in + * an indeterminate state. + * + * @return The options. + * @see setOptions, Options, KFindDialog::Options + */ + long options() const; + + /** + * Returns the replacement string. + * @return The replacement string. + */ + QString replacement() const; + + /** + * Returns an empty widget which the user may fill with additional UI + * elements as required. The widget occupies the width of the dialog, + * and is positioned immediately the regular expression support widgets + * for the replacement string. + * @return An extensible QWidget. + */ + QWidget *replaceExtension(); + +protected slots: + + void slotOk(); + virtual void showEvent ( QShowEvent * ); + +private: + + // Binary compatible extensibility. + class KReplaceDialogPrivate; + KReplaceDialogPrivate *d; +}; + + +#endif // KREPLACEDIALOG_H |