fix: 页面跳转修正、多语言修正、三合一样式统一、算法配置更新

master
Tongg 5 months ago
parent 7be3d789e8
commit 15c0564b3a
  1. 12
      Language/en_US.xaml
  2. 10
      Language/zh_CN.xaml
  3. BIN
      SparkDB.db
  4. 12
      ViewModel/BaseWindow/BaseControlVM.cs
  5. 27
      ViewModel/Grading/DiamondSelectVM.cs
  6. 44
      ViewModel/Grading/GradingLoadingVM.cs
  7. 2
      Views/Dialog/JsonImport.xaml
  8. 4
      Views/Grading/GradingLoading.xaml
  9. 3
      Views/UserControl/ViewportData/Helper/RayHelper.cs

@ -224,4 +224,16 @@
<sys:String x:Key="RayTracingFail">Image rendering error:</sys:String> <sys:String x:Key="RayTracingFail">Image rendering error:</sys:String>
<sys:String x:Key="RayTracingFormTitle">Simulated Heart and Arrow Preview</sys:String> <sys:String x:Key="RayTracingFormTitle">Simulated Heart and Arrow Preview</sys:String>
<sys:String x:Key="RayTracingFormMessage">The simulated heart and arrow diagram is a rendered simulation. Actual results should be verified with a cut-scope.</sys:String> <sys:String x:Key="RayTracingFormMessage">The simulated heart and arrow diagram is a rendered simulation. Actual results should be verified with a cut-scope.</sys:String>
<sys:String x:Key="NotNvidia">NVIDIA graphics driver not found. Some features may not work properly.</sys:String>
<sys:String x:Key="NotNvidiaVersionLow">NVIDIA driver version is outdated. Please upgrade your graphics driver. (Current: %version, Minimum: 528.33)</sys:String>
<sys:String x:Key="GradingLoading">Detecting, please wait...</sys:String>
<sys:String x:Key="GradingLoadingStop">Stop Detection</sys:String>
<sys:String x:Key="GradingLoadingStopAsk">Diamond data calculation is in progress. Do you want to stop?</sys:String>
<sys:String x:Key="GradingLoadingPaused">Paused</sys:String>
<sys:String x:Key="GradingLoadingContinue">Continue</sys:String>
<sys:String x:Key="GradingLoadingReplay">Replay</sys:String>
<sys:String x:Key="GradingLoadingPrevious">Previous Frame</sys:String>
<sys:String x:Key="GradingLoadingNext">Next Frame</sys:String>
</ResourceDictionary> </ResourceDictionary>

@ -225,10 +225,16 @@
<sys:String x:Key="RayTracingFormTitle">仿真心箭图预览</sys:String> <sys:String x:Key="RayTracingFormTitle">仿真心箭图预览</sys:String>
<sys:String x:Key="RayTracingFormMessage">仿真心箭图为模拟渲染,实际请以切工镜观测为准。</sys:String> <sys:String x:Key="RayTracingFormMessage">仿真心箭图为模拟渲染,实际请以切工镜观测为准。</sys:String>
<sys:String x:Key="NotNvidia">未找到Nvidia显卡驱动,部分功能可能无法正常运行。</sys:String> <sys:String x:Key="NotNvidia">未找到NVIDIA显卡驱动,部分功能可能无法正常运行。</sys:String>
<sys:String x:Key="NotNvidiaVersionLow">Nvidia显卡驱动版本过旧,请尝试升级显卡驱动。(当前:%version,最低:528.33)</sys:String> <sys:String x:Key="NotNvidiaVersionLow">NVIDIA显卡驱动版本过旧,请尝试升级显卡驱动。(当前:%version,最低:528.33)</sys:String>
<sys:String x:Key="GradingLoading">正在检测,请稍等</sys:String> <sys:String x:Key="GradingLoading">正在检测,请稍等</sys:String>
<sys:String x:Key="GradingLoadingStop">终止检测</sys:String> <sys:String x:Key="GradingLoadingStop">终止检测</sys:String>
<sys:String x:Key="GradingLoadingStopAsk">正在计算钻石数据,是否终止?</sys:String>
<sys:String x:Key="GradingLoadingPaused">暂停</sys:String>
<sys:String x:Key="GradingLoadingContinue">继续</sys:String>
<sys:String x:Key="GradingLoadingReplay">重播</sys:String>
<sys:String x:Key="GradingLoadingPrevious">上一帧</sys:String>
<sys:String x:Key="GradingLoadingNext">下一帧</sys:String>
</ResourceDictionary> </ResourceDictionary>

Binary file not shown.

@ -12,13 +12,14 @@ public class BaseControlVM : BaseViewModel
string _windowTitle; string _windowTitle;
private Visibility _showFunctionButton; private Visibility _showFunctionButton;
private Visibility _showCloseButton;
private string _functionButtonIcon; private string _functionButtonIcon;
private Object _viewContent; private Object _viewContent;
public string WindowTitle { get { return _windowTitle; } set { _windowTitle = value; OnPropertyChanged("WindowTitle"); } } public string WindowTitle { get { return _windowTitle; } set { _windowTitle = value; OnPropertyChanged("WindowTitle"); } }
public Visibility ShowFunctionButton { get { return _showFunctionButton; } set { _showFunctionButton = value; OnPropertyChanged("ShowFunctionButton"); } } public Visibility ShowFunctionButton { get { return _showFunctionButton; } set { _showFunctionButton = value; OnPropertyChanged("ShowFunctionButton"); } }
public Visibility ShowCloseButton { get { return _showFunctionButton; } set { _showFunctionButton = value; OnPropertyChanged("ShowFunctionButton"); } } public Visibility ShowCloseButton { get { return _showCloseButton; } set { _showCloseButton = value; OnPropertyChanged("ShowCloseButton"); } }
public string FunctionButtonIcon { get { return _functionButtonIcon; } set { _functionButtonIcon = value; OnPropertyChanged("FunctionButtonIcon"); } } public string FunctionButtonIcon { get { return _functionButtonIcon; } set { _functionButtonIcon = value; OnPropertyChanged("FunctionButtonIcon"); } }
public Object ViewControl { get { return _viewContent; } set { _viewContent = value; OnPropertyChanged("ViewControl"); } } public Object ViewControl { get { return _viewContent; } set { _viewContent = value; OnPropertyChanged("ViewControl"); } }
@ -55,11 +56,11 @@ public class BaseControlVM : BaseViewModel
{ {
Content = vm; Content = vm;
WindowTitle = windowTitle; WindowTitle = windowTitle;
ShowFunctionButton = Visibility.Hidden;
ShowCloseButton = Visibility.Visible; ShowCloseButton = Visibility.Visible;
CloseCommand = new RelayCommand(CloseVM); CloseCommand = new RelayCommand(CloseVM);
NextCommand = new RelayCommand(NextDiamond); NextCommand = new RelayCommand(NextDiamond);
ShowFunctionButton = Visibility.Hidden;
if (vm.GetType().Equals(typeof(GradingResultVM))) if (vm.GetType().Equals(typeof(GradingResultVM)))
{ {
Application.Current.Dispatcher.Invoke(() => Application.Current.Dispatcher.Invoke(() =>
@ -146,11 +147,14 @@ public class BaseControlVM : BaseViewModel
if(Content is GradingResultVM) if(Content is GradingResultVM)
{ {
bool isSaved = (Content as GradingResultVM).isSaved; bool isSaved = (Content as GradingResultVM).isSaved;
if (isSaved) { if (isSaved)
{
WindowManager.PreviousVM();
WindowManager.mainViewModel.Content = WindowManager.PreviousVM(); WindowManager.mainViewModel.Content = WindowManager.PreviousVM();
} }
else { else {
// 部署改造:2 // 部署改造:2
WindowManager.PreviousVM();
WindowManager.mainViewModel.Content = WindowManager.PreviousVM(); WindowManager.mainViewModel.Content = WindowManager.PreviousVM();
// MessageBox message = new MessageBox(); // MessageBox message = new MessageBox();
// MessageBoxResult result = message.ShowAsk(MultilingualHelper.getString("DiamodResultCloseConfirm")); // MessageBoxResult result = message.ShowAsk(MultilingualHelper.getString("DiamodResultCloseConfirm"));

@ -149,7 +149,32 @@ public class DiamondSelectVM : BaseViewModel
if ("0".Equals(runModel)) if ("0".Equals(runModel))
//json模式 //json模式
DoStartGrading(param);
{
var loadingView = new GradingLoadingVM(param.ToString(), DiamondCode);
BaseControlVM vm = new BaseControlVM(loadingView, MultilingualHelper.getString("wait"));
vm.WindowTitle = string.IsNullOrWhiteSpace(DiamondCode) ? vm.WindowTitle : $"{vm.WindowTitle} - {DiamondCode}";
WindowManager.mainViewModel.Content = vm;
WindowManager.openContent.Add(vm);
//DoStartGrading(param);
int res = await loadingView.Start(11);
if (res > -100 && res < 0)
{
//返回
loadingView.Dispose();
WindowManager.mainViewModel.Content = WindowManager.PreviousVM();
return;
}
else if ( res <= -100)
{
return;
}
else
{
GradingResult(loadingView.Parameter);
loadingView.Dispose();
}
}
else if ("1".Equals(runModel)) else if ("1".Equals(runModel))
{ {
//Image模式 //Image模式

@ -1,6 +1,7 @@
using System.Configuration; using System.Configuration;
using System.Data; using System.Data;
using System.IO; using System.IO;
using System.Text;
using System.Windows; using System.Windows;
using System.Windows.Input; using System.Windows.Input;
using System.Windows.Media; using System.Windows.Media;
@ -13,6 +14,7 @@ using SparkClient.Model.Helper;
using SparkClient.Model.Services; using SparkClient.Model.Services;
using SparkClient.ViewModel.BaseWindow; using SparkClient.ViewModel.BaseWindow;
using SparkClient.ViewModel.Configuration; using SparkClient.ViewModel.Configuration;
using SparkClient.Views.Dialog;
using SparkDotNetCore.DiamondScanner; using SparkDotNetCore.DiamondScanner;
using SparkDotNetCore.DiamondScanner.Entity; using SparkDotNetCore.DiamondScanner.Entity;
using MessageBox = SparkClient.Views.Dialog.MessageBox; using MessageBox = SparkClient.Views.Dialog.MessageBox;
@ -66,9 +68,9 @@ public class GradingLoadingVM : BaseViewModel,IDisposable
} }
public string ButtonText => CurrentStatus switch public string ButtonText => CurrentStatus switch
{ {
PlayStatus.Playing => "暂停", PlayStatus.Playing => MultilingualHelper.getString("GradingLoadingPaused"),
PlayStatus.Paused => "继续", PlayStatus.Paused => MultilingualHelper.getString("GradingLoadingContinue"),
_ => "重播" // Stopped 状态 _ => MultilingualHelper.getString("GradingLoadingReplay") // Stopped 状态
}; };
private CancellationTokenSource _cts; private CancellationTokenSource _cts;
private int _playDelay = 100; // 默认播放速度 private int _playDelay = 100; // 默认播放速度
@ -138,6 +140,31 @@ public class GradingLoadingVM : BaseViewModel,IDisposable
{ {
var progress = RunProgressAsync(_progressCts.Token); var progress = RunProgressAsync(_progressCts.Token);
if (type == 11)
{
JsonImport jsonImport = new JsonImport();
bool? a = jsonImport.ShowDialog();
if (a ?? false)
{
string fileName = jsonImport.FilePath.Text;
string[] lines = File.ReadAllLines(fileName);
StringBuilder stringBuilder = new StringBuilder();
foreach (var line in lines)
{
stringBuilder.Append(line);
}
Parameter = JsonConvert.DeserializeObject<AlgorithmResultEntity>(stringBuilder.ToString());
await CompleteProgressQuicklyAsync();
return 0;
}
else
{
return -1;
}
}
if(type == 0){ if(type == 0){
_socClientService = new SOCClientService(); _socClientService = new SOCClientService();
var processImage = _socClientService.ProcessImageCollectionAsync(); var processImage = _socClientService.ProcessImageCollectionAsync();
@ -321,16 +348,23 @@ public class GradingLoadingVM : BaseViewModel,IDisposable
private void Stop(object param) private void Stop(object param)
{ {
//询问?停止:忽略 //询问?停止:忽略
try
{
MessageBox messageBox = new MessageBox(); MessageBox messageBox = new MessageBox();
MessageBoxResult showAsk = messageBox.ShowAsk("正在计算钻石数据,是否终止?"); MessageBoxResult showAsk = messageBox.ShowAsk(MultilingualHelper.getString("GradingLoadingStopAsk"));
if (showAsk == MessageBoxResult.OK) if (showAsk == MessageBoxResult.OK)
{ {
WindowManager.mainViewModel.Content = WindowManager.PreviousVM();
_scanner?.Cancel(); _scanner?.Cancel();
_progressCts.Cancel(); _progressCts.Cancel();
WindowManager.mainViewModel.Content = WindowManager.PreviousVM();
this.Dispose(); this.Dispose();
} }
}
catch (Exception ex)
{
}
} }

@ -8,7 +8,7 @@
Title="JsonImport" Height="450" Width="800" Title="JsonImport" Height="450" Width="800"
DataContext="{Binding RelativeSource={RelativeSource Self}}" DataContext="{Binding RelativeSource={RelativeSource Self}}"
WindowStyle="None" AllowsTransparency="True" Background="Transparent"> WindowStyle="None" AllowsTransparency="True" Background="Transparent">
<Border CornerRadius="15" Background="White" x:Name="Border" > <Border CornerRadius="10" Background="White" x:Name="Border" BorderBrush="Blue" BorderThickness="2">
<Grid ClipToBounds="True"> <Grid ClipToBounds="True">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition> <RowDefinition Height="Auto"></RowDefinition>

@ -406,7 +406,7 @@
<GradientStop Color="#107fd0" Offset="1"/> <GradientStop Color="#107fd0" Offset="1"/>
</LinearGradientBrush> </LinearGradientBrush>
</Border.Background> </Border.Background>
<TextBlock FontSize="18" TextAlignment="Center" Foreground="#ffffff" IsEnabled="False" Text="上一帧" /> <TextBlock FontSize="18" TextAlignment="Center" Foreground="#ffffff" IsEnabled="False" Text="{StaticResource GradingLoadingPrevious}" />
</Border> </Border>
</Button> </Button>
<Button Grid.Column="1" Padding="0" Margin="10 0 10 0" Height="80" BorderThickness="0" IsEnabled="{Binding ImageIsEnable}" <Button Grid.Column="1" Padding="0" Margin="10 0 10 0" Height="80" BorderThickness="0" IsEnabled="{Binding ImageIsEnable}"
@ -442,7 +442,7 @@
<GradientStop Color="#107fd0" Offset="1"/> <GradientStop Color="#107fd0" Offset="1"/>
</LinearGradientBrush> </LinearGradientBrush>
</Border.Background> </Border.Background>
<TextBlock FontSize="18" TextAlignment="Center" Foreground="#ffffff" IsEnabled="False" Text="下一帧" /> <TextBlock FontSize="18" TextAlignment="Center" Foreground="#ffffff" IsEnabled="False" Text="{StaticResource GradingLoadingNext}" />
</Border> </Border>
</Button> </Button>
</Grid> </Grid>

@ -16,9 +16,6 @@ public class RayHelper
private static string _image_path = AppDomain.CurrentDomain.BaseDirectory + @"Ray\Image\"; private static string _image_path = AppDomain.CurrentDomain.BaseDirectory + @"Ray\Image\";
//unity渲染模型缓存(运行前清理) //unity渲染模型缓存(运行前清理)
private static string _obj_path = AppDomain.CurrentDomain.BaseDirectory + @"Ray\Obj"; private static string _obj_path = AppDomain.CurrentDomain.BaseDirectory + @"Ray\Obj";
//用于存放unity渲染插件(版本发布独立更新)
private static string _unity_path = AppDomain.CurrentDomain.BaseDirectory + @"Ray\Core\";
public static void GenerateRender(string modelInfo, string diamondCode) public static void GenerateRender(string modelInfo, string diamondCode)
{ {

Loading…
Cancel
Save