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;