From 16174651401f7ea20d60418fbebeaf3bccf62c19 Mon Sep 17 00:00:00 2001 From: Tig Date: Sun, 16 Jun 2024 22:46:47 -0700 Subject: [PATCH] Updated DynamicShortcut. Broken. --- UICatalog/Scenarios/DynamicStatusBar.cs | 28 +++++++++++-------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/UICatalog/Scenarios/DynamicStatusBar.cs b/UICatalog/Scenarios/DynamicStatusBar.cs index 08eb9d512..af29faa8e 100644 --- a/UICatalog/Scenarios/DynamicStatusBar.cs +++ b/UICatalog/Scenarios/DynamicStatusBar.cs @@ -1,6 +1,7 @@ using System; using System.Collections.ObjectModel; using System.ComponentModel; +using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Text; @@ -8,20 +9,14 @@ using Terminal.Gui; namespace UICatalog.Scenarios; -#if V2_STATUSBAR [ScenarioMetadata ("Dynamic StatusBar", "Demonstrates how to add and remove a StatusBar and change items dynamically.")] [ScenarioCategory ("Top Level Windows")] public class DynamicStatusBar : Scenario { - public override void Init () + public override void Main () { - Application.Init (); - Top = new (); - - Top.Add ( - new DynamicStatusBarSample { Title = $"{Application.QuitKey} to Quit - Scenario: {GetName ()}" } - ); + Application.Run ().Dispose(); } public class Binding @@ -214,7 +209,7 @@ public class DynamicStatusBar : Scenario ? GetTargetAction (statusItem.Action) : string.Empty; - TextShortcut.Text = statusItem.Shortcut; + TextShortcut.Text = statusItem.CommandView.Text; } public DynamicStatusItem EnterStatusItem () @@ -321,6 +316,8 @@ public class DynamicStatusBar : Scenario { DataContext = new DynamicStatusItemModel (); + Title = $"{Application.QuitKey} to Quit"; + var _frmStatusBar = new FrameView { Y = 5, Width = Dim.Percent (50), Height = Dim.Fill (2), Title = "Items:" @@ -376,7 +373,7 @@ public class DynamicStatusBar : Scenario if (statusItem != null) { - Shortcut [] items = _statusBar.Items; + Shortcut [] items = _statusBar.Subviews.Cast ().ToArray (); if (i > 0) { @@ -399,7 +396,7 @@ public class DynamicStatusBar : Scenario if (statusItem != null) { - Shortcut [] items = _statusBar.Items; + Shortcut [] items = _statusBar.Subviews.Cast ().ToArray (); if (i < items.Length - 1) { @@ -488,7 +485,7 @@ public class DynamicStatusBar : Scenario if (statusItem != null) { - _statusBar.RemoveItem (_currentSelectedStatusBar); + _statusBar.RemoveShortcut (_currentSelectedStatusBar); DataContext.Items.RemoveAt (_lstItems.SelectedItem); if (_lstItems.Source.Count > 0 && _lstItems.SelectedItem > _lstItems.Source.Count - 1) @@ -581,7 +578,7 @@ public class DynamicStatusBar : Scenario if (statusItem != null) { - foreach (Shortcut si in _statusBar.Items) + foreach (Shortcut si in _statusBar.Subviews.Cast ()) { DataContext.Items.Add (new DynamicStatusItemList (si.Title, si)); } @@ -590,7 +587,7 @@ public class DynamicStatusBar : Scenario Shortcut CreateNewStatusBar (DynamicStatusItem item) { - var newStatusItem = new Shortcut (item.Shortcut); + var newStatusItem = new Shortcut (Key.Empty, item.Title, null); return newStatusItem; } @@ -602,7 +599,7 @@ public class DynamicStatusBar : Scenario ) { _currentEditStatusItem = CreateNewStatusBar (statusItem); - _statusBar.Items [index] = _currentEditStatusItem; + //_statusBar.Items [index] = _currentEditStatusItem; if (DataContext.Items.Count == 0) { @@ -735,4 +732,3 @@ public class DynamicStatusBar : Scenario } } } -#endif \ No newline at end of file