//Auto-generated by kalyptus. DO NOT EDIT.
namespace Kimono {
    using System;
    using Qyoto;
    using System.Collections.Generic;
    /// <remarks>
    ///  <b></b>etail:
    ///  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></b>xample:
    ///  To use the basic replace dialog:
    ///  <pre>
    ///  </pre>
    ///  To use your own extensions:
    ///  <pre>
    ///  </pre>
    ///  </remarks>        <author> S.R.Haque <srhaque@iee.org>
    /// </author>
    ///         <short> A generic "replace" dialog. </short>
    [SmokeClass("KReplaceDialog")]
    public class KReplaceDialog : KFindDialog, IDisposable {
        protected KReplaceDialog(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(KReplaceDialog), this);
        }
        public enum Options {
            PromptOnReplace = 256,
            BackReference = 512,
        }
        /// <remarks>
        ///  Construct a replace dialog.read-only or rather select-only combo box with a
        ///  parent object and a name.
        /// <param> name="parent" The parent object of this widget
        /// </param><param> name="options" A bitfield of the Options to be enabled.
        /// </param><param> name="findStrings" A List<string> to insert in the combo box of text to find
        /// </param><param> name="replaceStrings" A List<string> to insert in the combo box of text to
        ///         replace with
        /// </param><param> name="hasSelection" Whether a selection exists
        ///      </param></remarks>        <short>    Construct a replace dialog.</short>
        public KReplaceDialog(QWidget parent, long options, List<string> findStrings, List<string> replaceStrings, bool hasSelection) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("KReplaceDialog#$??$", "KReplaceDialog(QWidget*, long, const QStringList&, const QStringList&, bool)", typeof(void), typeof(QWidget), parent, typeof(long), options, typeof(List<string>), findStrings, typeof(List<string>), replaceStrings, typeof(bool), hasSelection);
        }
        public KReplaceDialog(QWidget parent, long options, List<string> findStrings, List<string> replaceStrings) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("KReplaceDialog#$??", "KReplaceDialog(QWidget*, long, const QStringList&, const QStringList&)", typeof(void), typeof(QWidget), parent, typeof(long), options, typeof(List<string>), findStrings, typeof(List<string>), replaceStrings);
        }
        public KReplaceDialog(QWidget parent, long options, List<string> findStrings) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("KReplaceDialog#$?", "KReplaceDialog(QWidget*, long, const QStringList&)", typeof(void), typeof(QWidget), parent, typeof(long), options, typeof(List<string>), findStrings);
        }
        public KReplaceDialog(QWidget parent, long options) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("KReplaceDialog#$", "KReplaceDialog(QWidget*, long)", typeof(void), typeof(QWidget), parent, typeof(long), options);
        }
        public KReplaceDialog(QWidget parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("KReplaceDialog#", "KReplaceDialog(QWidget*)", typeof(void), typeof(QWidget), parent);
        }
        public KReplaceDialog() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("KReplaceDialog", "KReplaceDialog()", typeof(void));
        }
        /// <remarks>
        ///  Provide the list of <code>strings</code> to be displayed as the history
        ///  of replacement strings. <code>strings</code> might get truncated if it is
        ///  too long.
        /// <param> name="history" The replacement history.
        /// </param></remarks>        <short>    Provide the list of <code>strings</code> to be displayed as the history  of replacement strings.</short>
        ///         <see> replacementHistory</see>
        public void SetReplacementHistory(List<string> history) {
            interceptor.Invoke("setReplacementHistory?", "setReplacementHistory(const QStringList&)", typeof(void), typeof(List<string>), history);
        }
        /// <remarks>
        ///  Returns the list of history items.
        /// </remarks>        <short>    Returns the list of history items.</short>
        ///         <see> setReplacementHistory</see>
        public List<string> ReplacementHistory() {
            return (List<string>) interceptor.Invoke("replacementHistory", "replacementHistory() const", typeof(List<string>));
        }
        /// <remarks>
        ///  Set the options which are enabled.
        /// <param> name="options" The setting of the Options.
        ///      </param></remarks>        <short>    Set the options which are enabled.</short>
        public new void SetOptions(long options) {
            interceptor.Invoke("setOptions$", "setOptions(long)", typeof(void), typeof(long), options);
        }
        /// <remarks>
        ///  Returns the state of the options. Disabled options may be returned in
        ///  an indeterminate state.
        /// </remarks>        <short>    Returns the state of the options.</short>
        ///         <see> setOptions</see>
        public new long options() {
            return (long) interceptor.Invoke("options", "options() const", typeof(long));
        }
        /// <remarks>
        ///  Returns the replacement string.
        ///      </remarks>        <short>    Returns the replacement string.</short>
        public string Replacement() {
            return (string) interceptor.Invoke("replacement", "replacement() const", typeof(string));
        }
        /// <remarks>
        ///  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.
        ///      </remarks>        <short>    Returns an empty widget which the user may fill with additional UI  elements as required.</short>
        public QWidget ReplaceExtension() {
            return (QWidget) interceptor.Invoke("replaceExtension", "replaceExtension() const", typeof(QWidget));
        }
        [SmokeMethod("showEvent(QShowEvent*)")]
        protected override void ShowEvent(QShowEvent arg1) {
            interceptor.Invoke("showEvent#", "showEvent(QShowEvent*)", typeof(void), typeof(QShowEvent), arg1);
        }
        ~KReplaceDialog() {
            interceptor.Invoke("~KReplaceDialog", "~KReplaceDialog()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~KReplaceDialog", "~KReplaceDialog()", typeof(void));
        }
        protected new IKReplaceDialogSignals Emit {
            get { return (IKReplaceDialogSignals) Q_EMIT; }
        }
    }

    public interface IKReplaceDialogSignals : IKFindDialogSignals {
    }
}
