From 84f4075ad4fab7f61ba67e01476dac3f2c36e03d Mon Sep 17 00:00:00 2001 From: Andy McFadden Date: Fri, 19 Jul 2019 11:41:18 -0700 Subject: [PATCH] Show a wait cursor when refreshing larger projects Fiddled with the status bar, but that'll probably require async. --- Asm65/CpuDef.cs | 3 ++- SourceGenWPF/MainController.cs | 24 +++++------------------- SourceGenWPF/Res/Strings.xaml | 1 + SourceGenWPF/Res/Strings.xaml.cs | 2 ++ SourceGenWPF/WpfGui/MainWindow.xaml | 2 +- SourceGenWPF/WpfGui/MainWindow.xaml.cs | 11 +++++++++++ 6 files changed, 22 insertions(+), 21 deletions(-) diff --git a/Asm65/CpuDef.cs b/Asm65/CpuDef.cs index 200f3d3..772e18c 100644 --- a/Asm65/CpuDef.cs +++ b/Asm65/CpuDef.cs @@ -341,7 +341,8 @@ namespace Asm65 { } public override string ToString() { - return Name + " (has16=" + HasAddr16 + ", hasEmu=" + HasEmuFlag + ")"; + return Name + " (has16=" + HasAddr16 + ", hasEmu=" + HasEmuFlag + ", hasUndoc=" + + HasUndocumented + ")"; } /// diff --git a/SourceGenWPF/MainController.cs b/SourceGenWPF/MainController.cs index cbb5a00..14b8380 100644 --- a/SourceGenWPF/MainController.cs +++ b/SourceGenWPF/MainController.cs @@ -27,6 +27,7 @@ using CommonUtil; using CommonWPF; using SourceGenWPF.Sandbox; using SourceGenWPF.WpfGui; +using System.Windows.Input; namespace SourceGenWPF { /// @@ -779,31 +780,16 @@ namespace SourceGenWPF { mOutputFormatterCpuDef = mProject.CpuDef; } -#if false - if (mDisplayList.Count > 200000) { - string prevStatus = toolStripStatusLabel.Text; - - // The Windows stuff can take 50-100ms, potentially longer than the actual - // work, so don't bother unless the file is very large. + if (CodeLineList.Count > 40000) { try { - mReanalysisTimer.StartTask("Do Windows stuff"); - Application.UseWaitCursor = true; - Cursor.Current = Cursors.WaitCursor; - toolStripStatusLabel.Text = Res.Strings.STATUS_RECALCULATING; - Refresh(); // redraw status label - mReanalysisTimer.EndTask("Do Windows stuff"); - + Mouse.OverrideCursor = Cursors.Wait; DoRefreshProject(reanalysisRequired); } finally { - Application.UseWaitCursor = false; - toolStripStatusLabel.Text = prevStatus; + Mouse.OverrideCursor = null; } } else { -#endif DoRefreshProject(reanalysisRequired); -#if false - } -#endif + } if (FormatDescriptor.DebugCreateCount != 0) { Debug.WriteLine("FormatDescriptor total=" + FormatDescriptor.DebugCreateCount + diff --git a/SourceGenWPF/Res/Strings.xaml b/SourceGenWPF/Res/Strings.xaml index 4934788..f7dc7d8 100644 --- a/SourceGenWPF/Res/Strings.xaml +++ b/SourceGenWPF/Res/Strings.xaml @@ -110,6 +110,7 @@ limitations under the License. Save Project First {1} CPU @ {2} MHz Show + Ready Symbol Import Imported {0} global symbols. No global+export symbols were found. diff --git a/SourceGenWPF/Res/Strings.xaml.cs b/SourceGenWPF/Res/Strings.xaml.cs index 2daef5c..64287c1 100644 --- a/SourceGenWPF/Res/Strings.xaml.cs +++ b/SourceGenWPF/Res/Strings.xaml.cs @@ -201,6 +201,8 @@ namespace SourceGenWPF.Res { (string)Application.Current.FindResource("str_SetupSystemSummaryFmt"); public static string SHOW_COL = (string)Application.Current.FindResource("str_ShowCol"); + public static string STATUS_READY = + (string)Application.Current.FindResource("str_StatusReady"); public static string SYMBOL_IMPORT_CAPTION = (string)Application.Current.FindResource("str_SymbolImportCaption"); public static string SYMBOL_IMPORT_GOOD_FMT = diff --git a/SourceGenWPF/WpfGui/MainWindow.xaml b/SourceGenWPF/WpfGui/MainWindow.xaml index 42db331..5d4de3d 100644 --- a/SourceGenWPF/WpfGui/MainWindow.xaml +++ b/SourceGenWPF/WpfGui/MainWindow.xaml @@ -396,7 +396,7 @@ limitations under the License. - +