Windows: Add OriginHierarchyWindow

This commit is contained in:
2023-11-24 23:38:55 +01:00
parent fb4dc613ae
commit c25bfc9f1b
14 changed files with 353 additions and 10 deletions

View File

@ -15,6 +15,7 @@ using System.Reflection;
using Elwig.Helpers.Printing;
using Elwig.Windows;
using Elwig.Dialogs;
using System.Threading.Tasks;
namespace Elwig {
public partial class App : Application {
@ -175,6 +176,13 @@ namespace Elwig {
}
}
public static async Task HintContextChange() {
foreach (Window w in CurrentApp.Windows) {
if (w is not ContextWindow c) continue;
await c.HintContextChange();
}
}
private static T FocusWindow<T>(Func<T> constructor, Predicate<T>? selector = null) where T : Window {
foreach (Window w in CurrentApp.Windows) {
if (w is T t && (selector == null || selector(t))) {
@ -218,5 +226,15 @@ namespace Elwig {
public static DeliveryConfirmationsWindow FocusDeliveryConfirmations(int year) {
return FocusWindow<DeliveryConfirmationsWindow>(() => new(year), w => w.Year == year);
}
public static OriginHierarchyWindow FocusOriginHierarchy() {
return FocusWindow<OriginHierarchyWindow>(() => new());
}
public static OriginHierarchyWindow FocusOriginHierarchyKg(int kgnr) {
var w = FocusOriginHierarchy();
w.FocusKgNr(kgnr);
return w;
}
}
}