//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    using System.Collections.Generic;
    /// <remarks> See <see cref="IQActionGroupSignals"></see> for signals emitted by QActionGroup
    /// </remarks>
    [SmokeClass("QActionGroup")]
    public class QActionGroup : QObject, IDisposable {
        protected QActionGroup(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QActionGroup), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QActionGroup() {
            staticInterceptor = new SmokeInvocation(typeof(QActionGroup), null);
        }
        [Q_PROPERTY("bool", "exclusive")]
        public bool Exclusive {
            get { return (bool) interceptor.Invoke("isExclusive", "isExclusive()", typeof(bool)); }
            set { interceptor.Invoke("setExclusive$", "setExclusive(bool)", typeof(void), typeof(bool), value); }
        }
        [Q_PROPERTY("bool", "enabled")]
        public bool Enabled {
            get { return (bool) interceptor.Invoke("isEnabled", "isEnabled()", typeof(bool)); }
            set { interceptor.Invoke("setEnabled$", "setEnabled(bool)", typeof(void), typeof(bool), value); }
        }
        [Q_PROPERTY("bool", "visible")]
        public bool Visible {
            get { return (bool) interceptor.Invoke("isVisible", "isVisible()", typeof(bool)); }
            set { interceptor.Invoke("setVisible$", "setVisible(bool)", typeof(void), typeof(bool), value); }
        }
        public QActionGroup(QObject parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QActionGroup#", "QActionGroup(QObject*)", typeof(void), typeof(QObject), parent);
        }
        public QAction AddAction(QAction a) {
            return (QAction) interceptor.Invoke("addAction#", "addAction(QAction*)", typeof(QAction), typeof(QAction), a);
        }
        public QAction AddAction(string text) {
            return (QAction) interceptor.Invoke("addAction$", "addAction(const QString&)", typeof(QAction), typeof(string), text);
        }
        public QAction AddAction(QIcon icon, string text) {
            return (QAction) interceptor.Invoke("addAction#$", "addAction(const QIcon&, const QString&)", typeof(QAction), typeof(QIcon), icon, typeof(string), text);
        }
        public void RemoveAction(QAction a) {
            interceptor.Invoke("removeAction#", "removeAction(QAction*)", typeof(void), typeof(QAction), a);
        }
        public List<QAction> Actions() {
            return (List<QAction>) interceptor.Invoke("actions", "actions() const", typeof(List<QAction>));
        }
        public QAction CheckedAction() {
            return (QAction) interceptor.Invoke("checkedAction", "checkedAction() const", typeof(QAction));
        }
        [Q_SLOT("void setEnabled(bool)")]
        public void SetEnabled(bool arg1) {
            interceptor.Invoke("setEnabled$", "setEnabled(bool)", typeof(void), typeof(bool), arg1);
        }
        [Q_SLOT("void setDisabled(bool)")]
        public void SetDisabled(bool b) {
            interceptor.Invoke("setDisabled$", "setDisabled(bool)", typeof(void), typeof(bool), b);
        }
        [Q_SLOT("void setVisible(bool)")]
        public void SetVisible(bool arg1) {
            interceptor.Invoke("setVisible$", "setVisible(bool)", typeof(void), typeof(bool), arg1);
        }
        [Q_SLOT("void setExclusive(bool)")]
        public void SetExclusive(bool arg1) {
            interceptor.Invoke("setExclusive$", "setExclusive(bool)", typeof(void), typeof(bool), arg1);
        }
        ~QActionGroup() {
            interceptor.Invoke("~QActionGroup", "~QActionGroup()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~QActionGroup", "~QActionGroup()", typeof(void));
        }
        public static new string Tr(string s, string c) {
            return (string) staticInterceptor.Invoke("tr$$", "tr(const char*, const char*)", typeof(string), typeof(string), s, typeof(string), c);
        }
        public static new string Tr(string s) {
            return (string) staticInterceptor.Invoke("tr$", "tr(const char*)", typeof(string), typeof(string), s);
        }
        protected new IQActionGroupSignals Emit {
            get { return (IQActionGroupSignals) Q_EMIT; }
        }
    }

    public interface IQActionGroupSignals : IQObjectSignals {
        [Q_SIGNAL("void triggered(QAction*)")]
        void Triggered(QAction arg1);
        [Q_SIGNAL("void selected(QAction*)")]
        void Selected(QAction arg1);
        [Q_SIGNAL("void hovered(QAction*)")]
        void Hovered(QAction arg1);
    }
}
