//Auto-generated by kalyptus. DO NOT EDIT.
namespace Kimono {
    using System;
    using Qyoto;
    /// <remarks>
    ///  This action is a normal action everywhere, except in a toolbar
    ///  where it also has a popupmenu (optionally delayed). This action is designed
    ///  for history actions (back/forward, undo/redo) and for any other action
    ///  that has more detail in a toolbar than in a menu (e.g. tool chooser
    ///  with "Other" leading to a dialog...).
    ///  In contrast to KActionMenu, this action is a \e simple menuitem when plugged 
    ///  into a menu, and has a popup only in a toolbar.
    ///  Use cases include Back/Forward, and Undo/Redo. Simple click is what's most commonly
    ///  used, and enough for menus, but in toolbars there is \e also an optional popup
    ///  to go back N steps or undo N steps.
    ///  </remarks>        <short>    This action is a normal action everywhere, except in a toolbar  where it also has a popupmenu (optionally delayed).</short>
    [SmokeClass("KToolBarPopupAction")]
    public class KToolBarPopupAction : KAction, IDisposable {
        protected KToolBarPopupAction(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(KToolBarPopupAction), this);
        }
        [Q_PROPERTY("bool", "delayed")]
        public bool Delayed {
            get { return (bool) interceptor.Invoke("delayed", "delayed()", typeof(bool)); }
            set { interceptor.Invoke("setDelayed$", "setDelayed(bool)", typeof(void), typeof(bool), value); }
        }
        [Q_PROPERTY("bool", "stickyMenu")]
        public bool StickyMenu {
            get { return (bool) interceptor.Invoke("stickyMenu", "stickyMenu()", typeof(bool)); }
            set { interceptor.Invoke("setStickyMenu$", "setStickyMenu(bool)", typeof(void), typeof(bool), value); }
        }
        /// <remarks>
        ///  Create a KToolBarPopupAction, with a text, an icon, a
        ///  parent and a name.
        /// <param> name="icon" The icon to display.
        /// </param><param> name="text" The text that will be displayed.
        /// </param><param> name="parent" This action's parent.
        ///      </param></remarks>        <short>    Create a KToolBarPopupAction, with a text, an icon, a  parent and a name.</short>
        public KToolBarPopupAction(KIcon icon, string text, QObject parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("KToolBarPopupAction#$#", "KToolBarPopupAction(const KIcon&, const QString&, QObject*)", typeof(void), typeof(KIcon), icon, typeof(string), text, typeof(QObject), parent);
        }
        /// <remarks>
        ///  Reimplemented from @see QActionWidgetFactory.
        ///      </remarks>        <short>    Reimplemented from @see QActionWidgetFactory.</short>
        [SmokeMethod("createWidget(QWidget*)")]
        public new virtual QWidget CreateWidget(QWidget parent) {
            return (QWidget) interceptor.Invoke("createWidget#", "createWidget(QWidget*)", typeof(QWidget), typeof(QWidget), parent);
        }
        ~KToolBarPopupAction() {
            interceptor.Invoke("~KToolBarPopupAction", "~KToolBarPopupAction()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~KToolBarPopupAction", "~KToolBarPopupAction()", typeof(void));
        }
        protected new IKToolBarPopupActionSignals Emit {
            get { return (IKToolBarPopupActionSignals) Q_EMIT; }
        }
    }

    public interface IKToolBarPopupActionSignals : IKActionSignals {
    }
}
