From ff961018066da026c9471340ebb5d2f14096c4de Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Sun, 2 Feb 2025 18:13:14 -0800 Subject: [PATCH] Right-click menu for statusbar error icon --- IDE/src/ui/StatusBar.bf | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/IDE/src/ui/StatusBar.bf b/IDE/src/ui/StatusBar.bf index 34fb7b3e..2e917124 100644 --- a/IDE/src/ui/StatusBar.bf +++ b/IDE/src/ui/StatusBar.bf @@ -590,7 +590,35 @@ namespace IDE.ui if (Rect(GS!(6), 0, GS!(20), mHeight).Contains(x, y)) { - gApp.mErrorsPanel.ShowErrorNext(); + bool hasError = (gApp.mErrorsPanel.mErrorCount > 0); + bool hasWarning = (gApp.mErrorsPanel.mWarningCount > 0); + + if (btn == 0) + { + gApp.mErrorsPanel.ShowErrorNext(); + } + else if ((btn == 1) && ((hasError || hasWarning))) + { + float useX = x; + float useY = y; + + Menu menu = new Menu(); + + var menuItem = menu.AddItem("Goto Next Error"); + menuItem.mOnMenuItemSelected.Add(new (evt) => + { + gApp.mErrorsPanel.ShowErrorNext(); + }); + + menuItem = menu.AddItem("Clean Beef"); + menuItem.mOnMenuItemSelected.Add(new (evt) => + { + gApp.Cmd_CleanBeef(); + }); + + MenuWidget menuWidget = DarkTheme.sDarkTheme.CreateMenuWidget(menu); + menuWidget.Init(this, useX, useY); + } return; } }