From 97bb249a9ff6ab5bd0ef63e79a94dc527da1e136 Mon Sep 17 00:00:00 2001 From: alcexhim Date: Wed, 10 Dec 2014 14:33:59 -0500 Subject: [PATCH] Added ability to clear the Messages list --- .../MainWindow.cs | 9 +++++++++ .../HostApplicationMessage.cs | 11 +++++++++++ 2 files changed, 20 insertions(+) diff --git a/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/MainWindow.cs b/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/MainWindow.cs index 283166ba..28844cd9 100644 --- a/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/MainWindow.cs +++ b/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/MainWindow.cs @@ -65,6 +65,7 @@ namespace UniversalEditor.UserInterface.WindowsForms HostApplication.OutputWindow.TextCleared += OutputWindow_TextCleared; HostApplication.Messages.MessageAdded += Messages_MessageAdded; HostApplication.Messages.MessageRemoved += Messages_MessageRemoved; + HostApplication.Messages.MessagesCleared += Messages_MessagesCleared; mnuBookmarksSep1.Visible = (Engine.CurrentEngine.BookmarksManager.FileNames.Count > 0); foreach (string FileName in Engine.CurrentEngine.BookmarksManager.FileNames) @@ -296,6 +297,14 @@ namespace UniversalEditor.UserInterface.WindowsForms pnlErrorList.RefreshList(); })); } + private void Messages_MessagesCleared(object sender, EventArgs e) + { + pnlErrorList.Invoke(new Action(delegate() + { + pnlErrorList.Messages.Clear(); + pnlErrorList.RefreshList(); + })); + } private void tsmiBookmark_Click(object sender, EventArgs e) { diff --git a/CSharp/Libraries/UniversalEditor.UserInterface/HostApplicationMessage.cs b/CSharp/Libraries/UniversalEditor.UserInterface/HostApplicationMessage.cs index ec9ad765..ecf33e89 100644 --- a/CSharp/Libraries/UniversalEditor.UserInterface/HostApplicationMessage.cs +++ b/CSharp/Libraries/UniversalEditor.UserInterface/HostApplicationMessage.cs @@ -92,6 +92,12 @@ namespace UniversalEditor.UserInterface } } + public event EventHandler MessagesCleared; + protected virtual void OnMessagesCleared(EventArgs e) + { + if (MessagesCleared != null) MessagesCleared(this, e); + } + protected override void InsertItem(int index, HostApplicationMessage item) { HostApplicationMessage message = item; @@ -114,6 +120,11 @@ namespace UniversalEditor.UserInterface OnMessageRemoved(new HostApplicationMessageModifiedEventArgs(message)); } + protected override void ClearItems() + { + base.ClearItems(); + OnMessagesCleared(EventArgs.Empty); + } } private HostApplicationMessageSeverity mvarSeverity = HostApplicationMessageSeverity.None;