Editor/Events.Widgets.cs

namespace Sandbox;

public static partial class Event
{
	/// <summary>
	/// Events for widgets.
	/// </summary>
	public static class Widget
	{
		/// <summary>
		/// Invoked when the editor receives a mouse event.
		/// </summary>
		public sealed class MousePressedAttribute() : EventAttribute( "qt.mousepressed" );

		/// <summary>
		/// Invoked when creating a dynamic view.
		/// <list type="table">
		///		<em>Arguments:</em>
		///		<item>
		///			<term><see cref="EditorNamespace.Menu"/></term>
		///			<description>The menu provided by <see cref="EditorNamespace.DockWindow"/>.</description>
		///		</item>
		///	</list>
		/// </summary>
		public sealed class CreateDynamicViewAttribute() : EventAttribute( "tools.editorwindow.createview" );

		/// <summary>
		/// Invoked after creating a dynamic view.
		/// <list type="table">
		///		<em>Arguments:</em>
		///		<item>
		///			<term><see cref="EditorNamespace.Menu"/></term>
		///			<description>The menu provided by <see cref="EditorNamespace.DockWindow"/>.</description>
		///		</item>
		///	</list>
		/// </summary>
		public sealed class PostCreateDynamicViewAttribute() : EventAttribute( "tools.editorwindow.postcreateview" );

		/// <summary>
		/// Invoked when building the title bar.
		/// <list type="table">
		///		<em>Arguments:</em>
		///		<item>
		///			<term><see cref="EditorNamespace.TitleBarButtons"/></term>
		///			<description>Widget used to add buttons to the title bar.</description>
		///		</item>
		///	</list>
		/// </summary>
		public sealed class BuildTitleBarAttribute() : EventAttribute( "tools.titlebar.build" );

		/// <summary>
		/// Invoked when building the title bar buttons.
		/// <list type="table">
		///		<em>Arguments:</em>
		///		<item>
		///			<term><see cref="EditorNamespace.Layout"/></term>
		///			<description>Layout for <see cref="EditorNamespace.TitleBarButtons"/>.</description>
		///		</item>
		///	</list>
		/// </summary>
		public sealed class BuildTitleBarButtonAttribute() : EventAttribute( "editor.titlebar.buttons.build" );
	}
}