145 lines
4.5 KiB
C#
145 lines
4.5 KiB
C#
using Microsoft.Extensions.DependencyInjection;
|
|
using OrpaonVision.ConfigApp.ViewModels;
|
|
using OrpaonVision.ConfigApp.Views;
|
|
using System.Windows;
|
|
|
|
namespace OrpaonVision.ConfigApp
|
|
{
|
|
/// <summary>
|
|
/// Interaction logic for MainWindow.xaml
|
|
/// </summary>
|
|
public partial class MainWindow : Window
|
|
{
|
|
private readonly MainWindowViewModel _viewModel;
|
|
private readonly IServiceProvider _serviceProvider;
|
|
|
|
/// <summary>
|
|
/// 主窗口构造函数。
|
|
/// </summary>
|
|
/// <param name="viewModel">主窗口 ViewModel。</param>
|
|
public MainWindow(MainWindowViewModel viewModel, IServiceProvider serviceProvider)
|
|
{
|
|
_viewModel = viewModel;
|
|
_serviceProvider = serviceProvider;
|
|
InitializeComponent();
|
|
|
|
Title = "OrpaonVision ConfigApp (CVAT)";
|
|
|
|
DataContext = _viewModel;
|
|
}
|
|
|
|
private async void OnCheckStatusClicked(object sender, RoutedEventArgs e)
|
|
{
|
|
await _viewModel.CheckStatusAsync();
|
|
}
|
|
|
|
private async void OnQueryTaskDetailClicked(object sender, RoutedEventArgs e)
|
|
{
|
|
await _viewModel.QueryTaskDetailAsync();
|
|
}
|
|
|
|
private async void OnSyncClicked(object sender, RoutedEventArgs e)
|
|
{
|
|
await _viewModel.SyncAsync();
|
|
}
|
|
|
|
private async void OnSaveRuleDraftClicked(object sender, RoutedEventArgs e)
|
|
{
|
|
await _viewModel.SaveRuleDraftAsync();
|
|
}
|
|
|
|
private async void OnPublishRuleVersionClicked(object sender, RoutedEventArgs e)
|
|
{
|
|
await _viewModel.PublishRuleVersionAsync();
|
|
}
|
|
|
|
private void OnAddRuleLayerClicked(object sender, RoutedEventArgs e)
|
|
{
|
|
_viewModel.AddRuleLayerRow();
|
|
}
|
|
|
|
private void OnRemoveRuleLayerClicked(object sender, RoutedEventArgs e)
|
|
{
|
|
_viewModel.RemoveSelectedRuleLayerRow();
|
|
}
|
|
|
|
private void OnAddRulePartClicked(object sender, RoutedEventArgs e)
|
|
{
|
|
_viewModel.AddRulePartRow();
|
|
}
|
|
|
|
private void OnRemoveRulePartClicked(object sender, RoutedEventArgs e)
|
|
{
|
|
_viewModel.RemoveSelectedRulePartRow();
|
|
}
|
|
|
|
private void OnAddRuleRoiClicked(object sender, RoutedEventArgs e)
|
|
{
|
|
_viewModel.AddRuleRoiRow();
|
|
}
|
|
|
|
private void OnRemoveRuleRoiClicked(object sender, RoutedEventArgs e)
|
|
{
|
|
_viewModel.RemoveSelectedRuleRoiRow();
|
|
}
|
|
|
|
private void OnAddRuleItemClicked(object sender, RoutedEventArgs e)
|
|
{
|
|
_viewModel.AddRuleItemRow();
|
|
}
|
|
|
|
private void OnRemoveRuleItemClicked(object sender, RoutedEventArgs e)
|
|
{
|
|
_viewModel.RemoveSelectedRuleItemRow();
|
|
}
|
|
|
|
private async void OnCompareVersionsClicked(object sender, RoutedEventArgs e)
|
|
{
|
|
await _viewModel.CompareVersionsAsync();
|
|
}
|
|
|
|
private async void OnRollbackVersionClicked(object sender, RoutedEventArgs e)
|
|
{
|
|
await _viewModel.RollbackVersionAsync();
|
|
}
|
|
|
|
private async void OnQueryRuleAuditClicked(object sender, RoutedEventArgs e)
|
|
{
|
|
await _viewModel.QueryRecentRuleAuditsAsync();
|
|
}
|
|
|
|
private async void OnDisableRuleVersionClicked(object sender, RoutedEventArgs e)
|
|
{
|
|
await _viewModel.DisableVersionAsync();
|
|
}
|
|
|
|
private async void OnQueryRuleVersionDetailClicked(object sender, RoutedEventArgs e)
|
|
{
|
|
await _viewModel.QueryVersionDetailAsync();
|
|
}
|
|
|
|
private async void OnQueryRuleVersionPagedClicked(object sender, RoutedEventArgs e)
|
|
{
|
|
await _viewModel.QueryVersionPagedListAsync();
|
|
}
|
|
|
|
private void OpenTrainingTaskManagement_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
_viewModel.OpenTrainingTaskManagement();
|
|
}
|
|
|
|
private void OpenProductionSessionManagement_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
var viewModel = _serviceProvider.GetRequiredService<ProductionSessionManagementViewModel>();
|
|
var window = new Views.ProductionSessionManagementWindow(viewModel);
|
|
window.Show();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show($"打开产品会话管理窗口失败: {ex.Message}", "错误", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
}
|
|
}
|
|
}
|
|
} |