// Generated by SharpKit.QooxDoo.Generator
using System;
using System.Collections.Generic;
using SharpKit.Html;
using SharpKit.JavaScript;

namespace qx.ui.menu
{
    /// <summary>
	/// <para>This singleton manages visible menu instances and supports some
	/// core features to schedule menu open/close with timeout support.</para>
	/// <para>It also manages the whole keyboard support for the currently
	/// registered widgets.</para>
	/// <para>The zIndex order is also managed by this class.</para>
	/// </summary>
	[JsType(JsMode.Prototype, Name = "qx.ui.menu.Manager", OmitOptionalParameters = true, Export = false)]
    public partial class Manager : qx.core.Object
    {
		#region Methods

		public Manager() { throw new NotImplementedException(); }

		/// <summary>
		/// <para>Adds a menu to the list of visible menus.</para>
		/// </summary>
		/// <param name="obj">Any menu instance.</param>
		[JsMethod(Name = "add")]
		public void Add(qx.ui.menu.Menu obj) { throw new NotImplementedException(); }

		/// <summary>
		/// <para>When the given menu is scheduled for close this pending
		/// request is canceled.</para>
		/// </summary>
		/// <param name="menu">The menu to cancel for close</param>
		[JsMethod(Name = "cancelClose")]
		public void CancelClose(qx.ui.menu.Menu menu) { throw new NotImplementedException(); }

		/// <summary>
		/// <para>When the given menu is scheduled for open this pending
		/// request is canceled.</para>
		/// </summary>
		/// <param name="menu">The menu to cancel for open</param>
		[JsMethod(Name = "cancelOpen")]
		public void CancelOpen(qx.ui.menu.Menu menu) { throw new NotImplementedException(); }

		/// <summary>
		/// <para>Returns the menu which was opened at last (which
		/// is the active one this way)</para>
		/// </summary>
		/// <returns>The current active menu or null</returns>
		[JsMethod(Name = "getActiveMenu")]
		public qx.ui.menu.Menu GetActiveMenu() { throw new NotImplementedException(); }

		/// <summary>
		/// <para>Hides all currently opened menus.</para>
		/// </summary>
		[JsMethod(Name = "hideAll")]
		public void HideAll() { throw new NotImplementedException(); }

		/// <summary>
		/// <para>Remove a menu from the list of visible menus.</para>
		/// </summary>
		/// <param name="obj">Any menu instance.</param>
		[JsMethod(Name = "remove")]
		public void Remove(qx.ui.menu.Menu obj) { throw new NotImplementedException(); }

		/// <summary>
		/// <para>Schedules the given menu to be closed after the
		/// <see cref="qx.ui.menu.Menu.CloseInterval"/> configured by the
		/// menu instance itself.</para>
		/// </summary>
		/// <param name="menu">The menu to schedule for close</param>
		[JsMethod(Name = "scheduleClose")]
		public void ScheduleClose(qx.ui.menu.Menu menu) { throw new NotImplementedException(); }

		/// <summary>
		/// <para>Schedules the given menu to be opened after the
		/// <see cref="qx.ui.menu.Menu.OpenInterval"/> configured by the
		/// menu instance itself.</para>
		/// </summary>
		/// <param name="menu">The menu to schedule for open</param>
		[JsMethod(Name = "scheduleOpen")]
		public void ScheduleOpen(qx.ui.menu.Menu menu) { throw new NotImplementedException(); }

		/// <summary>
		/// <para>Returns a singleton instance of this class. On the first call the class
		/// is instantiated by calling the constructor with no arguments. All following
		/// calls will return this instance.</para>
		/// <para>This method has been added by setting the &#8220;type&#8221; key in the class definition
		/// (<see cref="qx.Class.Define"/>) to &#8220;singleton&#8221;.</para>
		/// </summary>
		/// <returns>The singleton instance of this class.</returns>
		[JsMethod(Name = "getInstance")]
		public static qx.ui.menu.Manager GetInstance() { throw new NotImplementedException(); }

		#endregion Methods
    }
}