From 0f610d5a812b2b1230dece3fc02ab55d966a61e2 Mon Sep 17 00:00:00 2001 From: Pilzinsel64 Date: Tue, 14 Nov 2023 08:30:21 +0100 Subject: [PATCH] add DialogBaseForm.Show() --- .../Dialogs/DialogBaseForm.Statics.cs | 43 ++++++++++++++++--- 1 file changed, 37 insertions(+), 6 deletions(-) diff --git a/Pilz.UI.Telerik/Dialogs/DialogBaseForm.Statics.cs b/Pilz.UI.Telerik/Dialogs/DialogBaseForm.Statics.cs index c9eb1ff..d07bb09 100644 --- a/Pilz.UI.Telerik/Dialogs/DialogBaseForm.Statics.cs +++ b/Pilz.UI.Telerik/Dialogs/DialogBaseForm.Statics.cs @@ -17,16 +17,29 @@ namespace Pilz.UI.Telerik.Dialogs public static event DialogLoadingEventHandler? DialogLoading; public static event DialogClosedEventHandler? DialogClosed; + public static T Show(string title, Icon icon, object? tag = null) where T : FlyoutDialogBase + { + return Show(null, title, icon, tag); + } + public static T ShowDialog(string title, Icon icon, object? tag = null) where T : FlyoutDialogBase { return ShowDialog(null, title, icon, tag); } + public static T Show(IWin32Window? parent, string title, Icon icon, object? tag = null) where T : FlyoutDialogBase + { + return Show(CreatePanelInstance(tag), parent, title, icon); + } + public static T ShowDialog(IWin32Window? parent, string title, Icon icon, object? tag = null) where T : FlyoutDialogBase { - T dialogPanel = Activator.CreateInstance(); - dialogPanel.Tag = tag; - return ShowDialog(dialogPanel, parent, title, icon); + return ShowDialog(CreatePanelInstance(tag), parent, title, icon); + } + + public static T Show(T dialogPanel, string title, Icon icon) where T : FlyoutDialogBase + { + return Show(dialogPanel, null, title, icon); } public static T ShowDialog(T dialogPanel, string title, Icon icon) where T : FlyoutDialogBase @@ -34,7 +47,26 @@ namespace Pilz.UI.Telerik.Dialogs return ShowDialog(dialogPanel, null, title, icon); } - public static T ShowDialog(T dialogPanel, IWin32Window? parent, string title, Icon icon) where T: FlyoutDialogBase + public static T Show(T dialogPanel, IWin32Window? parent, string title, Icon icon) where T : FlyoutDialogBase + { + CreateForm(dialogPanel, parent, title, icon).Show(); + return dialogPanel; + } + + public static T ShowDialog(T dialogPanel, IWin32Window? parent, string title, Icon icon) where T : FlyoutDialogBase + { + CreateForm(dialogPanel, parent, title, icon).ShowDialog(); + return dialogPanel; + } + + private static T CreatePanelInstance(object? tag) where T : FlyoutDialogBase + { + T dialogPanel = Activator.CreateInstance(); + dialogPanel.Tag = tag; + return dialogPanel; + } + + private static DialogBaseForm CreateForm(T dialogPanel, IWin32Window? parent, string title, Icon icon) where T : FlyoutDialogBase { dialogPanel.Dock = DockStyle.Fill; @@ -47,9 +79,8 @@ namespace Pilz.UI.Telerik.Dialogs }; dialog.Controls.Add(dialogPanel); - dialog.ShowDialog(parent); - return dialogPanel; + return dialog; } } }