Browse Source

Fixes All Warnings (#450)

* Revert "Drop NuGet restore"

This reverts commit 5c7a0d05f077755943ec66e6a82db890a24cd056.

* Revert "Revert "Drop NuGet restore""

This reverts commit 2dc5fce8654ffeb6f3e570b0bdefcc6a5b6a6d2b.

* terminal.sln

* there. That wasn't so hard

* fixed some cases where <inheritdoc/> should have been used

* fixed some cases where <inheritdoc/> should have been used
Charlie Kindel 5 years ago
parent
commit
cb624ce7b6

+ 24 - 14
Terminal.Gui/Core.cs

@@ -899,10 +899,7 @@ namespace Terminal.Gui {
 				Move (frame.X, frame.Y);
 				Move (frame.X, frame.Y);
 		}
 		}
 
 
-		/// <summary>
-		/// Gets or sets a value indicating whether this <see cref="T:Terminal.Gui.View"/> has focus.
-		/// </summary>
-		/// <value><c>true</c> if has focus; otherwise, <c>false</c>.</value>
+		/// <inheritdoc cref="HasFocus"/>
 		public override bool HasFocus {
 		public override bool HasFocus {
 			get {
 			get {
 				return base.HasFocus;
 				return base.HasFocus;
@@ -925,12 +922,14 @@ namespace Terminal.Gui {
 			}
 			}
 		}
 		}
 
 
+		/// <inheritdoc cref="OnEnter"/>
 		public override bool OnEnter ()
 		public override bool OnEnter ()
 		{
 		{
 			Enter?.Invoke (this, new EventArgs ());
 			Enter?.Invoke (this, new EventArgs ());
 			return base.OnEnter ();
 			return base.OnEnter ();
 		}
 		}
 
 
+		/// <inheritdoc cref="OnLeave"/>
 		public override bool OnLeave ()
 		public override bool OnLeave ()
 		{
 		{
 			Leave?.Invoke (this, new EventArgs ());
 			Leave?.Invoke (this, new EventArgs ());
@@ -1071,7 +1070,7 @@ namespace Terminal.Gui {
 		/// </summary>
 		/// </summary>
 		public Action<KeyEvent> OnKeyPress;
 		public Action<KeyEvent> OnKeyPress;
 
 
-		/// <param name="keyEvent">Contains the details about the key that produced the event.</param>
+		/// <inheritdoc cref="ProcessKey"/>
 		public override bool ProcessKey (KeyEvent keyEvent)
 		public override bool ProcessKey (KeyEvent keyEvent)
 		{
 		{
 			OnKeyPress?.Invoke (keyEvent);
 			OnKeyPress?.Invoke (keyEvent);
@@ -1081,7 +1080,7 @@ namespace Terminal.Gui {
 			return false;
 			return false;
 		}
 		}
 
 
-		/// <param name="keyEvent">Contains the details about the key that produced the event.</param>
+		/// <inheritdoc cref="ProcessHotKey"/>
 		public override bool ProcessHotKey (KeyEvent keyEvent)
 		public override bool ProcessHotKey (KeyEvent keyEvent)
 		{
 		{
 			OnKeyPress?.Invoke (keyEvent);
 			OnKeyPress?.Invoke (keyEvent);
@@ -1093,7 +1092,7 @@ namespace Terminal.Gui {
 			return false;
 			return false;
 		}
 		}
 
 
-		/// <param name="keyEvent">Contains the details about the key that produced the event.</param>
+		/// <inheritdoc cref="ProcessColdKey"/>
 		public override bool ProcessColdKey (KeyEvent keyEvent)
 		public override bool ProcessColdKey (KeyEvent keyEvent)
 		{
 		{
 			OnKeyPress?.Invoke (keyEvent);
 			OnKeyPress?.Invoke (keyEvent);
@@ -1110,7 +1109,7 @@ namespace Terminal.Gui {
 		/// </summary>
 		/// </summary>
 		public Action<KeyEvent> OnKeyDown;
 		public Action<KeyEvent> OnKeyDown;
 
 
-		/// <param name="keyEvent">Contains the details about the key that produced the event.</param>
+		/// <inheritdoc cref="KeyDown"/>
 		public override bool KeyDown (KeyEvent keyEvent)
 		public override bool KeyDown (KeyEvent keyEvent)
 		{
 		{
 			OnKeyDown?.Invoke (keyEvent);
 			OnKeyDown?.Invoke (keyEvent);
@@ -1128,7 +1127,7 @@ namespace Terminal.Gui {
 		/// </summary>
 		/// </summary>
 		public Action<KeyEvent> OnKeyUp;
 		public Action<KeyEvent> OnKeyUp;
 
 
-		/// <param name="keyEvent">Contains the details about the key that produced the event.</param>
+		/// <inheritdoc cref="KeyUp"/>
 		public override bool KeyUp (KeyEvent keyEvent)
 		public override bool KeyUp (KeyEvent keyEvent)
 		{
 		{
 			OnKeyUp?.Invoke (keyEvent);
 			OnKeyUp?.Invoke (keyEvent);
@@ -1140,6 +1139,7 @@ namespace Terminal.Gui {
 
 
 			return false;
 			return false;
 		}
 		}
+
 		/// <summary>
 		/// <summary>
 		/// Finds the first view in the hierarchy that wants to get the focus if nothing is currently focused, otherwise, it does nothing.
 		/// Finds the first view in the hierarchy that wants to get the focus if nothing is currently focused, otherwise, it does nothing.
 		/// </summary>
 		/// </summary>
@@ -1410,15 +1410,13 @@ namespace Terminal.Gui {
 			layoutNeeded = false;
 			layoutNeeded = false;
 		}
 		}
 
 
-		/// <summary>
-		/// Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Terminal.Gui.View"/>.
-		/// </summary>
-		/// <returns>A <see cref="T:System.String"/> that represents the current <see cref="T:Terminal.Gui.View"/>.</returns>
+		/// <inheritdoc cref="ToString"/>
 		public override string ToString ()
 		public override string ToString ()
 		{
 		{
 			return $"{GetType ().Name}({Id})({Frame})";
 			return $"{GetType ().Name}({Id})({Frame})";
 		}
 		}
 
 
+		/// <inheritdoc cref="OnMouseEnter(Gui.MouseEvent)"/>
 		public override bool OnMouseEnter (MouseEvent mouseEvent)
 		public override bool OnMouseEnter (MouseEvent mouseEvent)
 		{
 		{
 			if (!base.OnMouseEnter (mouseEvent)) {
 			if (!base.OnMouseEnter (mouseEvent)) {
@@ -1428,6 +1426,7 @@ namespace Terminal.Gui {
 			return true;
 			return true;
 		}
 		}
 
 
+		/// <inheritdoc cref="OnMouseLeave(Gui.MouseEvent)"/>
 		public override bool OnMouseLeave (MouseEvent mouseEvent)
 		public override bool OnMouseLeave (MouseEvent mouseEvent)
 		{
 		{
 			if (!base.OnMouseLeave (mouseEvent)) {
 			if (!base.OnMouseLeave (mouseEvent)) {
@@ -1508,6 +1507,10 @@ namespace Terminal.Gui {
 			return new Toplevel (new Rect (0, 0, Driver.Cols, Driver.Rows));
 			return new Toplevel (new Rect (0, 0, Driver.Cols, Driver.Rows));
 		}
 		}
 
 
+		/// <summary>
+		/// Gets or sets a value indicating whether this <see cref="T:Terminal.Gui.Toplevel"/> can focus.
+		/// </summary>
+		/// <value><c>true</c> if can focus; otherwise, <c>false</c>.</value>
 		public override bool CanFocus {
 		public override bool CanFocus {
 			get => true;
 			get => true;
 		}
 		}
@@ -1529,6 +1532,7 @@ namespace Terminal.Gui {
 		/// </summary>
 		/// </summary>
 		public bool HasStatusBar { get; set; }
 		public bool HasStatusBar { get; set; }
 
 
+		///<inheritdoc cref="ProcessKey"/>
 		public override bool ProcessKey (KeyEvent keyEvent)
 		public override bool ProcessKey (KeyEvent keyEvent)
 		{
 		{
 			if (base.ProcessKey (keyEvent))
 			if (base.ProcessKey (keyEvent))
@@ -1580,6 +1584,7 @@ namespace Terminal.Gui {
 			return false;
 			return false;
 		}
 		}
 
 
+		///<inheritdoc cref="Add"/>
 		public override void Add (View view)
 		public override void Add (View view)
 		{
 		{
 			if (this == Application.Top) {
 			if (this == Application.Top) {
@@ -1591,6 +1596,7 @@ namespace Terminal.Gui {
 			base.Add (view);
 			base.Add (view);
 		}
 		}
 
 
+		///<inheritdoc cref="Remove"/>
 		public override void Remove (View view)
 		public override void Remove (View view)
 		{
 		{
 			if (this == Application.Top) {
 			if (this == Application.Top) {
@@ -1602,6 +1608,7 @@ namespace Terminal.Gui {
 			base.Remove (view);
 			base.Remove (view);
 		}
 		}
 
 
+		///<inheritdoc cref="RemoveAll"/>
 		public override void RemoveAll ()
 		public override void RemoveAll ()
 		{
 		{
 			if (this == Application.Top) {
 			if (this == Application.Top) {
@@ -1656,6 +1663,7 @@ namespace Terminal.Gui {
 			}
 			}
 		}
 		}
 
 
+		///<inheritdoc cref="Redraw"/>
 		public override void Redraw (Rect region)
 		public override void Redraw (Rect region)
 		{
 		{
 			Application.CurrentView = this;
 			Application.CurrentView = this;
@@ -1838,6 +1846,7 @@ namespace Terminal.Gui {
 			contentView.RemoveAll ();
 			contentView.RemoveAll ();
 		}
 		}
 
 
+		///<inheritdoc cref="Redraw"/>
 		public override void Redraw (Rect bounds)
 		public override void Redraw (Rect bounds)
 		{
 		{
 			Application.CurrentView = this;
 			Application.CurrentView = this;
@@ -1873,6 +1882,7 @@ namespace Terminal.Gui {
 		//
 		//
 		internal static Point? dragPosition;
 		internal static Point? dragPosition;
 		Point start;
 		Point start;
+		///<inheritdoc cref="MouseEvent(Gui.MouseEvent)"/>
 		public override bool MouseEvent (MouseEvent mouseEvent)
 		public override bool MouseEvent (MouseEvent mouseEvent)
 		{
 		{
 			// FIXED:The code is currently disabled, because the
 			// FIXED:The code is currently disabled, because the
@@ -2426,7 +2436,7 @@ namespace Terminal.Gui {
 			}
 			}
 		}
 		}
 
 
-		internal static bool DebugDrawBounds;
+		internal static bool DebugDrawBounds = false;
 
 
 		// Need to look into why this does not work properly.
 		// Need to look into why this does not work properly.
 		static void DrawBounds (View v)
 		static void DrawBounds (View v)

+ 4 - 1
Terminal.Gui/Dialogs/Dialog.cs

@@ -61,7 +61,9 @@ namespace Terminal.Gui {
 			Add (button);
 			Add (button);
 		}
 		}
 
 
-
+		/// <summary>
+		/// Lays out the subviews for the Dialog. 
+		/// </summary>
 		public override void LayoutSubviews ()
 		public override void LayoutSubviews ()
 		{
 		{
 			base.LayoutSubviews ();
 			base.LayoutSubviews ();
@@ -86,6 +88,7 @@ namespace Terminal.Gui {
 			}
 			}
 		}
 		}
 
 
+		///<inheritdoc cref="ProcessKey"/>
 		public override bool ProcessKey (KeyEvent kb)
 		public override bool ProcessKey (KeyEvent kb)
 		{
 		{
 			switch (kb.Key) {
 			switch (kb.Key) {

+ 4 - 3
Terminal.Gui/Dialogs/FileDialog.cs

@@ -212,9 +212,9 @@ namespace Terminal.Gui {
 			}
 			}
 		}
 		}
 
 
-		public Action<(string,bool)> SelectedChanged;
-		public Action<ustring> DirectoryChanged;
-		public Action<ustring> FileChanged;
+		public Action<(string, bool)> SelectedChanged { get; set; }
+		public Action<ustring> DirectoryChanged { get; set; }
+		public Action<ustring> FileChanged { get; set; }
 
 
 		void SelectionChanged ()
 		void SelectionChanged ()
 		{
 		{
@@ -494,6 +494,7 @@ namespace Terminal.Gui {
 
 
 		internal bool canceled;
 		internal bool canceled;
 
 
+		///<inheritdoc cref="WillPresent"/>
 		public override void WillPresent ()
 		public override void WillPresent ()
 		{
 		{
 			base.WillPresent ();
 			base.WillPresent ();

+ 5 - 3
Terminal.Gui/Drivers/ConsoleDriver.cs

@@ -466,9 +466,11 @@ namespace Terminal.Gui {
 		/// <summary>
 		/// <summary>
 		/// Prepare the driver and set the key and mouse events handlers.
 		/// Prepare the driver and set the key and mouse events handlers.
 		/// </summary>
 		/// </summary>
-		/// <param name="mainLoop"></param>
-		/// <param name="keyHandler"></param>
-		/// <param name="mouseHandler"></param>
+		/// <param name="mainLoop">The main loop.</param>
+		/// <param name="keyHandler">The handler for ProcessKey</param>
+		/// <param name="keyDownHandler">The handler for key down events</param>
+		/// <param name="keyUpHandler">The handler for key up events</param>
+		/// <param name="mouseHandler">The handler for mouse events</param>
 		public abstract void PrepareToRun (MainLoop mainLoop, Action<KeyEvent> keyHandler, Action<KeyEvent> keyDownHandler, Action<KeyEvent> keyUpHandler, Action<MouseEvent> mouseHandler);
 		public abstract void PrepareToRun (MainLoop mainLoop, Action<KeyEvent> keyHandler, Action<KeyEvent> keyDownHandler, Action<KeyEvent> keyUpHandler, Action<MouseEvent> mouseHandler);
 
 
 		/// <summary>
 		/// <summary>

+ 3 - 1
Terminal.Gui/Drivers/CursesDriver.cs

@@ -17,6 +17,7 @@ namespace Terminal.Gui {
 	/// This is the Curses driver for the gui.cs/Terminal framework.
 	/// This is the Curses driver for the gui.cs/Terminal framework.
 	/// </summary>
 	/// </summary>
 	public class CursesDriver : ConsoleDriver {
 	public class CursesDriver : ConsoleDriver {
+#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
 		public override int Cols => Curses.Cols;
 		public override int Cols => Curses.Cols;
 		public override int Rows => Curses.Lines;
 		public override int Rows => Curses.Lines;
 
 
@@ -37,7 +38,7 @@ namespace Terminal.Gui {
 			}
 			}
 		}
 		}
 
 
-		static bool sync;
+		static bool sync = false;
 		public override void AddRune (Rune rune)
 		public override void AddRune (Rune rune)
 		{
 		{
 			if (Clip.Contains (ccol, crow)) {
 			if (Clip.Contains (ccol, crow)) {
@@ -490,6 +491,7 @@ namespace Terminal.Gui {
 			killpg (0, signal);
 			killpg (0, signal);
 			return true;
 			return true;
 		}
 		}
+#pragma warning restore CS1591 // Missing XML comment for publicly visible type or member
 	}
 	}
 
 
 }
 }

+ 1 - 1
Terminal.Gui/Drivers/NetDriver.cs

@@ -37,7 +37,7 @@ namespace Terminal.Gui {
 				dirtyLine [row] = true;
 				dirtyLine [row] = true;
 		}
 		}
 
 
-		static bool sync;
+		static bool sync = false;
 
 
 		public NetDriver ()
 		public NetDriver ()
 		{
 		{

+ 3 - 3
Terminal.Gui/Drivers/WindowsDriver.cs

@@ -97,7 +97,7 @@ namespace Terminal.Gui {
 		public void Cleanup ()
 		public void Cleanup ()
 		{
 		{
 			ConsoleMode = originalConsoleMode;
 			ConsoleMode = originalConsoleMode;
-			ContinueListeningForConsoleEvents = false;
+			//ContinueListeningForConsoleEvents = false;
 			if (!SetConsoleActiveScreenBuffer (OutputHandle)) {
 			if (!SetConsoleActiveScreenBuffer (OutputHandle)) {
 				var err = Marshal.GetLastWin32Error ();
 				var err = Marshal.GetLastWin32Error ();
 				Console.WriteLine ("Error: {0}", err);
 				Console.WriteLine ("Error: {0}", err);
@@ -109,7 +109,7 @@ namespace Terminal.Gui {
 			ScreenBuffer = IntPtr.Zero;
 			ScreenBuffer = IntPtr.Zero;
 		}
 		}
 
 
-		bool ContinueListeningForConsoleEvents = true;
+		//bool ContinueListeningForConsoleEvents = true;
 
 
 		public uint ConsoleMode {
 		public uint ConsoleMode {
 			get {
 			get {
@@ -426,7 +426,7 @@ namespace Terminal.Gui {
 	}
 	}
 
 
 	internal class WindowsDriver : ConsoleDriver, Mono.Terminal.IMainLoopDriver {
 	internal class WindowsDriver : ConsoleDriver, Mono.Terminal.IMainLoopDriver {
-		static bool sync;
+		static bool sync = false;
 		ManualResetEventSlim eventReady = new ManualResetEventSlim (false);
 		ManualResetEventSlim eventReady = new ManualResetEventSlim (false);
 		ManualResetEventSlim waitForProbe = new ManualResetEventSlim (false);
 		ManualResetEventSlim waitForProbe = new ManualResetEventSlim (false);
 		MainLoop mainLoop;
 		MainLoop mainLoop;

+ 5 - 1
Terminal.Gui/MonoCurses/UnmanagedLibrary.cs

@@ -37,7 +37,11 @@ namespace Mono.Terminal.Internal {
 		const string XamarinIOSObjectClassName = "Foundation.NSObject, Xamarin.iOS";
 		const string XamarinIOSObjectClassName = "Foundation.NSObject, Xamarin.iOS";
 		static bool IsWindows, IsLinux, IsMacOS;
 		static bool IsWindows, IsLinux, IsMacOS;
 		static bool Is64Bit;
 		static bool Is64Bit;
+#if GUICS
+		static bool IsMono;
+#else
 		static bool IsMono, IsUnity, IsXamarinIOS, IsXamarinAndroid, IsXamarin;
 		static bool IsMono, IsUnity, IsXamarinIOS, IsXamarinAndroid, IsXamarin;
+#endif
 		static bool IsNetCore;
 		static bool IsNetCore;
 
 
 		public static bool IsMacOSPlatform => IsMacOS;
 		public static bool IsMacOSPlatform => IsMacOS;
@@ -75,7 +79,7 @@ namespace Mono.Terminal.Internal {
 				IsNetCore = Type.GetType ("System.MathF") != null;
 				IsNetCore = Type.GetType ("System.MathF") != null;
 			}
 			}
 #if GUICS
 #if GUICS
-			IsUnity = IsXamarinIOS = IsXamarinAndroid = IsXamarin = false;
+			//IsUnity = IsXamarinIOS = IsXamarinAndroid = IsXamarin = false;
 #else
 #else
 			IsUnity = Type.GetType (UnityEngineApplicationClassName) != null;
 			IsUnity = Type.GetType (UnityEngineApplicationClassName) != null;
 			IsXamarinIOS = Type.GetType (XamarinIOSObjectClassName) != null;
 			IsXamarinIOS = Type.GetType (XamarinIOSObjectClassName) != null;

+ 3 - 1
Terminal.Gui/MonoCurses/binding.cs

@@ -47,6 +47,7 @@ using System.Runtime.InteropServices;
 using Mono.Terminal.Internal;
 using Mono.Terminal.Internal;
 
 
 namespace Unix.Terminal {
 namespace Unix.Terminal {
+#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
 
 
 	public partial class Curses {
 	public partial class Curses {
 		[StructLayout (LayoutKind.Sequential)]
 		[StructLayout (LayoutKind.Sequential)]
@@ -61,7 +62,7 @@ namespace Unix.Terminal {
 		static IntPtr curses_handle, curscr_ptr, lines_ptr, cols_ptr;
 		static IntPtr curses_handle, curscr_ptr, lines_ptr, cols_ptr;
 
 
 		// If true, uses the DllImport into "ncurses", otherwise "libncursesw.so.5"
 		// If true, uses the DllImport into "ncurses", otherwise "libncursesw.so.5"
-		static bool use_naked_driver;
+		//static bool use_naked_driver;
 
 
 		static UnmanagedLibrary curses_library;
 		static UnmanagedLibrary curses_library;
 		static NativeMethods methods;
 		static NativeMethods methods;
@@ -451,4 +452,5 @@ namespace Unix.Terminal {
 			mousemask = lib.GetNativeMethodDelegate<Delegates.mousemask> ("mousemask");
 			mousemask = lib.GetNativeMethodDelegate<Delegates.mousemask> ("mousemask");
 		}
 		}
 	}
 	}
+#pragma warning restore CS1591 // Missing XML comment for publicly visible type or member
 }
 }

+ 2 - 0
Terminal.Gui/MonoCurses/constants.cs

@@ -5,6 +5,7 @@
 using System;
 using System;
 
 
 namespace Unix.Terminal {
 namespace Unix.Terminal {
+#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
 	public partial class Curses {
 	public partial class Curses {
 		public const int A_NORMAL = unchecked((int)0x0);
 		public const int A_NORMAL = unchecked((int)0x0);
 		public const int A_STANDOUT = unchecked((int)0x10000);
 		public const int A_STANDOUT = unchecked((int)0x10000);
@@ -139,4 +140,5 @@ namespace Unix.Terminal {
 			return 0 + n * 256;
 			return 0 + n * 256;
 		}
 		}
 	}
 	}
+#pragma warning restore CS1591 // Missing XML comment for publicly visible type or member
 }
 }

+ 3 - 1
Terminal.Gui/MonoCurses/handles.cs

@@ -31,6 +31,7 @@ using System.Runtime.InteropServices;
 namespace Unix.Terminal {
 namespace Unix.Terminal {
 
 
 	public partial class Curses {
 	public partial class Curses {
+#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
 		public class Window {
 		public class Window {
 			public readonly IntPtr Handle;
 			public readonly IntPtr Handle;
 			static Window curscr;
 			static Window curscr;
@@ -167,7 +168,8 @@ namespace Unix.Terminal {
 	 			Handle = handle;
 	 			Handle = handle;
 	 		}
 	 		}
 	 	}
 	 	}
-	 
+
+#pragma warning restore CS1591 // Missing XML comment for publicly visible type or member
 	}
 	}
 
 
 }
 }

+ 4 - 0
Terminal.Gui/MonoCurses/mainloop.cs

@@ -53,6 +53,10 @@ namespace Mono.Terminal {
 		/// <returns><c>true</c>, if there were pending events, <c>false</c> otherwise.</returns>
 		/// <returns><c>true</c>, if there were pending events, <c>false</c> otherwise.</returns>
 		/// <param name="wait">If set to <c>true</c> wait until an event is available, otherwise return immediately.</param>
 		/// <param name="wait">If set to <c>true</c> wait until an event is available, otherwise return immediately.</param>
 		bool EventsPending (bool wait);
 		bool EventsPending (bool wait);
+
+		/// <summary>
+		/// The interation function.
+		/// </summary>
 		void MainIteration ();
 		void MainIteration ();
 	}
 	}
 
 

+ 6 - 0
Terminal.Gui/Views/Button.cs

@@ -153,6 +153,7 @@ namespace Terminal.Gui {
 			Text = text;
 			Text = text;
 		}
 		}
 
 
+		///<inheritdoc cref="Redraw(Rect)"/>
 		public override void Redraw (Rect region)
 		public override void Redraw (Rect region)
 		{
 		{
 			Driver.SetAttribute (HasFocus ? ColorScheme.Focus : ColorScheme.Normal);
 			Driver.SetAttribute (HasFocus ? ColorScheme.Focus : ColorScheme.Normal);
@@ -166,6 +167,7 @@ namespace Terminal.Gui {
 			}
 			}
 		}
 		}
 
 
+		///<inheritdoc cref="PositionCursor"/>
 		public override void PositionCursor ()
 		public override void PositionCursor ()
 		{
 		{
 			Move (hot_pos == -1 ? 1 : hot_pos, 0);
 			Move (hot_pos == -1 ? 1 : hot_pos, 0);
@@ -181,6 +183,7 @@ namespace Terminal.Gui {
 			return false;
 			return false;
 		}
 		}
 
 
+		///<inheritdoc cref="ProcessHotKey"/>
 		public override bool ProcessHotKey (KeyEvent kb)
 		public override bool ProcessHotKey (KeyEvent kb)
 		{
 		{
 			if (kb.IsAlt)
 			if (kb.IsAlt)
@@ -189,6 +192,7 @@ namespace Terminal.Gui {
 			return false;
 			return false;
 		}
 		}
 
 
+		///<inheritdoc cref="ProcessColdKey"/>
 		public override bool ProcessColdKey (KeyEvent kb)
 		public override bool ProcessColdKey (KeyEvent kb)
 		{
 		{
 			if (IsDefault && kb.KeyValue == '\n') {
 			if (IsDefault && kb.KeyValue == '\n') {
@@ -199,6 +203,7 @@ namespace Terminal.Gui {
 			return CheckKey (kb);
 			return CheckKey (kb);
 		}
 		}
 
 
+		///<inheritdoc cref="ProcessKey"/>
 		public override bool ProcessKey (KeyEvent kb)
 		public override bool ProcessKey (KeyEvent kb)
 		{
 		{
 			var c = kb.KeyValue;
 			var c = kb.KeyValue;
@@ -210,6 +215,7 @@ namespace Terminal.Gui {
 			return base.ProcessKey (kb);
 			return base.ProcessKey (kb);
 		}
 		}
 
 
+		///<inheritdoc cref="MouseEvent"/>
 		public override bool MouseEvent(MouseEvent me)
 		public override bool MouseEvent(MouseEvent me)
 		{
 		{
 			if (me.Flags == MouseFlags.Button1Clicked) {
 			if (me.Flags == MouseFlags.Button1Clicked) {

+ 4 - 0
Terminal.Gui/Views/Checkbox.cs

@@ -99,6 +99,7 @@ namespace Terminal.Gui {
 			}
 			}
 		}
 		}
 
 
+		///<inheritdoc cref="Redraw"/>
 		public override void Redraw (Rect region)
 		public override void Redraw (Rect region)
 		{
 		{
 			Driver.SetAttribute (HasFocus ? ColorScheme.Focus : ColorScheme.Normal);
 			Driver.SetAttribute (HasFocus ? ColorScheme.Focus : ColorScheme.Normal);
@@ -113,11 +114,13 @@ namespace Terminal.Gui {
 			}
 			}
 		}
 		}
 
 
+		///<inheritdoc cref="PositionCursor"/>
 		public override void PositionCursor ()
 		public override void PositionCursor ()
 		{
 		{
 			Move (1, 0);
 			Move (1, 0);
 		}
 		}
 
 
+		///<inheritdoc cref="ProcessKey"/>
 		public override bool ProcessKey (KeyEvent kb)
 		public override bool ProcessKey (KeyEvent kb)
 		{
 		{
 			if (kb.KeyValue == ' ') {
 			if (kb.KeyValue == ' ') {
@@ -132,6 +135,7 @@ namespace Terminal.Gui {
 			return base.ProcessKey (kb);
 			return base.ProcessKey (kb);
 		}
 		}
 
 
+		///<inheritdoc cref="MouseEvent"/>
 		public override bool MouseEvent (MouseEvent me)
 		public override bool MouseEvent (MouseEvent me)
 		{
 		{
 			if (!me.Flags.HasFlag (MouseFlags.Button1Clicked))
 			if (!me.Flags.HasFlag (MouseFlags.Button1Clicked))

+ 6 - 0
Terminal.Gui/Views/Clipboard.cs

@@ -2,7 +2,13 @@
 using NStack;
 using NStack;
 
 
 namespace Terminal.Gui {
 namespace Terminal.Gui {
+	/// <summary>
+	/// 
+	/// </summary>
 	public static class Clipboard {
 	public static class Clipboard {
+		/// <summary>
+		/// 
+		/// </summary>
 		public static ustring Contents { get; set; }
 		public static ustring Contents { get; set; }
 	}
 	}
 }
 }

+ 3 - 0
Terminal.Gui/Views/HexView.cs

@@ -98,6 +98,7 @@ namespace Terminal.Gui {
 		const int bsize = 4;
 		const int bsize = 4;
 		int bytesPerLine;
 		int bytesPerLine;
 
 
+		/// <inheritdoc cref="Frame"/>
 		public override Rect Frame {
 		public override Rect Frame {
 			get => base.Frame;
 			get => base.Frame;
 			set {
 			set {
@@ -128,6 +129,7 @@ namespace Terminal.Gui {
 			return buffer [offset];
 			return buffer [offset];
 		}
 		}
 
 
+		///<inheritdoc cref="Redraw"/>
 		public override void Redraw (Rect region)
 		public override void Redraw (Rect region)
 		{
 		{
 			Attribute currentAttribute;
 			Attribute currentAttribute;
@@ -280,6 +282,7 @@ namespace Terminal.Gui {
 				RedisplayLine (position);			
 				RedisplayLine (position);			
 		}
 		}
 
 
+		/// <inheritdoc cref="ProcessKey"/>
 		public override bool ProcessKey (KeyEvent keyEvent)
 		public override bool ProcessKey (KeyEvent keyEvent)
 		{
 		{
 			switch (keyEvent.Key) {
 			switch (keyEvent.Key) {

+ 1 - 0
Terminal.Gui/Views/Label.cs

@@ -160,6 +160,7 @@ namespace Terminal.Gui {
 			lineResult.Add(ClipAndJustify(textStr[lp, textLen], width, talign));
 			lineResult.Add(ClipAndJustify(textStr[lp, textLen], width, talign));
 		}
 		}
 
 
+		///<inheritdoc cref="Redraw"/>
 		public override void Redraw (Rect region)
 		public override void Redraw (Rect region)
 		{
 		{
 			if (recalcPending)
 			if (recalcPending)

+ 52 - 0
Terminal.Gui/Views/ListView.cs

@@ -329,6 +329,10 @@ namespace Terminal.Gui {
 			return base.ProcessKey (kb);
 			return base.ProcessKey (kb);
 		}
 		}
 
 
+		/// <summary>
+		/// 
+		/// </summary>
+		/// <returns></returns>
 		public virtual bool AllowsAll ()
 		public virtual bool AllowsAll ()
 		{
 		{
 			if (!allowsMarking)
 			if (!allowsMarking)
@@ -344,6 +348,10 @@ namespace Terminal.Gui {
 			return true;
 			return true;
 		}
 		}
 
 
+		/// <summary>
+		/// 
+		/// </summary>
+		/// <returns></returns>
 		public virtual bool MarkUnmarkRow(){
 		public virtual bool MarkUnmarkRow(){
 			if (AllowsAll ()) {
 			if (AllowsAll ()) {
 				Source.SetMark(SelectedItem, !Source.IsMarked(SelectedItem));
 				Source.SetMark(SelectedItem, !Source.IsMarked(SelectedItem));
@@ -354,6 +362,10 @@ namespace Terminal.Gui {
 			return false;
 			return false;
 		}
 		}
 
 
+		/// <summary>
+		/// 
+		/// </summary>
+		/// <returns></returns>
 		public virtual bool MovePageUp(){
 		public virtual bool MovePageUp(){
 			int n = (selected - Frame.Height);
 			int n = (selected - Frame.Height);
 			if (n < 0)
 			if (n < 0)
@@ -369,6 +381,10 @@ namespace Terminal.Gui {
 			return true;
 			return true;
 		}
 		}
 
 
+		/// <summary>
+		/// 
+		/// </summary>
+		/// <returns></returns>
 		public virtual bool MovePageDown(){
 		public virtual bool MovePageDown(){
 			var n = (selected + Frame.Height);
 			var n = (selected + Frame.Height);
 			if (n > source.Count)
 			if (n > source.Count)
@@ -387,6 +403,10 @@ namespace Terminal.Gui {
 			return true;
 			return true;
 		}
 		}
 
 
+		/// <summary>
+		/// 
+		/// </summary>
+		/// <returns></returns>
 		public virtual bool MoveDown(){
 		public virtual bool MoveDown(){
 			if (selected + 1 < source.Count){
 			if (selected + 1 < source.Count){
 				selected++;
 				selected++;
@@ -400,6 +420,10 @@ namespace Terminal.Gui {
 			return true;
 			return true;
 		}
 		}
 
 
+		/// <summary>
+		/// 
+		/// </summary>
+		/// <returns></returns>
 		public virtual bool MoveUp(){
 		public virtual bool MoveUp(){
 			if (selected > 0){
 			if (selected > 0){
 				selected--;
 				selected--;
@@ -424,6 +448,7 @@ namespace Terminal.Gui {
 				Move (0, selected - top);
 				Move (0, selected - top);
 		}
 		}
 
 
+		///<inheritdoc cref="MouseEvent(Gui.MouseEvent)"/>
 		public override bool MouseEvent(MouseEvent me)
 		public override bool MouseEvent(MouseEvent me)
 		{
 		{
 			if (!me.Flags.HasFlag (MouseFlags.Button1Clicked))
 			if (!me.Flags.HasFlag (MouseFlags.Button1Clicked))
@@ -460,6 +485,10 @@ namespace Terminal.Gui {
 		BitArray marks;
 		BitArray marks;
 		int count;
 		int count;
 
 
+		/// <summary>
+		/// constructor
+		/// </summary>
+		/// <param name="source"></param>
 		public ListWrapper (IList source)
 		public ListWrapper (IList source)
 		{
 		{
 			count = source.Count;
 			count = source.Count;
@@ -467,6 +496,9 @@ namespace Terminal.Gui {
 			this.src = source;
 			this.src = source;
 		}
 		}
 
 
+		/// <summary>
+		/// Count of items.
+		/// </summary>
 		public int Count => src.Count;
 		public int Count => src.Count;
 
 
 		void RenderUstr (ConsoleDriver driver, ustring ustr, int col, int line, int width)
 		void RenderUstr (ConsoleDriver driver, ustring ustr, int col, int line, int width)
@@ -487,6 +519,16 @@ namespace Terminal.Gui {
 			}
 			}
 		}
 		}
 
 
+		/// <summary>
+		/// Renders an item in the the list.
+		/// </summary>
+		/// <param name="container"></param>
+		/// <param name="driver"></param>
+		/// <param name="marked"></param>
+		/// <param name="item"></param>
+		/// <param name="col"></param>
+		/// <param name="line"></param>
+		/// <param name="width"></param>
 		public void Render (ListView container, ConsoleDriver driver, bool marked, int item, int col, int line, int width)
 		public void Render (ListView container, ConsoleDriver driver, bool marked, int item, int col, int line, int width)
 		{
 		{
 			container.Move (col, line);
 			container.Move (col, line);
@@ -499,6 +541,11 @@ namespace Terminal.Gui {
 				RenderUstr (driver, t.ToString (), col, line, width);
 				RenderUstr (driver, t.ToString (), col, line, width);
 		}
 		}
 
 
+		/// <summary>
+		/// Returns true of the item is marked. false if not.
+		/// </summary>
+		/// <param name="item"></param>
+		/// <returns></returns>
 		public bool IsMarked (int item)
 		public bool IsMarked (int item)
 		{
 		{
 			if (item >= 0 && item < count)
 			if (item >= 0 && item < count)
@@ -506,6 +553,11 @@ namespace Terminal.Gui {
 			return false;
 			return false;
 		}
 		}
 
 
+		/// <summary>
+		/// Sets the marked state of an item.
+		/// </summary>
+		/// <param name="item"></param>
+		/// <param name="value"></param>
 		public void SetMark (int item, bool value)
 		public void SetMark (int item, bool value)
 		{
 		{
 			if (item >= 0 && item < count)
 			if (item >= 0 && item < count)

+ 29 - 6
Terminal.Gui/Views/Menu.cs

@@ -21,6 +21,9 @@ namespace Terminal.Gui {
 	/// </summary>
 	/// </summary>
 	public class MenuItem {
 	public class MenuItem {
 
 
+		/// <summary>
+		/// constructor
+		/// </summary>
 		public MenuItem ()
 		public MenuItem ()
 		{
 		{
 			Title = "";
 			Title = "";
@@ -207,10 +210,10 @@ namespace Terminal.Gui {
 			return len;
 			return len;
 		}
 		}
 
 
-		/// <summary>
-		/// Gets or sets the title to display.
-		/// </summary>
-		/// <value>The title.</value>
+		///// <summary>
+		///// Gets or sets the title to display.
+		///// </summary>
+		///// <value>The title.</value>
 		//public ustring Title { get; set; }
 		//public ustring Title { get; set; }
 
 
 		/// <summary>
 		/// <summary>
@@ -559,6 +562,8 @@ namespace Terminal.Gui {
 		}
 		}
 
 
 		bool openedByAltKey;
 		bool openedByAltKey;
+
+		///<inheritdoc cref="KeyDown"/>
 		public override bool KeyDown (KeyEvent keyEvent)
 		public override bool KeyDown (KeyEvent keyEvent)
 		{
 		{
 			if (keyEvent.IsAlt) {
 			if (keyEvent.IsAlt) {
@@ -615,6 +620,7 @@ namespace Terminal.Gui {
 			return false;
 			return false;
 		}
 		}
 
 
+		///<inheritdoc cref="Redraw"/>
 		public override void Redraw (Rect region)
 		public override void Redraw (Rect region)
 		{
 		{
 			Move (0, 0);
 			Move (0, 0);
@@ -645,6 +651,7 @@ namespace Terminal.Gui {
 			PositionCursor ();
 			PositionCursor ();
 		}
 		}
 
 
+		///<inheritdoc cref="PositionCursor"/>
 		public override void PositionCursor ()
 		public override void PositionCursor ()
 		{
 		{
 			int pos = 0;
 			int pos = 0;
@@ -672,8 +679,16 @@ namespace Terminal.Gui {
 			action = item.Action;
 			action = item.Action;
 		}
 		}
 
 
+		/// <summary>
+		/// Raised as a menu is opened.
+		/// </summary>
 		public event EventHandler OnOpenMenu;
 		public event EventHandler OnOpenMenu;
+
+		/// <summary>
+		/// Raised when a menu is closing.
+		/// </summary>
 		public event EventHandler OnCloseMenu;
 		public event EventHandler OnCloseMenu;
+
 		internal Menu openMenu;
 		internal Menu openMenu;
 		Menu openCurrentMenu;
 		Menu openCurrentMenu;
 		internal List<Menu> openSubMenu;
 		internal List<Menu> openSubMenu;
@@ -681,7 +696,12 @@ namespace Terminal.Gui {
 		internal bool isMenuOpening;
 		internal bool isMenuOpening;
 		internal bool isMenuClosing;
 		internal bool isMenuClosing;
 		internal bool isMenuClosed;
 		internal bool isMenuClosed;
-		public bool MenuOpen;
+
+		/// <summary>
+		/// True of the menu is open; otherwise false.
+		/// </summary>
+		public bool MenuOpen { get; set; }
+
 		View lastFocused;
 		View lastFocused;
 
 
 		/// <summary>
 		/// <summary>
@@ -940,7 +960,7 @@ namespace Terminal.Gui {
 		bool openedByHotKey;
 		bool openedByHotKey;
 		internal bool FindAndOpenMenuByHotkey (KeyEvent kb)
 		internal bool FindAndOpenMenuByHotkey (KeyEvent kb)
 		{
 		{
-			int pos = 0;
+			//int pos = 0;
 			var c = ((uint)kb.Key & (uint)Key.CharMask);
 			var c = ((uint)kb.Key & (uint)Key.CharMask);
 			for (int i = 0; i < Menus.Length; i++) {
 			for (int i = 0; i < Menus.Length; i++) {
 				// TODO: this code is duplicated, hotkey should be part of the MenuBarItem
 				// TODO: this code is duplicated, hotkey should be part of the MenuBarItem
@@ -969,6 +989,7 @@ namespace Terminal.Gui {
 			}
 			}
 		}
 		}
 
 
+		///<inheritdoc cref="ProcessHotKey"/>
 		public override bool ProcessHotKey (KeyEvent kb)
 		public override bool ProcessHotKey (KeyEvent kb)
 		{
 		{
 			if (kb.Key == Key.F9) {
 			if (kb.Key == Key.F9) {
@@ -993,6 +1014,7 @@ namespace Terminal.Gui {
 			return base.ProcessHotKey (kb);
 			return base.ProcessHotKey (kb);
 		}
 		}
 
 
+		///<inheritdoc cref="ProcessKey"/>
 		public override bool ProcessKey (KeyEvent kb)
 		public override bool ProcessKey (KeyEvent kb)
 		{
 		{
 			switch (kb.Key) {
 			switch (kb.Key) {
@@ -1047,6 +1069,7 @@ namespace Terminal.Gui {
 			return true;
 			return true;
 		}
 		}
 
 
+		///<inheritdoc cref="MouseEvent"/>
 		public override bool MouseEvent (MouseEvent me)
 		public override bool MouseEvent (MouseEvent me)
 		{
 		{
 			if (!handled && !HandleGrabView (me, this)) {
 			if (!handled && !HandleGrabView (me, this)) {

+ 8 - 1
Terminal.Gui/Views/ScrollView.cs

@@ -189,6 +189,7 @@ namespace Terminal.Gui {
 			}
 			}
 		}
 		}
 
 
+		///<inheritdoc cref="MouseEvent"/>
 		public override bool MouseEvent(MouseEvent me)
 		public override bool MouseEvent(MouseEvent me)
 		{
 		{
 			if (me.Flags != MouseFlags.Button1Pressed && me.Flags != MouseFlags.Button1Clicked &&
 			if (me.Flags != MouseFlags.Button1Pressed && me.Flags != MouseFlags.Button1Clicked &&
@@ -249,6 +250,10 @@ namespace Terminal.Gui {
 		View contentView;
 		View contentView;
 		ScrollBarView vertical, horizontal;
 		ScrollBarView vertical, horizontal;
 
 
+		/// <summary>
+		/// Constructs a ScrollView
+		/// </summary>
+		/// <param name="frame"></param>
 		public ScrollView (Rect frame) : base (frame)
 		public ScrollView (Rect frame) : base (frame)
 		{
 		{
 			contentView = new View (frame);
 			contentView = new View (frame);
@@ -363,7 +368,7 @@ namespace Terminal.Gui {
 		/// <summary>
 		/// <summary>
 		/// This event is raised when the contents have scrolled
 		/// This event is raised when the contents have scrolled
 		/// </summary>
 		/// </summary>
-		public event Action<ScrollView> Scrolled;
+		//public event Action<ScrollView> Scrolled;
 
 
 		public override void Redraw(Rect region)
 		public override void Redraw(Rect region)
 		{
 		{
@@ -383,6 +388,7 @@ namespace Terminal.Gui {
 			}
 			}
 		}
 		}
 
 
+		///<inheritdoc cref="PositionCursor"/>
 		public override void PositionCursor()
 		public override void PositionCursor()
 		{
 		{
 			if (InternalSubviews.Count == 0)
 			if (InternalSubviews.Count == 0)
@@ -448,6 +454,7 @@ namespace Terminal.Gui {
 			return true;
 			return true;
 		}
 		}
 
 
+		///<inheritdoc cref="ProcessKey"/>
 		public override bool ProcessKey(KeyEvent kb)
 		public override bool ProcessKey(KeyEvent kb)
 		{
 		{
 			if (base.ProcessKey (kb))
 			if (base.ProcessKey (kb))

+ 8 - 0
Terminal.Gui/Views/StatusBar.cs

@@ -85,8 +85,14 @@ namespace Terminal.Gui {
 
 
 		public StatusBarStyle Style { get; set; } = StatusBarStyle.Default;
 		public StatusBarStyle Style { get; set; } = StatusBarStyle.Default;
 #endif
 #endif
+		/// <summary>
+		/// The parent view of the StatusBar.
+		/// </summary>
 		public View Parent { get; set; }
 		public View Parent { get; set; }
 
 
+		/// <summary>
+		/// The items that compose the StatusBar
+		/// </summary>
 		public StatusItem [] Items { get; set; }
 		public StatusItem [] Items { get; set; }
 
 
 		/// <summary>
 		/// <summary>
@@ -132,6 +138,7 @@ namespace Terminal.Gui {
 			return result;
 			return result;
 		}
 		}
 
 
+		///<inheritdoc cref="Redraw"/>
 		public override void Redraw (Rect region)
 		public override void Redraw (Rect region)
 		{
 		{
 			if (Frame.Y != Driver.Rows - 1) {
 			if (Frame.Y != Driver.Rows - 1) {
@@ -161,6 +168,7 @@ namespace Terminal.Gui {
 			}
 			}
 		}
 		}
 
 
+		///<inheritdoc cref="ProcessHotKey"/>
 		public override bool ProcessHotKey (KeyEvent kb)
 		public override bool ProcessHotKey (KeyEvent kb)
 		{
 		{
 			foreach (var item in Items) {
 			foreach (var item in Items) {

+ 3 - 14
Terminal.Gui/Views/TextView.cs

@@ -566,10 +566,7 @@ namespace Terminal.Gui {
 			PositionCursor ();
 			PositionCursor ();
 		}
 		}
 
 
-		/// <summary>
-		/// Gets or sets a value indicating whether this <see cref="Responder" /> can focus.
-		/// </summary>
-		/// <value><c>true</c> if can focus; otherwise, <c>false</c>.</value>
+		///<inheritdoc cref="CanFocus"/>
 		public override bool CanFocus {
 		public override bool CanFocus {
 			get => true;
 			get => true;
 			set { base.CanFocus = value; }
 			set { base.CanFocus = value; }
@@ -717,11 +714,7 @@ namespace Terminal.Gui {
 
 
 		bool lastWasKill;
 		bool lastWasKill;
 
 
-		/// <summary>
-		/// Process the keys from the keyboard.
-		/// </summary>
-		/// <param name="kb">Contains the details about the key that produced the event.</param>
-		/// <returns><c>true</c>If the event was handled.<c>false</c>otherwise.</returns>
+		///<inheritdoc cref="ProcessKey"/>
 		public override bool ProcessKey (KeyEvent kb)
 		public override bool ProcessKey (KeyEvent kb)
 		{
 		{
 			int restCount;
 			int restCount;
@@ -1179,11 +1172,7 @@ namespace Terminal.Gui {
 			return null;
 			return null;
 		}
 		}
 
 
-		/// <summary>
-		/// Method invoked when a mouse event is generated
-		/// </summary>
-		/// <returns><c>true</c>, if the event was handled, <c>false</c> otherwise.</returns>
-		/// <param name="ev">Contains the details about the mouse event.</param>
+		///<inheritdoc cref="MouseEvent"/>
 		public override bool MouseEvent (MouseEvent ev)
 		public override bool MouseEvent (MouseEvent ev)
 		{
 		{
 			if (!ev.Flags.HasFlag (MouseFlags.Button1Clicked)) {
 			if (!ev.Flags.HasFlag (MouseFlags.Button1Clicked)) {