//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    [SmokeClass("QUndoCommand")]
    public class QUndoCommand : Object, IDisposable {
        protected SmokeInvocation interceptor = null;
        private IntPtr smokeObject;
        protected QUndoCommand(Type dummy) {}
        protected void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QUndoCommand), this);
        }
        public QUndoCommand(QUndoCommand parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QUndoCommand#", "QUndoCommand(QUndoCommand*)", typeof(void), typeof(QUndoCommand), parent);
        }
        public QUndoCommand() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QUndoCommand", "QUndoCommand()", typeof(void));
        }
        public QUndoCommand(string text, QUndoCommand parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QUndoCommand$#", "QUndoCommand(const QString&, QUndoCommand*)", typeof(void), typeof(string), text, typeof(QUndoCommand), parent);
        }
        public QUndoCommand(string text) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QUndoCommand$", "QUndoCommand(const QString&)", typeof(void), typeof(string), text);
        }
        [SmokeMethod("undo()")]
        public virtual void Undo() {
            interceptor.Invoke("undo", "undo()", typeof(void));
        }
        [SmokeMethod("redo()")]
        public virtual void Redo() {
            interceptor.Invoke("redo", "redo()", typeof(void));
        }
        public string Text() {
            return (string) interceptor.Invoke("text", "text() const", typeof(string));
        }
        public void SetText(string text) {
            interceptor.Invoke("setText$", "setText(const QString&)", typeof(void), typeof(string), text);
        }
        [SmokeMethod("id() const")]
        public virtual int Id() {
            return (int) interceptor.Invoke("id", "id() const", typeof(int));
        }
        [SmokeMethod("mergeWith(const QUndoCommand*)")]
        public virtual bool MergeWith(QUndoCommand other) {
            return (bool) interceptor.Invoke("mergeWith#", "mergeWith(const QUndoCommand*)", typeof(bool), typeof(QUndoCommand), other);
        }
        public int ChildCount() {
            return (int) interceptor.Invoke("childCount", "childCount() const", typeof(int));
        }
        public QUndoCommand Child(int index) {
            return (QUndoCommand) interceptor.Invoke("child$", "child(int) const", typeof(QUndoCommand), typeof(int), index);
        }
        ~QUndoCommand() {
            interceptor.Invoke("~QUndoCommand", "~QUndoCommand()", typeof(void));
        }
        public void Dispose() {
            interceptor.Invoke("~QUndoCommand", "~QUndoCommand()", typeof(void));
        }
    }
}
