浏览代码

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 年之前
父节点
当前提交
cb624ce7b6

+ 24 - 14
Terminal.Gui/Core.cs

@@ -899,10 +899,7 @@ namespace Terminal.Gui {
 				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 {
 			get {
 				return base.HasFocus;
@@ -925,12 +922,14 @@ namespace Terminal.Gui {
 			}
 		}
 
+		/// <inheritdoc cref="OnEnter"/>
 		public override bool OnEnter ()
 		{
 			Enter?.Invoke (this, new EventArgs ());
 			return base.OnEnter ();
 		}
 
+		/// <inheritdoc cref="OnLeave"/>
 		public override bool OnLeave ()
 		{
 			Leave?.Invoke (this, new EventArgs ());
@@ -1071,7 +1070,7 @@ namespace Terminal.Gui {
 		/// </summary>
 		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)
 		{
 			OnKeyPress?.Invoke (keyEvent);
@@ -1081,7 +1080,7 @@ namespace Terminal.Gui {
 			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)
 		{
 			OnKeyPress?.Invoke (keyEvent);
@@ -1093,7 +1092,7 @@ namespace Terminal.Gui {
 			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)
 		{
 			OnKeyPress?.Invoke (keyEvent);
@@ -1110,7 +1109,7 @@ namespace Terminal.Gui {
 		/// </summary>
 		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)
 		{
 			OnKeyDown?.Invoke (keyEvent);
@@ -1128,7 +1127,7 @@ namespace Terminal.Gui {
 		/// </summary>
 		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)
 		{
 			OnKeyUp?.Invoke (keyEvent);
@@ -1140,6 +1139,7 @@ namespace Terminal.Gui {
 
 			return false;
 		}
+
 		/// <summary>
 		/// Finds the first view in the hierarchy that wants to get the focus if nothing is currently focused, otherwise, it does nothing.
 		/// </summary>
@@ -1410,15 +1410,13 @@ namespace Terminal.Gui {
 			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 ()
 		{
 			return $"{GetType ().Name}({Id})({Frame})";
 		}
 
+		/// <inheritdoc cref="OnMouseEnter(Gui.MouseEvent)"/>
 		public override bool OnMouseEnter (MouseEvent mouseEvent)
 		{
 			if (!base.OnMouseEnter (mouseEvent)) {
@@ -1428,6 +1426,7 @@ namespace Terminal.Gui {
 			return true;
 		}
 
+		/// <inheritdoc cref="OnMouseLeave(Gui.MouseEvent)"/>
 		public override bool OnMouseLeave (MouseEvent mouseEvent)
 		{
 			if (!base.OnMouseLeave (mouseEvent)) {
@@ -1508,6 +1507,10 @@ namespace Terminal.Gui {
 			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 {
 			get => true;
 		}
@@ -1529,6 +1532,7 @@ namespace Terminal.Gui {
 		/// </summary>
 		public bool HasStatusBar { get; set; }
 
+		///<inheritdoc cref="ProcessKey"/>
 		public override bool ProcessKey (KeyEvent keyEvent)
 		{
 			if (base.ProcessKey (keyEvent))
@@ -1580,6 +1584,7 @@ namespace Terminal.Gui {
 			return false;
 		}
 
+		///<inheritdoc cref="Add"/>
 		public override void Add (View view)
 		{
 			if (this == Application.Top) {
@@ -1591,6 +1596,7 @@ namespace Terminal.Gui {
 			base.Add (view);
 		}
 
+		///<inheritdoc cref="Remove"/>
 		public override void Remove (View view)
 		{
 			if (this == Application.Top) {
@@ -1602,6 +1608,7 @@ namespace Terminal.Gui {
 			base.Remove (view);
 		}
 
+		///<inheritdoc cref="RemoveAll"/>
 		public override void RemoveAll ()
 		{
 			if (this == Application.Top) {
@@ -1656,6 +1663,7 @@ namespace Terminal.Gui {
 			}
 		}
 
+		///<inheritdoc cref="Redraw"/>
 		public override void Redraw (Rect region)
 		{
 			Application.CurrentView = this;
@@ -1838,6 +1846,7 @@ namespace Terminal.Gui {
 			contentView.RemoveAll ();
 		}
 
+		///<inheritdoc cref="Redraw"/>
 		public override void Redraw (Rect bounds)
 		{
 			Application.CurrentView = this;
@@ -1873,6 +1882,7 @@ namespace Terminal.Gui {
 		//
 		internal static Point? dragPosition;
 		Point start;
+		///<inheritdoc cref="MouseEvent(Gui.MouseEvent)"/>
 		public override bool MouseEvent (MouseEvent mouseEvent)
 		{
 			// 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.
 		static void DrawBounds (View v)

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

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

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

@@ -466,9 +466,11 @@ namespace Terminal.Gui {
 		/// <summary>
 		/// Prepare the driver and set the key and mouse events handlers.
 		/// </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);
 
 		/// <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.
 	/// </summary>
 	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 Rows => Curses.Lines;
 
@@ -37,7 +38,7 @@ namespace Terminal.Gui {
 			}
 		}
 
-		static bool sync;
+		static bool sync = false;
 		public override void AddRune (Rune rune)
 		{
 			if (Clip.Contains (ccol, crow)) {
@@ -490,6 +491,7 @@ namespace Terminal.Gui {
 			killpg (0, signal);
 			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;
 		}
 
-		static bool sync;
+		static bool sync = false;
 
 		public NetDriver ()
 		{

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

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

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

@@ -37,7 +37,11 @@ namespace Mono.Terminal.Internal {
 		const string XamarinIOSObjectClassName = "Foundation.NSObject, Xamarin.iOS";
 		static bool IsWindows, IsLinux, IsMacOS;
 		static bool Is64Bit;
+#if GUICS
+		static bool IsMono;
+#else
 		static bool IsMono, IsUnity, IsXamarinIOS, IsXamarinAndroid, IsXamarin;
+#endif
 		static bool IsNetCore;
 
 		public static bool IsMacOSPlatform => IsMacOS;
@@ -75,7 +79,7 @@ namespace Mono.Terminal.Internal {
 				IsNetCore = Type.GetType ("System.MathF") != null;
 			}
 #if GUICS
-			IsUnity = IsXamarinIOS = IsXamarinAndroid = IsXamarin = false;
+			//IsUnity = IsXamarinIOS = IsXamarinAndroid = IsXamarin = false;
 #else
 			IsUnity = Type.GetType (UnityEngineApplicationClassName) != 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;
 
 namespace Unix.Terminal {
+#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
 
 	public partial class Curses {
 		[StructLayout (LayoutKind.Sequential)]
@@ -61,7 +62,7 @@ namespace Unix.Terminal {
 		static IntPtr curses_handle, curscr_ptr, lines_ptr, cols_ptr;
 
 		// 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 NativeMethods methods;
@@ -451,4 +452,5 @@ namespace Unix.Terminal {
 			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;
 
 namespace Unix.Terminal {
+#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
 	public partial class Curses {
 		public const int A_NORMAL = unchecked((int)0x0);
 		public const int A_STANDOUT = unchecked((int)0x10000);
@@ -139,4 +140,5 @@ namespace Unix.Terminal {
 			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 {
 
 	public partial class Curses {
+#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
 		public class Window {
 			public readonly IntPtr Handle;
 			static Window curscr;
@@ -167,7 +168,8 @@ namespace Unix.Terminal {
 	 			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>
 		/// <param name="wait">If set to <c>true</c> wait until an event is available, otherwise return immediately.</param>
 		bool EventsPending (bool wait);
+
+		/// <summary>
+		/// The interation function.
+		/// </summary>
 		void MainIteration ();
 	}
 

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

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

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

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

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

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

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

@@ -329,6 +329,10 @@ namespace Terminal.Gui {
 			return base.ProcessKey (kb);
 		}
 
+		/// <summary>
+		/// 
+		/// </summary>
+		/// <returns></returns>
 		public virtual bool AllowsAll ()
 		{
 			if (!allowsMarking)
@@ -344,6 +348,10 @@ namespace Terminal.Gui {
 			return true;
 		}
 
+		/// <summary>
+		/// 
+		/// </summary>
+		/// <returns></returns>
 		public virtual bool MarkUnmarkRow(){
 			if (AllowsAll ()) {
 				Source.SetMark(SelectedItem, !Source.IsMarked(SelectedItem));
@@ -354,6 +362,10 @@ namespace Terminal.Gui {
 			return false;
 		}
 
+		/// <summary>
+		/// 
+		/// </summary>
+		/// <returns></returns>
 		public virtual bool MovePageUp(){
 			int n = (selected - Frame.Height);
 			if (n < 0)
@@ -369,6 +381,10 @@ namespace Terminal.Gui {
 			return true;
 		}
 
+		/// <summary>
+		/// 
+		/// </summary>
+		/// <returns></returns>
 		public virtual bool MovePageDown(){
 			var n = (selected + Frame.Height);
 			if (n > source.Count)
@@ -387,6 +403,10 @@ namespace Terminal.Gui {
 			return true;
 		}
 
+		/// <summary>
+		/// 
+		/// </summary>
+		/// <returns></returns>
 		public virtual bool MoveDown(){
 			if (selected + 1 < source.Count){
 				selected++;
@@ -400,6 +420,10 @@ namespace Terminal.Gui {
 			return true;
 		}
 
+		/// <summary>
+		/// 
+		/// </summary>
+		/// <returns></returns>
 		public virtual bool MoveUp(){
 			if (selected > 0){
 				selected--;
@@ -424,6 +448,7 @@ namespace Terminal.Gui {
 				Move (0, selected - top);
 		}
 
+		///<inheritdoc cref="MouseEvent(Gui.MouseEvent)"/>
 		public override bool MouseEvent(MouseEvent me)
 		{
 			if (!me.Flags.HasFlag (MouseFlags.Button1Clicked))
@@ -460,6 +485,10 @@ namespace Terminal.Gui {
 		BitArray marks;
 		int count;
 
+		/// <summary>
+		/// constructor
+		/// </summary>
+		/// <param name="source"></param>
 		public ListWrapper (IList source)
 		{
 			count = source.Count;
@@ -467,6 +496,9 @@ namespace Terminal.Gui {
 			this.src = source;
 		}
 
+		/// <summary>
+		/// Count of items.
+		/// </summary>
 		public int Count => src.Count;
 
 		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)
 		{
 			container.Move (col, line);
@@ -499,6 +541,11 @@ namespace Terminal.Gui {
 				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)
 		{
 			if (item >= 0 && item < count)
@@ -506,6 +553,11 @@ namespace Terminal.Gui {
 			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)
 		{
 			if (item >= 0 && item < count)

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

@@ -21,6 +21,9 @@ namespace Terminal.Gui {
 	/// </summary>
 	public class MenuItem {
 
+		/// <summary>
+		/// constructor
+		/// </summary>
 		public MenuItem ()
 		{
 			Title = "";
@@ -207,10 +210,10 @@ namespace Terminal.Gui {
 			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; }
 
 		/// <summary>
@@ -559,6 +562,8 @@ namespace Terminal.Gui {
 		}
 
 		bool openedByAltKey;
+
+		///<inheritdoc cref="KeyDown"/>
 		public override bool KeyDown (KeyEvent keyEvent)
 		{
 			if (keyEvent.IsAlt) {
@@ -615,6 +620,7 @@ namespace Terminal.Gui {
 			return false;
 		}
 
+		///<inheritdoc cref="Redraw"/>
 		public override void Redraw (Rect region)
 		{
 			Move (0, 0);
@@ -645,6 +651,7 @@ namespace Terminal.Gui {
 			PositionCursor ();
 		}
 
+		///<inheritdoc cref="PositionCursor"/>
 		public override void PositionCursor ()
 		{
 			int pos = 0;
@@ -672,8 +679,16 @@ namespace Terminal.Gui {
 			action = item.Action;
 		}
 
+		/// <summary>
+		/// Raised as a menu is opened.
+		/// </summary>
 		public event EventHandler OnOpenMenu;
+
+		/// <summary>
+		/// Raised when a menu is closing.
+		/// </summary>
 		public event EventHandler OnCloseMenu;
+
 		internal Menu openMenu;
 		Menu openCurrentMenu;
 		internal List<Menu> openSubMenu;
@@ -681,7 +696,12 @@ namespace Terminal.Gui {
 		internal bool isMenuOpening;
 		internal bool isMenuClosing;
 		internal bool isMenuClosed;
-		public bool MenuOpen;
+
+		/// <summary>
+		/// True of the menu is open; otherwise false.
+		/// </summary>
+		public bool MenuOpen { get; set; }
+
 		View lastFocused;
 
 		/// <summary>
@@ -940,7 +960,7 @@ namespace Terminal.Gui {
 		bool openedByHotKey;
 		internal bool FindAndOpenMenuByHotkey (KeyEvent kb)
 		{
-			int pos = 0;
+			//int pos = 0;
 			var c = ((uint)kb.Key & (uint)Key.CharMask);
 			for (int i = 0; i < Menus.Length; i++) {
 				// 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)
 		{
 			if (kb.Key == Key.F9) {
@@ -993,6 +1014,7 @@ namespace Terminal.Gui {
 			return base.ProcessHotKey (kb);
 		}
 
+		///<inheritdoc cref="ProcessKey"/>
 		public override bool ProcessKey (KeyEvent kb)
 		{
 			switch (kb.Key) {
@@ -1047,6 +1069,7 @@ namespace Terminal.Gui {
 			return true;
 		}
 
+		///<inheritdoc cref="MouseEvent"/>
 		public override bool MouseEvent (MouseEvent me)
 		{
 			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)
 		{
 			if (me.Flags != MouseFlags.Button1Pressed && me.Flags != MouseFlags.Button1Clicked &&
@@ -249,6 +250,10 @@ namespace Terminal.Gui {
 		View contentView;
 		ScrollBarView vertical, horizontal;
 
+		/// <summary>
+		/// Constructs a ScrollView
+		/// </summary>
+		/// <param name="frame"></param>
 		public ScrollView (Rect frame) : base (frame)
 		{
 			contentView = new View (frame);
@@ -363,7 +368,7 @@ namespace Terminal.Gui {
 		/// <summary>
 		/// This event is raised when the contents have scrolled
 		/// </summary>
-		public event Action<ScrollView> Scrolled;
+		//public event Action<ScrollView> Scrolled;
 
 		public override void Redraw(Rect region)
 		{
@@ -383,6 +388,7 @@ namespace Terminal.Gui {
 			}
 		}
 
+		///<inheritdoc cref="PositionCursor"/>
 		public override void PositionCursor()
 		{
 			if (InternalSubviews.Count == 0)
@@ -448,6 +454,7 @@ namespace Terminal.Gui {
 			return true;
 		}
 
+		///<inheritdoc cref="ProcessKey"/>
 		public override bool ProcessKey(KeyEvent 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;
 #endif
+		/// <summary>
+		/// The parent view of the StatusBar.
+		/// </summary>
 		public View Parent { get; set; }
 
+		/// <summary>
+		/// The items that compose the StatusBar
+		/// </summary>
 		public StatusItem [] Items { get; set; }
 
 		/// <summary>
@@ -132,6 +138,7 @@ namespace Terminal.Gui {
 			return result;
 		}
 
+		///<inheritdoc cref="Redraw"/>
 		public override void Redraw (Rect region)
 		{
 			if (Frame.Y != Driver.Rows - 1) {
@@ -161,6 +168,7 @@ namespace Terminal.Gui {
 			}
 		}
 
+		///<inheritdoc cref="ProcessHotKey"/>
 		public override bool ProcessHotKey (KeyEvent kb)
 		{
 			foreach (var item in Items) {

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

@@ -566,10 +566,7 @@ namespace Terminal.Gui {
 			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 {
 			get => true;
 			set { base.CanFocus = value; }
@@ -717,11 +714,7 @@ namespace Terminal.Gui {
 
 		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)
 		{
 			int restCount;
@@ -1179,11 +1172,7 @@ namespace Terminal.Gui {
 			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)
 		{
 			if (!ev.Flags.HasFlag (MouseFlags.Button1Clicked)) {