Application.Run.cs 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. using System.Diagnostics.CodeAnalysis;
  2. namespace Terminal.Gui.App;
  3. public static partial class Application // Run (Begin -> Run -> Layout/Draw -> End -> Stop)
  4. {
  5. /// <summary>Gets or sets the key to quit the application.</summary>
  6. [ConfigurationProperty (Scope = typeof (SettingsScope))]
  7. public static Key QuitKey
  8. {
  9. get => ApplicationImpl.Instance.Keyboard.QuitKey;
  10. set => ApplicationImpl.Instance.Keyboard.QuitKey = value;
  11. }
  12. /// <summary>Gets or sets the key to activate arranging views using the keyboard.</summary>
  13. [ConfigurationProperty (Scope = typeof (SettingsScope))]
  14. public static Key ArrangeKey
  15. {
  16. get => ApplicationImpl.Instance.Keyboard.ArrangeKey;
  17. set => ApplicationImpl.Instance.Keyboard.ArrangeKey = value;
  18. }
  19. /// <inheritdoc cref="IApplication.Begin"/>
  20. [Obsolete ("The legacy static Application object is going away.")]
  21. public static SessionToken Begin (Toplevel toplevel) => ApplicationImpl.Instance.Begin (toplevel);
  22. /// <inheritdoc cref="IApplication.PositionCursor"/>
  23. [Obsolete ("The legacy static Application object is going away.")]
  24. public static bool PositionCursor () => ApplicationImpl.Instance.PositionCursor ();
  25. /// <inheritdoc cref="IApplication.Run(Func{Exception, bool}, string)"/>
  26. [RequiresUnreferencedCode ("AOT")]
  27. [RequiresDynamicCode ("AOT")]
  28. [Obsolete ("The legacy static Application object is going away.")]
  29. public static Toplevel Run (Func<Exception, bool>? errorHandler = null, string? driverName = null) => ApplicationImpl.Instance.Run (errorHandler, driverName);
  30. /// <inheritdoc cref="IApplication.Run{TView}(Func{Exception, bool}, string)"/>
  31. [RequiresUnreferencedCode ("AOT")]
  32. [RequiresDynamicCode ("AOT")]
  33. [Obsolete ("The legacy static Application object is going away.")]
  34. public static TView Run<TView> (Func<Exception, bool>? errorHandler = null, string? driverName = null)
  35. where TView : Toplevel, new() => ApplicationImpl.Instance.Run<TView> (errorHandler, driverName);
  36. /// <inheritdoc cref="IApplication.Run(Toplevel, Func{Exception, bool})"/>
  37. [Obsolete ("The legacy static Application object is going away.")]
  38. public static void Run (Toplevel view, Func<Exception, bool>? errorHandler = null) => ApplicationImpl.Instance.Run (view, errorHandler);
  39. /// <inheritdoc cref="IApplication.AddTimeout"/>
  40. [Obsolete ("The legacy static Application object is going away.")]
  41. public static object? AddTimeout (TimeSpan time, Func<bool> callback) => ApplicationImpl.Instance.AddTimeout (time, callback);
  42. /// <inheritdoc cref="IApplication.RemoveTimeout"/>
  43. [Obsolete ("The legacy static Application object is going away.")]
  44. public static bool RemoveTimeout (object token) => ApplicationImpl.Instance.RemoveTimeout (token);
  45. /// <inheritdoc cref="IApplication.TimedEvents"/>
  46. ///
  47. [Obsolete ("The legacy static Application object is going away.")]
  48. public static ITimedEvents? TimedEvents => ApplicationImpl.Instance?.TimedEvents;
  49. /// <inheritdoc cref="IApplication.Invoke(Action{IApplication})"/>
  50. [Obsolete ("The legacy static Application object is going away.")]
  51. public static void Invoke (Action<IApplication> action) => ApplicationImpl.Instance.Invoke (action);
  52. /// <inheritdoc cref="IApplication.Invoke(Action)"/>
  53. [Obsolete ("The legacy static Application object is going away.")]
  54. public static void Invoke (Action action) => ApplicationImpl.Instance.Invoke (action);
  55. /// <inheritdoc cref="IApplication.LayoutAndDraw"/>
  56. [Obsolete ("The legacy static Application object is going away.")]
  57. public static void LayoutAndDraw (bool forceRedraw = false) => ApplicationImpl.Instance.LayoutAndDraw (forceRedraw);
  58. /// <inheritdoc cref="IApplication.StopAfterFirstIteration"/>
  59. [Obsolete ("The legacy static Application object is going away.")]
  60. public static bool StopAfterFirstIteration
  61. {
  62. get => ApplicationImpl.Instance.StopAfterFirstIteration;
  63. set => ApplicationImpl.Instance.StopAfterFirstIteration = value;
  64. }
  65. /// <inheritdoc cref="IApplication.RequestStop(Toplevel)"/>
  66. [Obsolete ("The legacy static Application object is going away.")]
  67. public static void RequestStop (Toplevel? top = null) => ApplicationImpl.Instance.RequestStop (top);
  68. /// <inheritdoc cref="IApplication.End"/>
  69. [Obsolete ("The legacy static Application object is going away.")]
  70. public static void End (SessionToken sessionToken) => ApplicationImpl.Instance.End (sessionToken);
  71. /// <inheritdoc cref="IApplication.Iteration"/>
  72. [Obsolete ("The legacy static Application object is going away.")]
  73. public static event EventHandler<IterationEventArgs>? Iteration
  74. {
  75. add => ApplicationImpl.Instance.Iteration += value;
  76. remove => ApplicationImpl.Instance.Iteration -= value;
  77. }
  78. /// <inheritdoc cref="IApplication.SessionBegun"/>
  79. [Obsolete ("The legacy static Application object is going away.")]
  80. public static event EventHandler<SessionTokenEventArgs>? SessionBegun
  81. {
  82. add => ApplicationImpl.Instance.SessionBegun += value;
  83. remove => ApplicationImpl.Instance.SessionBegun -= value;
  84. }
  85. /// <inheritdoc cref="IApplication.SessionEnded"/>
  86. [Obsolete ("The legacy static Application object is going away.")]
  87. public static event EventHandler<ToplevelEventArgs>? SessionEnded
  88. {
  89. add => ApplicationImpl.Instance.SessionEnded += value;
  90. remove => ApplicationImpl.Instance.SessionEnded -= value;
  91. }
  92. }