using System.Windows; using Panuon.WPF.UI; using Panuon.WPF.UI.Configurations; using HMI.UI.Util; namespace WPFProject.Utils { public class MainToastHandler : ToastHandler { public void Success(Window window, string message, MessageBoxIcon icon, ToastPosition position, double offset, int durationMs, ToastWindow targetWindow) { var setting = Application.Current.FindResource("toastSuccess") as ToastSetting; if (window is PanuonWindow pw) { double num = 20 + (pw.menuTab.MenuVisibility == Visibility.Visible ? pw.menuTab.Menu.ActualHeight + pw.menuTab.SubMenu.ActualHeight : 0); Toast.Show(pw, message, icon, position, num, durationMs, setting); } else if (window is WindowX wx) { Toast.Show(wx, message, icon, position, 0, durationMs, setting); } } public void Warning(Window window, string message, MessageBoxIcon icon, ToastPosition position, double offset, int durationMs, ToastWindow targetWindow) { var setting = Application.Current.FindResource("toastWarning") as ToastSetting; if (window is PanuonWindow pw) { double num = 20 + (pw.menuTab.MenuVisibility == Visibility.Visible ? pw.menuTab.Menu.ActualHeight + pw.menuTab.SubMenu.ActualHeight : 0); Toast.Show(pw, message, icon, position, num, durationMs, setting); } else if (window is WindowX wx) { Toast.Show(wx, message, icon, position, 0, durationMs, setting); } } public void Error(Window window, string message, MessageBoxIcon icon, ToastPosition position, double offset, int durationMs, ToastWindow targetWindow) { var setting = Application.Current.FindResource("toastError") as ToastSetting; if (window is PanuonWindow pw) { double num = 20 + (pw.menuTab.MenuVisibility == Visibility.Visible ? pw.menuTab.Menu.ActualHeight + pw.menuTab.SubMenu.ActualHeight : 0); Toast.Show(pw, message, icon, position, num, durationMs, setting); } else if (window is WindowX wx) { Toast.Show(wx, message, icon, position, 0, durationMs, setting); } } public void Info(Window window, string message, MessageBoxIcon icon, ToastPosition position, double offset, int durationMs, ToastWindow targetWindow) { var setting = Application.Current.FindResource("toastError") as ToastSetting; if (window is PanuonWindow pw) { double num = 20 + (pw.menuTab.MenuVisibility == Visibility.Visible ? pw.menuTab.Menu.ActualHeight + pw.menuTab.SubMenu.ActualHeight : 0); Toast.Show(pw, message, icon, position, num, durationMs, setting); } else if (window is WindowX wx) { Toast.Show(wx, message, icon, position, 0, durationMs, setting); } } } }