2
0
Эх сурвалжийг харах

Merge pull request #1670 from tig/uicat_scenarios

Cleanup of UI Catalog scenarios
Tig Kindel 3 жил өмнө
parent
commit
30404643be
53 өөрчлөгдсөн 108 нэмэгдсэн , 169 устгасан
  1. 7 1
      UICatalog/Scenario.cs
  2. 4 2
      UICatalog/Scenarios/AllViewsTester.cs
  3. 2 2
      UICatalog/Scenarios/AutoSizeAndDirectionText.cs
  4. 1 1
      UICatalog/Scenarios/BackgroundWorkerCollection.cs
  5. 1 0
      UICatalog/Scenarios/BasicColors.cs
  6. 2 1
      UICatalog/Scenarios/Borders.cs
  7. 2 1
      UICatalog/Scenarios/BordersComparisons.cs
  8. 2 1
      UICatalog/Scenarios/BordersOnFrameView.cs
  9. 3 2
      UICatalog/Scenarios/BordersOnToplevel.cs
  10. 3 2
      UICatalog/Scenarios/BordersOnWindow.cs
  11. 1 1
      UICatalog/Scenarios/Buttons.cs
  12. 4 3
      UICatalog/Scenarios/CharacterMap.cs
  13. 1 1
      UICatalog/Scenarios/ClassExplorer.cs
  14. 1 1
      UICatalog/Scenarios/Clipping.cs
  15. 1 1
      UICatalog/Scenarios/ComputedLayout.cs
  16. 2 2
      UICatalog/Scenarios/ContextMenus.cs
  17. 5 3
      UICatalog/Scenarios/CsvEditor.cs
  18. 0 1
      UICatalog/Scenarios/Dialogs.cs
  19. 3 2
      UICatalog/Scenarios/DynamicMenuBar.cs
  20. 1 1
      UICatalog/Scenarios/DynamicStatusBar.cs
  21. 6 4
      UICatalog/Scenarios/Editor.cs
  22. 2 2
      UICatalog/Scenarios/GraphViewExample.cs
  23. 4 4
      UICatalog/Scenarios/HexEditor.cs
  24. 1 1
      UICatalog/Scenarios/InteractiveTree.cs
  25. 1 0
      UICatalog/Scenarios/InvertColors.cs
  26. 1 1
      UICatalog/Scenarios/Keys.cs
  27. 1 1
      UICatalog/Scenarios/LabelsAsButtons.cs
  28. 2 2
      UICatalog/Scenarios/LineViewExample.cs
  29. 1 1
      UICatalog/Scenarios/MessageBoxes.cs
  30. 1 1
      UICatalog/Scenarios/Mouse.cs
  31. 4 2
      UICatalog/Scenarios/MultiColouredTable.cs
  32. 1 1
      UICatalog/Scenarios/Notepad.cs
  33. 1 2
      UICatalog/Scenarios/Progress.cs
  34. 4 2
      UICatalog/Scenarios/ProgressBarStyles.cs
  35. 0 1
      UICatalog/Scenarios/Scrolling.cs
  36. 1 1
      UICatalog/Scenarios/SendKeys.cs
  37. 1 3
      UICatalog/Scenarios/SingleBackgroundWorker.cs
  38. 4 2
      UICatalog/Scenarios/SyntaxHighlighting.cs
  39. 0 35
      UICatalog/Scenarios/SystemConsole.cs
  40. 1 1
      UICatalog/Scenarios/TabViewExample.cs
  41. 4 4
      UICatalog/Scenarios/TableEditor.cs
  42. 2 1
      UICatalog/Scenarios/Text.cs
  43. 2 2
      UICatalog/Scenarios/TextAlignments.cs
  44. 2 2
      UICatalog/Scenarios/TextAlignmentsAndDirection.cs
  45. 1 2
      UICatalog/Scenarios/TextFormatterDemo.cs
  46. 4 2
      UICatalog/Scenarios/TextViewAutocompletePopup.cs
  47. 0 1
      UICatalog/Scenarios/TimeAndDate.cs
  48. 0 48
      UICatalog/Scenarios/TopLevelNoWindowBug.cs
  49. 1 1
      UICatalog/Scenarios/TreeUseCases.cs
  50. 2 2
      UICatalog/Scenarios/TreeViewFileSystem.cs
  51. 2 2
      UICatalog/Scenarios/Unicode.cs
  52. 1 3
      UICatalog/Scenarios/WindowsAndFrameViews.cs
  53. 4 3
      UICatalog/UICatalog.cs

+ 7 - 1
UICatalog/Scenario.cs

@@ -213,12 +213,18 @@ namespace UICatalog {
 		/// </summary>
 		internal static List<string> GetAllCategories ()
 		{
-			List<string> categories = new List<string> () { "_All" };
+			List<string> categories = new List<string> ();
 			foreach (Type type in typeof (Scenario).Assembly.GetTypes ()
 			 .Where (myType => myType.IsClass && !myType.IsAbstract && myType.IsSubclassOf (typeof (Scenario)))) {
 				List<System.Attribute> attrs = System.Attribute.GetCustomAttributes (type).ToList ();
 				categories = categories.Union (attrs.Where (a => a is ScenarioCategory).Select (a => ((ScenarioCategory)a).Name)).ToList ();
 			}
+
+			// Sort
+			categories = categories.OrderBy (c => c).ToList ();
+
+			// Put "All" at the top
+			categories.Insert (0, "All Scenarios");
 			return categories;
 		}
 

+ 4 - 2
UICatalog/Scenarios/AllViewsTester.cs

@@ -9,8 +9,10 @@ using System.Text;
 using Terminal.Gui;
 
 namespace UICatalog.Scenarios {
-	[ScenarioMetadata (Name: "All Views Tester", Description: "Provides a test UI for all classes derived from View")]
-	[ScenarioCategory ("Layout"), ScenarioCategory ("StatusBar")]
+	[ScenarioMetadata (Name: "All Views Tester", Description: "Provides a test UI for all classes derived from View.")]
+	[ScenarioCategory ("Layout")]
+	[ScenarioCategory ("Tests")]
+	[ScenarioCategory ("Top Level Windows")]
 	public class AllViewsTester : Scenario {
 		Window _leftPane;
 		ListView _classListView;

+ 2 - 2
UICatalog/Scenarios/AutoSizeAndDirectionText.cs

@@ -1,8 +1,8 @@
 using Terminal.Gui;
 
 namespace UICatalog.Scenarios {
-	[ScenarioMetadata (Name: "AutoSize and Direction Text", Description: "Demonstrates the text auto-size and direction manipulation.")]
-	[ScenarioCategory ("Text"), ScenarioCategory ("AutoSize"), ScenarioCategory ("Direction")]
+	[ScenarioMetadata (Name: "Text Direction and AutoSize", Description: "Demos TextFormatter Direction and View AutoSize.")]
+	[ScenarioCategory ("Text and Formatting")]
 	public class AutoSizeAndDirectionText : Scenario {
 		public override void Setup ()
 		{

+ 1 - 1
UICatalog/Scenarios/BackgroundWorkerCollection.cs

@@ -8,7 +8,7 @@ using Terminal.Gui;
 namespace UICatalog.Scenarios {
 	[ScenarioMetadata (Name: "BackgroundWorker Collection", Description: "A persisting multi Toplevel BackgroundWorker threading")]
 	[ScenarioCategory ("Threading")]
-	[ScenarioCategory ("TopLevel")]
+	[ScenarioCategory ("Top Level Windows")]
 	[ScenarioCategory ("Dialogs")]
 	[ScenarioCategory ("Controls")]
 	public class BackgroundWorkerCollection : Scenario {

+ 1 - 0
UICatalog/Scenarios/BasicColors.cs

@@ -3,6 +3,7 @@
 namespace UICatalog.Scenarios {
 	[ScenarioMetadata (Name: "Basic Colors", Description: "Show all basic colors.")]
 	[ScenarioCategory ("Colors")]
+	[ScenarioCategory ("Text and Formatting")]
 	public class BasicColors : Scenario {
 		public override void Setup ()
 		{

+ 2 - 1
UICatalog/Scenarios/Borders.cs

@@ -5,7 +5,8 @@ using Terminal.Gui;
 
 namespace UICatalog.Scenarios {
 	[ScenarioMetadata (Name: "Borders with/without PanelView", Description: "Demonstrate with/without PanelView borders manipulation.")]
-	[ScenarioCategory ("Border")]
+	[ScenarioCategory ("Layout")]
+	[ScenarioCategory ("Borders")]
 	public class Borders : Scenario {
 		public override void Setup ()
 		{

+ 2 - 1
UICatalog/Scenarios/BordersComparisons.cs

@@ -2,7 +2,8 @@
 
 namespace UICatalog.Scenarios {
 	[ScenarioMetadata (Name: "Borders Comparisons", Description: "Compares Window, Toplevel and FrameView borders.")]
-	[ScenarioCategory ("Border")]
+	[ScenarioCategory ("Layout")]
+	[ScenarioCategory ("Borders")]
 	public class BordersComparisons : Scenario {
 		public override void Init (Toplevel top, ColorScheme colorScheme)
 		{

+ 2 - 1
UICatalog/Scenarios/BordersOnFrameView.cs

@@ -5,7 +5,8 @@ using Terminal.Gui;
 
 namespace UICatalog.Scenarios {
 	[ScenarioMetadata (Name: "Borders on FrameView", Description: "Demonstrate FrameView borders manipulation.")]
-	[ScenarioCategory ("Border")]
+	[ScenarioCategory ("Layout")]
+	[ScenarioCategory ("Borders")]
 	public class BordersOnFrameView : Scenario {
 		public override void Setup ()
 		{

+ 3 - 2
UICatalog/Scenarios/BordersOnToplevel.cs

@@ -4,8 +4,9 @@ using System.Linq;
 using Terminal.Gui;
 
 namespace UICatalog.Scenarios {
-	[ScenarioMetadata (Name: "Borders on Toplevel", Description: "Demonstrate Toplevel borders manipulation.")]
-	[ScenarioCategory ("Border")]
+	[ScenarioMetadata (Name: "Borders on Toplevel", Description: "Demonstrates Toplevel borders manipulation.")]
+	[ScenarioCategory ("Layout")]
+	[ScenarioCategory ("Borders")]
 	public class BordersOnToplevel : Scenario {
 		public override void Setup ()
 		{

+ 3 - 2
UICatalog/Scenarios/BordersOnWindow.cs

@@ -4,8 +4,9 @@ using System.Linq;
 using Terminal.Gui;
 
 namespace UICatalog.Scenarios {
-	[ScenarioMetadata (Name: "Borders on Window", Description: "Demonstrate Window borders manipulation.")]
-	[ScenarioCategory ("Border")]
+	[ScenarioMetadata (Name: "Borders on Window", Description: "Demonstrates Window borders manipulation.")]
+	[ScenarioCategory ("Layout")]
+	[ScenarioCategory ("Borders")]
 	public class BordersOnWindow : Scenario {
 		public override void Setup ()
 		{

+ 1 - 1
UICatalog/Scenarios/Buttons.cs

@@ -6,7 +6,7 @@ using System.Reflection;
 using Terminal.Gui;
 
 namespace UICatalog.Scenarios {
-	[ScenarioMetadata (Name: "Buttons", Description: "Demonstrates all sorts of Buttons")]
+	[ScenarioMetadata (Name: "Buttons", Description: "Demonstrates all sorts of Buttons.")]
 	[ScenarioCategory ("Controls")]
 	[ScenarioCategory ("Layout")]
 	public class Buttons : Scenario {

+ 4 - 3
UICatalog/Scenarios/CharacterMap.cs

@@ -15,9 +15,10 @@ namespace UICatalog.Scenarios {
 	///   - Helps test unicode character rendering in Terminal.Gui
 	///   - Illustrates how to use ScrollView to do infinite scrolling
 	/// </summary>
-	[ScenarioMetadata (Name: "Character Map", Description: "Illustrates a custom control and Unicode")]
-	[ScenarioCategory ("Text")]
-	[ScenarioCategory ("Controls"), ScenarioCategory ("ScrollView")]
+	[ScenarioMetadata (Name: "Character Map", Description: "A Unicode character set viewier built as a custom control using the ScrollView control.")]
+	[ScenarioCategory ("Text and Formatting")]
+	[ScenarioCategory ("Controls")]
+	[ScenarioCategory ("ScrollView")]
 	public class CharacterMap : Scenario {
 		CharMap _charMap;
 		public override void Setup ()

+ 1 - 1
UICatalog/Scenarios/ClassExplorer.cs

@@ -9,7 +9,7 @@ using Terminal.Gui.Trees;
 
 namespace UICatalog.Scenarios {
 
-	[ScenarioMetadata (Name: "Class Explorer", Description: "Tree view explorer for classes by namespace based on TreeView")]
+	[ScenarioMetadata (Name: "Class Explorer", Description: "Tree view explorer for classes by namespace based on TreeView.")]
 	[ScenarioCategory ("Controls"), ScenarioCategory ("TreeView")]
 	public class ClassExplorer : Scenario {
 		private TreeView<object> treeView;

+ 1 - 1
UICatalog/Scenarios/Clipping.cs

@@ -3,7 +3,7 @@ using Terminal.Gui;
 
 namespace UICatalog.Scenarios {
 	[ScenarioMetadata (Name: "Clipping", Description: "Used to test that things clip correctly")]
-	[ScenarioCategory ("Bug Repro")]
+	[ScenarioCategory ("Tests")]
 
 	public class Clipping : Scenario {
 

+ 1 - 1
UICatalog/Scenarios/ComputedLayout.cs

@@ -13,7 +13,7 @@ namespace UICatalog.Scenarios {
 	/// [x] - Using Dim.Fill and Dim.Pos to automatically align controls based on an initial control
 	/// [ ] - ...
 	/// </summary>
-	[ScenarioMetadata (Name: "Computed Layout", Description: "Demonstrates using the Computed (Dim and Pos) Layout System")]
+	[ScenarioMetadata (Name: "Computed Layout", Description: "Demonstrates the Computed (Dim and Pos) Layout System.")]
 	[ScenarioCategory ("Layout")]
 	public class ComputedLayout : Scenario {
 

+ 2 - 2
UICatalog/Scenarios/ContextMenus.cs

@@ -4,8 +4,8 @@ using System.Threading;
 using Terminal.Gui;
 
 namespace UICatalog.Scenarios {
-	[ScenarioMetadata (Name: "ContextMenus", Description: "Context Menu Sample")]
-	[ScenarioCategory ("Menu"), ScenarioCategory ("ContextMenu")]
+	[ScenarioMetadata (Name: "ContextMenus", Description: "Context Menu Sample.")]
+	[ScenarioCategory ("Menus")]
 	public class ContextMenus : Scenario {
 		private ContextMenu contextMenu = new ContextMenu ();
 		private readonly List<CultureInfo> cultureInfos = Application.SupportedCultures;

+ 5 - 3
UICatalog/Scenarios/CsvEditor.cs

@@ -11,12 +11,14 @@ using NStack;
 
 namespace UICatalog.Scenarios {
 
-	[ScenarioMetadata (Name: "Csv Editor", Description: "Open and edit simple CSV files")]
+	[ScenarioMetadata (Name: "Csv Editor", Description: "Open and edit simple CSV files using the TableView class.")]
+	[ScenarioCategory ("TableView")]
 	[ScenarioCategory ("Controls")]
 	[ScenarioCategory ("Dialogs")]
-	[ScenarioCategory ("Text")]
+	[ScenarioCategory ("Text and Formatting")]
 	[ScenarioCategory ("Dialogs")]
-	[ScenarioCategory ("TopLevel")]
+	[ScenarioCategory ("Top Level Windows")]
+	[ScenarioCategory ("Files and IO")]
 	public class CsvEditor : Scenario 
 	{
 		TableView tableView;

+ 0 - 1
UICatalog/Scenarios/Dialogs.cs

@@ -7,7 +7,6 @@ using Terminal.Gui;
 
 namespace UICatalog.Scenarios {
 	[ScenarioMetadata (Name: "Dialogs", Description: "Demonstrates how to the Dialog class")]
-	[ScenarioCategory ("Controls")]
 	[ScenarioCategory ("Dialogs")]
 	public class Dialogs : Scenario {
 		public override void Setup ()

+ 3 - 2
UICatalog/Scenarios/DynamicMenuBar.cs

@@ -9,8 +9,9 @@ using System.Text;
 using Terminal.Gui;
 
 namespace UICatalog.Scenarios {
-	[ScenarioMetadata (Name: "Dynamic MenuBar", Description: "Demonstrates how to add and remove a MenuBar, Menus and change titles dynamically.")]
-	[ScenarioCategory ("Menu")]
+	[ScenarioMetadata (Name: "Dynamic MenuBar", Description: "Demonstrates how to change a MenuBar dynamically.")]
+	[ScenarioCategory ("Top Level Windows")]
+	[ScenarioCategory ("Menus")]
 	public class DynamicMenuBar : Scenario {
 		public override void Init (Toplevel top, ColorScheme colorScheme)
 		{

+ 1 - 1
UICatalog/Scenarios/DynamicStatusBar.cs

@@ -10,7 +10,7 @@ using Terminal.Gui;
 
 namespace UICatalog.Scenarios {
 	[ScenarioMetadata (Name: "Dynamic StatusBar", Description: "Demonstrates how to add and remove a StatusBar and change items dynamically.")]
-	[ScenarioCategory ("StatusBar")]
+	[ScenarioCategory ("Top Level Windows")]
 	public class DynamicStatusBar : Scenario {
 		public override void Init (Toplevel top, ColorScheme colorScheme)
 		{

+ 6 - 4
UICatalog/Scenarios/Editor.cs

@@ -8,12 +8,14 @@ using System.Threading;
 using System.Globalization;
 
 namespace UICatalog.Scenarios {
-	[ScenarioMetadata (Name: "Editor", Description: "A Terminal.Gui Text Editor via TextView")]
+	[ScenarioMetadata (Name: "Editor", Description: "A Text Editor using the TextView control.")]
 	[ScenarioCategory ("Controls")]
 	[ScenarioCategory ("Dialogs")]
-	[ScenarioCategory ("Text")]
-	[ScenarioCategory ("Dialogs")]
-	[ScenarioCategory ("TopLevel")]
+	[ScenarioCategory ("Text and Formatting")]
+	[ScenarioCategory ("Top Level Windows")]
+	[ScenarioCategory ("Files and IO")]
+	[ScenarioCategory ("TextView")]
+
 	public class Editor : Scenario {
 		private string _fileName = "demo.txt";
 		private TextView _textView;

+ 2 - 2
UICatalog/Scenarios/GraphViewExample.cs

@@ -8,8 +8,8 @@ using Color = Terminal.Gui.Color;
 
 namespace UICatalog.Scenarios {
 
-	[ScenarioMetadata (Name: "Graph View", Description: "Demos GraphView control")]
-	[ScenarioCategory ("Controls"), ScenarioCategory ("Graph")]
+	[ScenarioMetadata (Name: "Graph View", Description: "Demos the GraphView control.")]
+	[ScenarioCategory ("Controls")]
 	public class GraphViewExample : Scenario {
 
 		GraphView graphView;

+ 4 - 4
UICatalog/Scenarios/HexEditor.cs

@@ -4,12 +4,12 @@ using System.Text;
 using Terminal.Gui;
 
 namespace UICatalog.Scenarios {
-	[ScenarioMetadata (Name: "HexEditor", Description: "A Terminal.Gui binary (hex) editor via HexView")]
+	[ScenarioMetadata (Name: "HexEditor", Description: "A binary (hex) editor using the HexView control.")]
 	[ScenarioCategory ("Controls")]
 	[ScenarioCategory ("Dialogs")]
-	[ScenarioCategory ("Text")]
-	[ScenarioCategory ("Dialogs")]
-	[ScenarioCategory ("TopLevel"), ScenarioCategory ("IO.Stream")]
+	[ScenarioCategory ("Text and Formatting")]
+	[ScenarioCategory ("Top Level Windows")]
+	[ScenarioCategory ("Files and IO")]
 	public class HexEditor : Scenario {
 		private string _fileName = "demo.bin";
 		private HexView _hexView;

+ 1 - 1
UICatalog/Scenarios/InteractiveTree.cs

@@ -9,7 +9,7 @@ using static UICatalog.Scenario;
 
 namespace UICatalog.Scenarios {
 
-	[ScenarioMetadata (Name: "Interactive Tree", Description: "Create nodes and child nodes in TreeView")]
+	[ScenarioMetadata (Name: "Interactive Tree", Description: "Create nodes and child nodes in TreeView.")]
 	[ScenarioCategory ("Controls"), ScenarioCategory ("TreeView")]
 	public class InteractiveTree : Scenario {
 

+ 1 - 0
UICatalog/Scenarios/InvertColors.cs

@@ -6,6 +6,7 @@ using Terminal.Gui;
 namespace UICatalog.Scenarios {
 	[ScenarioMetadata (Name: "Invert Colors", Description: "Invert the foreground and the background colors.")]
 	[ScenarioCategory ("Colors")]
+	[ScenarioCategory ("Text and Formatting")]
 	public class InvertColors : Scenario {
 		public override void Setup ()
 		{

+ 1 - 1
UICatalog/Scenarios/Keys.cs

@@ -4,7 +4,7 @@ using Terminal.Gui;
 
 namespace UICatalog.Scenarios {
 	[ScenarioMetadata (Name: "Keys", Description: "Shows how to handle keyboard input")]
-	[ScenarioCategory ("Input")]
+	[ScenarioCategory ("Mouse and Keyboard")]
 	public class Keys : Scenario {
 
 		class TestWindow : Window {

+ 1 - 1
UICatalog/Scenarios/LabelsAsButtons.cs

@@ -8,7 +8,7 @@ using Terminal.Gui;
 namespace UICatalog.Scenarios {
 	[ScenarioMetadata (Name: "Labels As Buttons", Description: "Illustrates that Button is really just a Label++")]
 	[ScenarioCategory ("Controls")]
-	[ScenarioCategory ("POC")]
+	[ScenarioCategory ("Proof of Concept")]
 	public class LabelsAsLabels : Scenario {
 		public override void Setup ()
 		{

+ 2 - 2
UICatalog/Scenarios/LineViewExample.cs

@@ -9,8 +9,8 @@ using static UICatalog.Scenario;
 
 namespace UICatalog.Scenarios {
 
-	[ScenarioMetadata (Name: "Line View", Description: "Demonstrates the LineView control")]
-	[ScenarioCategory ("Controls"), ScenarioCategory ("Lines")]
+	[ScenarioMetadata (Name: "Line View", Description: "Demonstrates drawing lines using the LineView control.")]
+	[ScenarioCategory ("Controls"), ScenarioCategory ("LineView")]
 	public class LineViewExample : Scenario {
 
 		public override void Setup ()

+ 1 - 1
UICatalog/Scenarios/MessageBoxes.cs

@@ -5,7 +5,7 @@ using System.Text;
 using Terminal.Gui;
 
 namespace UICatalog.Scenarios {
-	[ScenarioMetadata (Name: "MessageBoxes", Description: "Demonstrates how to use MessageBoxes")]
+	[ScenarioMetadata (Name: "MessageBoxes", Description: "Demonstrates how to use the MessageBox class.")]
 	[ScenarioCategory ("Controls")]
 	[ScenarioCategory ("Dialogs")]
 	public class MessageBoxes : Scenario {

+ 1 - 1
UICatalog/Scenarios/Mouse.cs

@@ -5,7 +5,7 @@ using Terminal.Gui;
 
 namespace UICatalog.Scenarios {
 	[ScenarioMetadata (Name: "Mouse", Description: "Demonstrates how to capture mouse events")]
-	[ScenarioCategory ("Input"), ScenarioCategory ("Mouse")]
+	[ScenarioCategory ("Mouse and Keyboard")]
 	public class Mouse : Scenario {
 		public override void Setup ()
 		{

+ 4 - 2
UICatalog/Scenarios/MultiColouredTable.cs

@@ -4,8 +4,10 @@ using Terminal.Gui;
 
 namespace UICatalog.Scenarios {
 
-	[ScenarioMetadata (Name: "MultiColouredTable", Description: "Demonstrates how to multi color cell contents")]
-	[ScenarioCategory ("Controls"), ScenarioCategory ("Colors"), ScenarioCategory ("TableView")]
+	[ScenarioMetadata (Name: "MultiColouredTable", Description: "Demonstrates how to multi color cell contents.")]
+	[ScenarioCategory ("Controls")]
+	[ScenarioCategory ("Colors")]
+	[ScenarioCategory ("TableView")]
 	public class MultiColouredTable : Scenario {
 		TableViewColors tableView;
 

+ 1 - 1
UICatalog/Scenarios/Notepad.cs

@@ -9,7 +9,7 @@ using static UICatalog.Scenario;
 
 namespace UICatalog.Scenarios {
 
-	[ScenarioMetadata (Name: "Notepad", Description: "Multi tab text editor")]
+	[ScenarioMetadata (Name: "Notepad", Description: "Multi tab text editor uising the TabView control.")]
 	[ScenarioCategory ("Controls"), ScenarioCategory ("TabView")]
 	public class Notepad : Scenario {
 

+ 1 - 2
UICatalog/Scenarios/Progress.cs

@@ -8,9 +8,8 @@ namespace UICatalog.Scenarios {
 	// 
 	// This would be a great scenario to show of threading (Issue #471)
 	//
-	[ScenarioMetadata (Name: "Progress", Description: "Shows off ProgressBar and Threading")]
+	[ScenarioMetadata (Name: "Progress", Description: "Shows off ProgressBar and Threading.")]
 	[ScenarioCategory ("Controls")]
-	[ScenarioCategory ("MainLoop")]
 	[ScenarioCategory ("Threading"), ScenarioCategory ("ProgressBar")]
 	public class Progress : Scenario {
 

+ 4 - 2
UICatalog/Scenarios/ProgressBarStyles.cs

@@ -4,9 +4,11 @@ using System.Threading;
 using Terminal.Gui;
 
 namespace UICatalog.Scenarios {
-	[ScenarioMetadata (Name: "ProgressBar Styles", Description: "Shows the ProgressBar Styles")]
+	[ScenarioMetadata (Name: "ProgressBar Styles", Description: "Shows the ProgressBar Styles.")]
 	[ScenarioCategory ("Controls")]
-	[ScenarioCategory ("MainLoop"), ScenarioCategory ("ProgressBar")]
+	[ScenarioCategory ("ProgressBar")]
+	[ScenarioCategory ("Threading")]
+
 	public class ProgressBarStyles : Scenario {
 		private Timer _fractionTimer;
 		private Timer _pulseTimer;

+ 0 - 1
UICatalog/Scenarios/Scrolling.cs

@@ -4,7 +4,6 @@ using Terminal.Gui;
 namespace UICatalog.Scenarios {
 	[ScenarioMetadata (Name: "Scrolling", Description: "Demonstrates ScrollView etc...")]
 	[ScenarioCategory ("Controls")]
-	[ScenarioCategory ("Bug Repro")]
 	[ScenarioCategory ("ScrollView")]
 	public class Scrolling : Scenario {
 

+ 1 - 1
UICatalog/Scenarios/SendKeys.cs

@@ -3,7 +3,7 @@ using Terminal.Gui;
 
 namespace UICatalog.Scenarios {
 	[ScenarioMetadata (Name: "SendKeys", Description: "SendKeys sample - Send key combinations.")]
-	[ScenarioCategory ("Input")]
+	[ScenarioCategory ("Mouse and Keyboard")]
 	public class SendKeys : Scenario {
 		public override void Setup ()
 		{

+ 1 - 3
UICatalog/Scenarios/SingleBackgroundWorker.cs

@@ -7,9 +7,7 @@ using Terminal.Gui;
 namespace UICatalog.Scenarios {
 	[ScenarioMetadata (Name: "Single BackgroundWorker", Description: "A single BackgroundWorker threading opening another Toplevel")]
 	[ScenarioCategory ("Threading")]
-	[ScenarioCategory ("TopLevel")]
-	[ScenarioCategory ("Dialogs")]
-	[ScenarioCategory ("Controls")]
+	[ScenarioCategory ("Top Level Windows")]
 	public class SingleBackgroundWorker : Scenario {
 		public override void Run ()
 		{

+ 4 - 2
UICatalog/Scenarios/SyntaxHighlighting.cs

@@ -7,8 +7,10 @@ using Terminal.Gui;
 using Attribute = Terminal.Gui.Attribute;
 
 namespace UICatalog.Scenarios {
-	[ScenarioMetadata (Name: "Syntax Highlighting", Description: "Text editor with keyword highlighting")]
-	[ScenarioCategory ("Controls"), ScenarioCategory ("AutoComplete")]
+	[ScenarioMetadata (Name: "Syntax Highlighting", Description: "Text editor with keyword highlighting using the TextView control.")]
+	[ScenarioCategory ("Text and Formatting")]
+	[ScenarioCategory ("Controls")]
+	[ScenarioCategory ("TextView")]
 	public class SyntaxHighlighting : Scenario {
 
 		SqlTextView textView;

+ 0 - 35
UICatalog/Scenarios/SystemConsole.cs

@@ -1,35 +0,0 @@
-using Terminal.Gui;
-
-namespace UICatalog.Scenarios {
-	[ScenarioMetadata (Name: "System Console", Description: "Not working - #518 - Enables System Console and exercises things")]
-	[ScenarioCategory ("Bug Repro")]
-	[ScenarioCategory ("Console")]
-	public class UseSystemConsole : Scenario {
-		public override void Init (Toplevel top, ColorScheme colorScheme)
-		{
-			Application.UseSystemConsole = true;
-			base.Init (top, colorScheme);
-		}
-
-		public override void RequestStop ()
-		{
-			base.RequestStop ();
-			Application.UseSystemConsole = false;
-		}
-
-		public override void Run ()
-		{
-			base.Run ();
-		}
-
-		public override void Setup ()
-		{
-			var pressMe = new Button ("Press me!") {
-				X = Pos.Center (),
-				Y = Pos.Center (),
-			};
-			pressMe.Clicked += () => MessageBox.Query (20, 7, "Hi", "Neat?", "Yes", "No");
-			Win.Add (pressMe);
-		}
-	}
-}

+ 1 - 1
UICatalog/Scenarios/TabViewExample.cs

@@ -9,7 +9,7 @@ using static UICatalog.Scenario;
 
 namespace UICatalog.Scenarios {
 
-	[ScenarioMetadata (Name: "Tab View", Description: "Demos TabView control with limited screen space in Absolute layout")]
+	[ScenarioMetadata (Name: "Tab View", Description: "Demos TabView control with limited screen space in Absolute layout.")]
 	[ScenarioCategory ("Controls"), ScenarioCategory ("TabView")]
 	public class TabViewExample : Scenario {
 

+ 4 - 4
UICatalog/Scenarios/TableEditor.cs

@@ -7,12 +7,12 @@ using System.Globalization;
 
 namespace UICatalog.Scenarios {
 
-	[ScenarioMetadata (Name: "TableEditor", Description: "A Terminal.Gui DataTable editor via TableView")]
+	[ScenarioMetadata (Name: "TableEditor", Description: "Implements data table editor using the TableView control.")]
+	[ScenarioCategory ("TableView")]
 	[ScenarioCategory ("Controls")]
 	[ScenarioCategory ("Dialogs")]
-	[ScenarioCategory ("Text")]
-	[ScenarioCategory ("Dialogs")]
-	[ScenarioCategory ("TopLevel"), ScenarioCategory ("TableView")]
+	[ScenarioCategory ("Text and Formatting")]
+	[ScenarioCategory ("Top Level Windows")]
 	public class TableEditor : Scenario 
 	{
 		TableView tableView;

+ 2 - 1
UICatalog/Scenarios/Text.cs

@@ -11,7 +11,8 @@ using Terminal.Gui.TextValidateProviders;
 namespace UICatalog.Scenarios {
 	[ScenarioMetadata (Name: "Text Input Controls", Description: "Tests all text input controls")]
 	[ScenarioCategory ("Controls")]
-	[ScenarioCategory ("Bug Repro")]
+	[ScenarioCategory ("Mouse and Keyboard")]
+	[ScenarioCategory ("Text and Formatting")]
 	public class Text : Scenario {
 		public override void Setup ()
 		{

+ 2 - 2
UICatalog/Scenarios/TextAlignments.cs

@@ -4,8 +4,8 @@ using System.Linq;
 using Terminal.Gui;
 
 namespace UICatalog.Scenarios {
-	[ScenarioMetadata (Name: "Text Alignment", Description: "Demonstrates text alignment")]
-	[ScenarioCategory ("Text"), ScenarioCategory ("Alignment")]
+	[ScenarioMetadata (Name: "Simple Text Alignment", Description: "Demonstrates horizontal text alignment")]
+	[ScenarioCategory ("Text and Formatting")]
 	public class TextAlignments : Scenario {
 		public override void Setup ()
 		{

+ 2 - 2
UICatalog/Scenarios/TextAlignmentsAndDirection.cs

@@ -4,8 +4,8 @@ using System.Linq;
 using Terminal.Gui;
 
 namespace UICatalog.Scenarios {
-	[ScenarioMetadata (Name: "Text Alignment and Direction", Description: "Demonstrates text alignment")]
-	[ScenarioCategory ("Text"), ScenarioCategory ("Alignment"), ScenarioCategory ("Direction")]
+	[ScenarioMetadata (Name: "Text Alignment and Direction", Description: "Demos horiztonal and vertical text alignment and text direction.")]
+	[ScenarioCategory ("Text and Formatting")]
 	public class TextAlignmentsAndDirections : Scenario {
 
 		public override void Setup ()

+ 1 - 2
UICatalog/Scenarios/TextFormatterDemo.cs

@@ -8,8 +8,7 @@ using Rune = System.Rune;
 
 namespace UICatalog.Scenarios {
 	[ScenarioMetadata (Name: "TextFormatter Demo", Description: "Demos and tests the TextFormatter class.")]
-	[ScenarioCategory ("Text")]
-	[ScenarioCategory ("POC"), ScenarioCategory ("TextFormat")]
+	[ScenarioCategory ("Text and Formatting")]
 	public class TextFormatterDemo : Scenario {
 		public override void Setup ()
 		{

+ 4 - 2
UICatalog/Scenarios/TextViewAutocompletePopup.cs

@@ -3,8 +3,10 @@ using System.Text.RegularExpressions;
 using Terminal.Gui;
 
 namespace UICatalog.Scenarios {
-	[ScenarioMetadata (Name: "TextView Autocomplete Popup", Description: "Show five TextView Autocomplete Popup effects")]
-	[ScenarioCategory ("Controls"), ScenarioCategory ("AutoComplete")]
+	[ScenarioMetadata (Name: "TextView Autocomplete Popup", Description: "Shows five TextView Autocomplete Popup effects")]
+	[ScenarioCategory ("TextView")]
+	[ScenarioCategory ("Controls")]
+	[ScenarioCategory ("Mouse and Keyboard")]
 	public class TextViewAutocompletePopup : Scenario {
 
 		TextView textViewTopLeft;

+ 0 - 1
UICatalog/Scenarios/TimeAndDate.cs

@@ -4,7 +4,6 @@ using Terminal.Gui;
 namespace UICatalog.Scenarios {
 	[ScenarioMetadata (Name: "Time And Date", Description: "Illustrates TimeField and time & date handling")]
 	[ScenarioCategory ("Controls"), ScenarioCategory ("DateTime")]
-	[ScenarioCategory ("Bug Repro")] // Issue #246
 	public class TimeAndDate : Scenario {
 		Label lblOldTime;
 		Label lblNewTime;

+ 0 - 48
UICatalog/Scenarios/TopLevelNoWindowBug.cs

@@ -1,48 +0,0 @@
-using Terminal.Gui;
-
-namespace UICatalog.Scenarios {
-	[ScenarioMetadata (Name: "TopLevelNoWindowBug", Description: "Illustrates that not having a Window causes MenuBar to misbehave. #437")]
-	[ScenarioCategory ("Bug Repro"), ScenarioCategory ("TopLevel")]
-
-	public class TopLevelNoWindowBug : Scenario {
-
-		public override void Run ()
-		{
-			Top?.Dispose ();
-
-			//Top = new Toplevel (new Rect (0, 0, Application.Driver.Cols, Application.Driver.Rows));
-
-			var menu = new MenuBar (new MenuBarItem [] {
-				new MenuBarItem ("_Файл", new MenuItem [] {
-					new MenuItem ("_Создать", "Creates new file", null),
-					new MenuItem ("_Открыть", "", null),
-					new MenuItem ("Со_хранить", "", null),
-					new MenuItem ("_Выход", "", () => { if (Quit ()) { Application.RequestStop(); } })
-				}),
-				new MenuBarItem ("_Edit", new MenuItem [] {
-					new MenuItem ("_Copy", "", null),
-					new MenuItem ("C_ut", "", null),
-					new MenuItem ("_Paste", "", null)
-				})
-			});
-			Top.Add (menu);
-
-			// BUGBUG: #437 This being commented out causes menu to mis-behave
-			var win = new Window ($"Scenario: {GetName ()}") {
-				X = 0,
-				Y = 1,
-				Width = Dim.Fill (),
-				Height = Dim.Fill ()
-			};
-			Top.Add (win);
-
-			base.Run ();
-		}
-
-		private bool Quit ()
-		{
-			var n = MessageBox.Query (50, 7, $"Quit {GetName ()}", $"Are you sure you want to quit this {GetName ()}?", "Yes", "No");
-			return n == 0;
-		}
-	}
-}

+ 1 - 1
UICatalog/Scenarios/TreeUseCases.cs

@@ -6,7 +6,7 @@ using Terminal.Gui;
 using Terminal.Gui.Trees;
 
 namespace UICatalog.Scenarios {
-	[ScenarioMetadata (Name: "Tree View", Description: "Simple tree view examples")]
+	[ScenarioMetadata (Name: "Tree View", Description: "Simple tree view examples.")]
 	[ScenarioCategory ("Controls"), ScenarioCategory ("TreeView")]
 	public class TreeUseCases : Scenario {
 

+ 2 - 2
UICatalog/Scenarios/TreeViewFileSystem.cs

@@ -6,8 +6,8 @@ using Terminal.Gui;
 using Terminal.Gui.Trees;
 
 namespace UICatalog.Scenarios {
-	[ScenarioMetadata (Name: "TreeViewFileSystem", Description: "Hierarchical file system explorer based on TreeView")]
-	[ScenarioCategory ("Controls"), ScenarioCategory ("TreeView"), ScenarioCategory ("Files")]
+	[ScenarioMetadata (Name: "TreeViewFileSystem", Description: "Hierarchical file system explorer based on TreeView.")]
+	[ScenarioCategory ("Controls"), ScenarioCategory ("TreeView"), ScenarioCategory ("Files and IO")]
 	public class TreeViewFileSystem : Scenario {
 
 		/// <summary>

+ 2 - 2
UICatalog/Scenarios/Unicode.cs

@@ -5,8 +5,8 @@ using Terminal.Gui;
 
 namespace UICatalog.Scenarios {
 	[ScenarioMetadata (Name: "Unicode", Description: "Tries to test Unicode in all controls (#204)")]
-	[ScenarioCategory ("Text")]
-	[ScenarioCategory ("Controls"), ScenarioCategory ("Unicode")]
+	[ScenarioCategory ("Text and Formatting")]
+	[ScenarioCategory ("Controls")]
 	public class UnicodeInMenu : Scenario {
 		public override void Setup ()
 		{

+ 1 - 3
UICatalog/Scenarios/WindowsAndFrameViews.cs

@@ -3,10 +3,8 @@ using System.Linq;
 using Terminal.Gui;
 
 namespace UICatalog.Scenarios {
-	[ScenarioMetadata (Name: "Windows & FrameViews", Description: "Shows Windows, sub-Windows, FrameViews, and how TAB doesn't work right (#434, #522)")]
-	[ScenarioCategory ("Views")]
+	[ScenarioMetadata (Name: "Windows & FrameViews", Description: "Shows Windows, sub-Windows, and FrameViews.")]
 	[ScenarioCategory ("Layout")]
-	[ScenarioCategory ("Bug Repro")]
 	public class WindowsAndFrameViews : Scenario {
 		public override void Init (Toplevel top, ColorScheme colorScheme)
 		{

+ 4 - 3
UICatalog/UICatalog.cs

@@ -194,7 +194,7 @@ namespace UICatalog {
 			_leftPane.Title = $"{_leftPane.Title} ({_leftPane.ShortcutTag})";
 			_leftPane.ShortcutAction = () => _leftPane.SetFocus ();
 
-			_categories = Scenario.GetAllCategories ().OrderBy (c => c).ToList ();
+			_categories = Scenario.GetAllCategories ();
 			_categoryListView = new ListView (_categories) {
 				X = 0,
 				Y = 0,
@@ -679,9 +679,10 @@ namespace UICatalog {
 				_scenarioListViewItem = 0;
 			}
 			_categoryListViewItem = _categoryListView.SelectedItem;
-			var item = _categories [_categoryListView.SelectedItem];
+			var item = _categories [_categoryListViewItem];
 			List<Type> newlist;
-			if (item.Equals ("_All")) {
+			if (_categoryListViewItem == 0) {
+				// First category is "All"
 				newlist = _scenarios;
 
 			} else {