//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    [SmokeClass("QActionEvent")]
    public class QActionEvent : QEvent, IDisposable {
        protected QActionEvent(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QActionEvent), this);
        }
        public QActionEvent(int type, QAction action, QAction before) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QActionEvent$##", "QActionEvent(int, QAction*, QAction*)", typeof(void), typeof(int), type, typeof(QAction), action, typeof(QAction), before);
        }
        public QActionEvent(int type, QAction action) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QActionEvent$#", "QActionEvent(int, QAction*)", typeof(void), typeof(int), type, typeof(QAction), action);
        }
        public QAction Action() {
            return (QAction) interceptor.Invoke("action", "action() const", typeof(QAction));
        }
        public QAction Before() {
            return (QAction) interceptor.Invoke("before", "before() const", typeof(QAction));
        }
        ~QActionEvent() {
            interceptor.Invoke("~QActionEvent", "~QActionEvent()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~QActionEvent", "~QActionEvent()", typeof(void));
        }
    }
}
