summaryrefslogtreecommitdiffstats
path: root/kutils/kreplacedialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'kutils/kreplacedialog.h')
-rw-r--r--kutils/kreplacedialog.h160
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