|
|
@ -17,9 +17,11 @@
|
|||
<entry key="ToolsForm/Views/ReadCodeWindow.axaml" value="ToolsForm/ToolsForm.csproj" />
|
||||
<entry key="ToolsForm/Views/RecordingWindow.axaml" value="ToolsForm/ToolsForm.csproj" />
|
||||
<entry key="ToolsForm/Views/ResetSceneWindow.axaml" value="ToolsForm/ToolsForm.csproj" />
|
||||
<entry key="ToolsForm/Views/StartWindow.axaml" value="ToolsForm/ToolsForm.csproj" />
|
||||
<entry key="ToolsForm/Views/TemporaryStorage/TemporaryStorageWindow.axaml" value="ToolsForm/ToolsForm.csproj" />
|
||||
<entry key="ToolsForm/Views/TemporaryStorageMessage.axaml" value="ToolsForm/ToolsForm.csproj" />
|
||||
<entry key="ToolsForm/Views/TemporaryStorageWindow.axaml" value="ToolsForm/ToolsForm.csproj" />
|
||||
<entry key="ToolsForm/Views/UploadExperConfirmWindow2.axaml" value="ToolsForm/ToolsForm.csproj" />
|
||||
<entry key="ToolsForm/Views/UploadExperimentMessageWindow.axaml" value="ToolsForm/ToolsForm.csproj" />
|
||||
<entry key="ToolsForm/Views/UploadExperimentWindow.axaml" value="ToolsForm/ToolsForm.csproj" />
|
||||
<entry key="ToolsForm/Views/UserControl.axaml" value="ToolsForm/ToolsForm.csproj" />
|
||||
|
|
|
|||
|
|
@ -8,43 +8,159 @@
|
|||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="0ae961c9-2aa8-4465-9e53-e04d62044e0d" name="更改" comment="">
|
||||
<change afterPath="$PROJECT_DIR$/ToolsForm/Assets/img/ResetScene/悬浮.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/ToolsForm/Assets/img/TemporaryStorage/对-悬浮.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0.zip" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Assets/img/ResetScene/告警.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Assets/img/ResetScene/场景重置-选中.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Assets/img/ResetScene/对.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Assets/img/ResetScene/悬浮.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Assets/img/ResetScene/重置框.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/ToolsForm/Assets/img/Experiment/总览-默认.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/ToolsForm/Assets/img/Experiment/菜单3 - 副本.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/ToolsForm/Assets/img/Experiment/菜单3.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/ToolsForm/Assets/img/Overview/tiao.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/ToolsForm/Assets/img/UploadExperimentMessage/感叹号.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/ToolsForm/Assets/img/UploadExperimentMessage/提交按钮.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/ToolsForm/Assets/img/切换新-悬浮.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/ToolsForm/Assets/img/切换新-默认.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/ToolsForm/Manager/APIInterface.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/ToolsForm/Models/DeepSeekClient.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/ToolsForm/ToolsForm.sln" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/ToolsForm/Views/StartWindow.axaml" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/ToolsForm/Views/StartWindow.axaml.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/ToolsForm/Views/UploadExperConfirmWindow2.axaml" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/ToolsForm/Views/UploadExperConfirmWindow2.axaml.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/publish/av_libglesv2.dll" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/publish/libHarfBuzzSharp.dll" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/publish/libSkiaSharp.dll" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/publish/publish.zip" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/.idea.ToolsForm/.idea/avalonia.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.ToolsForm/.idea/avalonia.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/.idea.ToolsForm/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.ToolsForm/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.vs/ProjectEvaluation/toolsform.metadata.v7.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.vs/ProjectEvaluation/toolsform.metadata.v7.bin" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.vs/ProjectEvaluation/toolsform.projects.v7.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.vs/ProjectEvaluation/toolsform.projects.v7.bin" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.vs/ToolsForm/v17/.suo" beforeDir="false" afterPath="$PROJECT_DIR$/.vs/ToolsForm/v17/.suo" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm.sln.DotSettings.user" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm.sln.DotSettings.user" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Manager/AppDataManager.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Manager/AppDataManager.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/App.axaml.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/App.axaml.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Assets/img/总览-悬浮.png" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Assets/img/总览-悬浮.png" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Assets/img/总览-默认.png" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Assets/img/总览-默认.png" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Manager/AppWindowManager.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Manager/AppWindowManager.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Manager/WindowApi.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Manager/WindowApi.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Models/RaadCodeModel.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Models/RaadCodeModel.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Models/ToolsEventModel.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Models/ToolsEventModel.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Views/AIWindow.axaml" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Views/AIWindow.axaml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Program.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Program.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/ToolsForm.csproj" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/ToolsForm.csproj" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Views/AIWindow.axaml.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Views/AIWindow.axaml.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Views/DownCodeWindow.axaml" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Views/DownCodeWindow.axaml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Views/DownCodeWindow.axaml.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Views/DownCodeWindow.axaml.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Views/ExperimentWindow.axaml" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Views/ExperimentWindow.axaml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Views/ExperimentWindow.axaml.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Views/ExperimentWindow.axaml.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Views/ExperimentWindow2.axaml" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Views/ExperimentWindow2.axaml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Views/ExperimentWindow2.axaml.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Views/ExperimentWindow2.axaml.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Views/IDEErrorWindow.axaml.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Views/IDEErrorWindow.axaml.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Views/IDEWindow.axaml.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Views/IDEWindow.axaml.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Views/IDEWindow2.axaml.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Views/IDEWindow2.axaml.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Views/ReadCodeWindow.axaml" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Views/ReadCodeWindow.axaml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Views/MainWindow.axaml" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Views/MainWindow.axaml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Views/MainWindow.axaml.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Views/MainWindow.axaml.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Views/OverviewWindow.axaml" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Views/OverviewWindow.axaml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Views/OverviewWindow.axaml.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Views/OverviewWindow.axaml.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Views/ReadCodeWindow.axaml.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Views/ReadCodeWindow.axaml.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Views/ResetSceneWindow.axaml" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Views/ResetSceneWindow.axaml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Views/RecordingWindow.axaml.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Views/RecordingWindow.axaml.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Views/ResetSceneWindow.axaml.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Views/ResetSceneWindow.axaml.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Views/TemporaryStorageWindow.axaml" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Views/TemporaryStorageWindow.axaml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Views/TemporaryStorageMessage.axaml.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Views/TemporaryStorageMessage.axaml.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Views/TemporaryStorageWindow.axaml.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Views/TemporaryStorageWindow.axaml.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Views/UploadExperimentWindow.axaml" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Views/UploadExperimentWindow.axaml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Views/UploadExperimentMessageWindow.axaml.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Views/UploadExperimentMessageWindow.axaml.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/Views/UploadExperimentWindow.axaml.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/Views/UploadExperimentWindow.axaml.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/ToolsForm.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/ToolsForm.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/ToolsForm.exe" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/ToolsForm.exe" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/ToolsForm.pdb" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/ToolsForm.pdb" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0.zip" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Assets/img/ResetScene/告警.png" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Assets/img/ResetScene/场景重置-选中.png" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Assets/img/ResetScene/对.png" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Assets/img/ResetScene/悬浮.png" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Assets/img/ResetScene/重置框.png" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Avalonia.Base.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Avalonia.Controls.ColorPicker.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Avalonia.Controls.DataGrid.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Avalonia.Controls.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Avalonia.DesignerSupport.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Avalonia.Desktop.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Avalonia.Diagnostics.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Avalonia.Dialogs.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Avalonia.Fonts.Inter.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Avalonia.FreeDesktop.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Avalonia.Markup.Xaml.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Avalonia.Markup.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Avalonia.Metal.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Avalonia.MicroCom.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Avalonia.Native.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Avalonia.OpenGL.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Avalonia.Remote.Protocol.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Avalonia.Skia.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Avalonia.Themes.Fluent.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Avalonia.Themes.Simple.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Avalonia.Vulkan.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Avalonia.Win32.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Avalonia.X11.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Avalonia.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/CommunityToolkit.Mvvm.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/HarfBuzzSharp.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/MicroCom.Runtime.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Microsoft.Win32.SystemEvents.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Newtonsoft.Json.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/SkiaSharp.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/System.Drawing.Common.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/System.IO.Packaging.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/System.IO.Pipelines.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Tmds.DBus.Protocol.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/ToolsForm.deps.json" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/ToolsForm.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/ToolsForm.exe" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/ToolsForm.pdb" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/ToolsForm.runtimeconfig.json" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Xceed.Document.NET.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/Xceed.Words.NET.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/config.txt" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/runtimes/linux-arm/native/libHarfBuzzSharp.so" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/runtimes/linux-arm/native/libSkiaSharp.so" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/runtimes/linux-arm64/native/libHarfBuzzSharp.so" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/runtimes/linux-arm64/native/libSkiaSharp.so" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/runtimes/linux-musl-x64/native/libHarfBuzzSharp.so" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/runtimes/linux-musl-x64/native/libSkiaSharp.so" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/runtimes/linux-x64/native/libHarfBuzzSharp.so" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/runtimes/linux-x64/native/libSkiaSharp.so" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/runtimes/osx/native/libAvaloniaNative.dylib" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/runtimes/osx/native/libHarfBuzzSharp.dylib" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/runtimes/osx/native/libSkiaSharp.dylib" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/runtimes/unix/lib/netcoreapp3.0/System.Drawing.Common.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/runtimes/win-arm64/native/av_libglesv2.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/runtimes/win-arm64/native/libHarfBuzzSharp.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/runtimes/win-arm64/native/libSkiaSharp.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/runtimes/win-x64/native/av_libglesv2.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/runtimes/win-x64/native/libHarfBuzzSharp.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/runtimes/win-x64/native/libSkiaSharp.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/runtimes/win-x86/native/av_libglesv2.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/runtimes/win-x86/native/libHarfBuzzSharp.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/runtimes/win-x86/native/libSkiaSharp.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/runtimes/win/lib/netcoreapp3.0/Microsoft.Win32.SystemEvents.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/runtimes/win/lib/netcoreapp3.0/System.Drawing.Common.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/websocket-sharp.dll" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Debug/net8.0/总览.docx" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Base.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Base.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Controls.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Controls.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.DesignerSupport.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.DesignerSupport.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Desktop.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Desktop.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Dialogs.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Dialogs.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Fonts.Inter.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Fonts.Inter.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.FreeDesktop.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.FreeDesktop.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Markup.Xaml.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Markup.Xaml.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Markup.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Markup.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Metal.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Metal.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.MicroCom.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.MicroCom.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Native.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Native.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.OpenGL.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.OpenGL.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Remote.Protocol.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Remote.Protocol.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Skia.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Skia.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Themes.Fluent.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Themes.Fluent.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Vulkan.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Vulkan.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Win32.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.Win32.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.X11.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.X11.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/Avalonia.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/HarfBuzzSharp.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/HarfBuzzSharp.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/SkiaSharp.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/SkiaSharp.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/ToolsForm.deps.json" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/ToolsForm.deps.json" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/ToolsForm.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/ToolsForm.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/ToolsForm.exe" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/ToolsForm.exe" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/ToolsForm.pdb" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/ToolsForm.pdb" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/libHarfBuzzSharp.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/libHarfBuzzSharp.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/libSkiaSharp.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/libSkiaSharp.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/publish/ToolsForm.exe" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/publish/ToolsForm.exe" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/publish/ToolsForm.pdb" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/publish/ToolsForm.pdb" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/Debug/net8.0/Avalonia/Resources.Inputs.cache" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/Debug/net8.0/Avalonia/Resources.Inputs.cache" afterDir="false" />
|
||||
|
|
@ -56,6 +172,7 @@
|
|||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/Debug/net8.0/ToolsForm.GeneratedMSBuildEditorConfig.editorconfig" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/Debug/net8.0/ToolsForm.GeneratedMSBuildEditorConfig.editorconfig" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/Debug/net8.0/ToolsForm.assets.cache" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/Debug/net8.0/ToolsForm.assets.cache" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/Debug/net8.0/ToolsForm.csproj.AssemblyReference.cache" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/Debug/net8.0/ToolsForm.csproj.AssemblyReference.cache" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/Debug/net8.0/ToolsForm.csproj.CoreCompileInputs.cache" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/Debug/net8.0/ToolsForm.csproj.CoreCompileInputs.cache" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/Debug/net8.0/apphost.exe" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/Debug/net8.0/apphost.exe" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/Debug/net8.0/ref/ToolsForm.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/Debug/net8.0/ref/ToolsForm.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/Debug/net8.0/refint/Avalonia/ToolsForm.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/Debug/net8.0/refint/Avalonia/ToolsForm.dll" afterDir="false" />
|
||||
|
|
@ -63,9 +180,16 @@
|
|||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/Avalonia/ToolsForm.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/Avalonia/ToolsForm.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/Avalonia/ToolsForm.pdb" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/Avalonia/ToolsForm.pdb" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/Avalonia/resources" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/Avalonia/resources" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/PublishOutputs.9a158c9aeb.txt" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/PublishOutputs.9a158c9aeb.txt" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/ToolsForm.AssemblyInfo.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/ToolsForm.AssemblyInfo.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/ToolsForm.AssemblyInfoInputs.cache" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/ToolsForm.AssemblyInfoInputs.cache" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/ToolsForm.GeneratedMSBuildEditorConfig.editorconfig" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/ToolsForm.GeneratedMSBuildEditorConfig.editorconfig" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/ToolsForm.assets.cache" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/ToolsForm.assets.cache" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/ToolsForm.csproj.AssemblyReference.cache" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/ToolsForm.csproj.AssemblyReference.cache" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/ToolsForm.csproj.CoreCompileInputs.cache" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/ToolsForm.csproj.CoreCompileInputs.cache" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/ToolsForm.deps.json" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/ToolsForm.deps.json" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/ToolsForm.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/ToolsForm.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/ToolsForm.genbundle.cache" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/ToolsForm.genbundle.cache" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/ToolsForm.pdb" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/ToolsForm.pdb" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/ref/ToolsForm.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/ref/ToolsForm.dll" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/refint/Avalonia/ToolsForm.dll" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/refint/Avalonia/ToolsForm.dll" afterDir="false" />
|
||||
|
|
@ -73,8 +197,10 @@
|
|||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/singlefilehost.exe" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/Release/net8.0/win-x64/singlefilehost.exe" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/ToolsForm.csproj.nuget.dgspec.json" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/ToolsForm.csproj.nuget.dgspec.json" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/ToolsForm.csproj.nuget.g.props" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/ToolsForm.csproj.nuget.g.props" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/ToolsForm.csproj.nuget.g.targets" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/ToolsForm.csproj.nuget.g.targets" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/project.assets.json" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/project.assets.json" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/project.nuget.cache" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/project.nuget.cache" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/project.packagespec.json" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/project.packagespec.json" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/rider.project.model.nuget.info" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/rider.project.model.nuget.info" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ToolsForm/obj/rider.project.restore.info" beforeDir="false" afterPath="$PROJECT_DIR$/ToolsForm/obj/rider.project.restore.info" afterDir="false" />
|
||||
</list>
|
||||
|
|
@ -91,12 +217,20 @@
|
|||
</component>
|
||||
<component name="HighlightingSettingsPerFile">
|
||||
<setting file="file://$USER_HOME$/AppData/Local/Symbols/src/dotnet/runtime/2d7eea252964e69be94cb9c847b371b23e4dd470/src/libraries/System.Private.CoreLib/src/System/Threading/ExecutionContext.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$USER_HOME$/AppData/Local/Temp/SourceGeneratedDocuments/811F622FC540C8833C1C7FFC/Avalonia.Generators/Avalonia.Generators.NameGenerator.AvaloniaNameSourceGenerator/ToolsForm.Views.DownCodeWindow.g.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$USER_HOME$/AppData/Local/Temp/SourceGeneratedDocuments/811F622FC540C8833C1C7FFC/Avalonia.Generators/Avalonia.Generators.NameGenerator.AvaloniaNameSourceGenerator/ToolsForm.Views.ExperimentWindow.g.cs" root0="FORCE_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/00f3784ef64d4453a2630f8508a23171f9200/0a/c70ccf06/Window.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/00f3784ef64d4453a2630f8508a23171f9200/57/f4b4f129/ToggleButton.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/00f3784ef64d4453a2630f8508a23171f9200/cd/7b194776/IWindowBaseImpl.cs" root0="FORCE_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/00f3784ef64d4453a2630f8508a23171f9200/fc/1180e23f/TextBlock.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/02323166d85f414986b6c748680fca1e2e910/f3/9a17a383/WebSocketDeflateOptions.cs" root0="FORCE_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/056eb7a619d244a3a3b09539a81e6dc014400/5d/e95356e9/ReflectionBindingExtension.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/056eb7a619d244a3a3b09539a81e6dc014400/a5/2fbad56c/CompiledBindingExtension.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/0ceaca09f3944680b668dee8e1e0370b100a00/59/154c3f1a/WindowBase.cs" root0="FORCE_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/0ceaca09f3944680b668dee8e1e0370b100a00/d1/83662a49/Screens.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/0ceaca09f3944680b668dee8e1e0370b100a00/ea/9ef30690/Window.cs" root0="FORCE_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/22d92db124764b1ab49745245c66f01b1e1a00/ea/00b655a6/StandardCursorType.cs" root0="FORCE_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/5dd773482c984277ab956687084e52fc68000/24/58d4067a/DataGridColumnHeader.cs" root0="FORCE_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/74eaac094039460b88cbb81a06bdd12d138a0/0d/4dd9634d/INotifyPropertyChanged.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/93315fdb183a474a973851b4a8e2365f14400/ea/91c21367/CompiledBindingExtension.cs" root0="FORCE_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/c47327607d1a4ddca06ba2bc6b6ba8261cc800/fe/fefa5f42/UntypedBindingExpressionBase.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
|
|
@ -105,6 +239,7 @@
|
|||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/de3edec1170e48a0a2478d8743508635c8e910/7e/a675f6db/SafeFileHandle.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/de3edec1170e48a0a2478d8743508635c8e910/eb/e5a2fec8/SafeFileHandle.cs" root0="FORCE_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/e6b66c6b133847f9a2c8b591fb074f9d100400/a4/f3893419/Screen.cs" root0="FORCE_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/f571f37fed6244e1a931556f6afbcbb7100c00/4d/9e60eab7/ClassicDesktopStyleApplicationLifetimeExtensions.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/SourcesCache/00f3784ef64d4453a2630f8508a23171f9200/_4d593/IWindowImpl.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/SourcesCache/2d9e48c78990cecd83446d724e6becca8372160e7da83528c0b6efca8ffb7/Button.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/SourcesCache/2e49d31c49913769929208c70c15e8493f19d1ac876bcf8b11123d7bfb66b/RequestMessage{T}.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
|
|
@ -131,14 +266,14 @@
|
|||
"ASKED_ADD_EXTERNAL_FILES": "true",
|
||||
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||
"RunOnceActivity.git.unshallow": "true",
|
||||
"XThreadsFramesViewSplitterKey": "0.5078125",
|
||||
"XThreadsFramesViewSplitterKey": "0.5077882",
|
||||
"git-widget-placeholder": "main",
|
||||
"node.js.detected.package.eslint": "true",
|
||||
"node.js.detected.package.tslint": "true",
|
||||
"node.js.selected.package.eslint": "(autodetect)",
|
||||
"node.js.selected.package.tslint": "(autodetect)",
|
||||
"nodejs_package_manager_path": "npm",
|
||||
"settings.editor.selected.configurable": "Console",
|
||||
"settings.editor.selected.configurable": "preferences.keymap",
|
||||
"vue.rearranger.settings.migration": "true",
|
||||
"发布到文件夹.Publish ToolsForm to folder (1).executor": "Run",
|
||||
"发布到文件夹.Publish ToolsForm to folder (2).executor": "Run",
|
||||
|
|
@ -149,11 +284,19 @@
|
|||
"发布到文件夹.目录.executor": "Run"
|
||||
}
|
||||
}</component>
|
||||
<component name="RunManager" selected=".NET 项目.ToolsForm">
|
||||
<component name="RunManager" selected="发布到文件夹.Publish ToolsForm to folder (3)">
|
||||
<configuration name="Publish ToolsForm to folder (1)" type="DotNetFolderPublish" factoryName="Publish to folder">
|
||||
<riderPublish configuration="Release" delete_existing_files="true" include_all_content_for_self_extract="true" include_native_libs_for_self_extract="true" platform="Any CPU" produce_single_file="true" runtime="win-x64" self_contained="true" target_folder="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/publish" target_framework="net8.0" uuid_high="8004843969109443341" uuid_low="-5534705942332332484" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
<configuration name="Publish ToolsForm to folder (2)" type="DotNetFolderPublish" factoryName="Publish to folder">
|
||||
<riderPublish configuration="Release" delete_existing_files="true" platform="Any CPU" produce_single_file="true" runtime="win-x64" self_contained="true" target_folder="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/publish" target_framework="net8.0" uuid_high="8004843969109443341" uuid_low="-5534705942332332484" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
<configuration name="Publish ToolsForm to folder (3)" type="DotNetFolderPublish" factoryName="Publish to folder">
|
||||
<riderPublish configuration="Release" delete_existing_files="true" platform="Any CPU" produce_single_file="true" runtime="win-x64" self_contained="true" target_folder="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/publish" target_framework="net8.0" uuid_high="8004843969109443341" uuid_low="-5534705942332332484" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
<configuration name="Publish ToolsForm to folder" type="DotNetFolderPublish" factoryName="Publish to folder">
|
||||
<riderPublish configuration="Release" include_all_content_for_self_extract="true" include_native_libs_for_self_extract="true" platform="Any CPU" produce_single_file="true" runtime="win-x64" self_contained="true" target_folder="$PROJECT_DIR$/ToolsForm/bin/Release/net8.0/win-x64/publish" target_framework="net8.0" uuid_high="8004843969109443341" uuid_low="-5534705942332332484" />
|
||||
<method v="2" />
|
||||
|
|
@ -178,7 +321,9 @@
|
|||
</configuration>
|
||||
<list>
|
||||
<item itemvalue=".NET 项目.ToolsForm" />
|
||||
<item itemvalue="发布到文件夹.Publish ToolsForm to folder (3)" />
|
||||
<item itemvalue="发布到文件夹.Publish ToolsForm to folder (1)" />
|
||||
<item itemvalue="发布到文件夹.Publish ToolsForm to folder (2)" />
|
||||
<item itemvalue="发布到文件夹.Publish ToolsForm to folder" />
|
||||
</list>
|
||||
</component>
|
||||
|
|
@ -234,6 +379,27 @@
|
|||
<workItem from="1731927855316" duration="1536000" />
|
||||
<workItem from="1731930556129" duration="3219000" />
|
||||
<workItem from="1732153629460" duration="128000" />
|
||||
<workItem from="1734603229466" duration="941000" />
|
||||
<workItem from="1734679976266" duration="6087000" />
|
||||
<workItem from="1734919542421" duration="1101000" />
|
||||
<workItem from="1734943750631" duration="1370000" />
|
||||
<workItem from="1734948475896" duration="1906000" />
|
||||
<workItem from="1735111845313" duration="297000" />
|
||||
<workItem from="1735196198351" duration="1612000" />
|
||||
<workItem from="1739347733592" duration="11198000" />
|
||||
<workItem from="1740374496561" duration="5572000" />
|
||||
<workItem from="1741245406954" duration="59000" />
|
||||
<workItem from="1741671738663" duration="4890000" />
|
||||
<workItem from="1741677712982" duration="1000000" />
|
||||
<workItem from="1741679331751" duration="4777000" />
|
||||
<workItem from="1742451445354" duration="7601000" />
|
||||
<workItem from="1742793256662" duration="3278000" />
|
||||
<workItem from="1742804838449" duration="7604000" />
|
||||
<workItem from="1744245641624" duration="16050000" />
|
||||
<workItem from="1744267488524" duration="871000" />
|
||||
<workItem from="1744275986458" duration="1893000" />
|
||||
<workItem from="1744874420088" duration="8122000" />
|
||||
<workItem from="1744882607405" duration="1411000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
|
|
@ -261,30 +427,69 @@
|
|||
<breakpoints>
|
||||
<line-breakpoint enabled="true" type="DotNet Breakpoints">
|
||||
<url>file://$PROJECT_DIR$/ToolsForm/Views/IDEWindow.axaml.cs</url>
|
||||
<line>135</line>
|
||||
<line>136</line>
|
||||
<properties documentPath="C:\Users\PC\RiderProjects\ToolsForm\ToolsForm\Views\IDEWindow.axaml.cs" containingFunctionPresentation="方法 'NextStepButton_OnClick'">
|
||||
<startOffsets>
|
||||
<option value="3927" />
|
||||
<option value="3958" />
|
||||
</startOffsets>
|
||||
<endOffsets>
|
||||
<option value="3969" />
|
||||
<option value="4000" />
|
||||
</endOffsets>
|
||||
</properties>
|
||||
<option name="timeStamp" value="3" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="DotNet Breakpoints">
|
||||
<url>file://$PROJECT_DIR$/ToolsForm/Views/RecordingWindow.axaml.cs</url>
|
||||
<line>52</line>
|
||||
<line>53</line>
|
||||
<properties documentPath="C:\Users\PC\RiderProjects\ToolsForm\ToolsForm\Views\RecordingWindow.axaml.cs" containingFunctionPresentation="lambda 表达式内 方法 'OnRotationTimerElapsed'">
|
||||
<startOffsets>
|
||||
<option value="1623" />
|
||||
<option value="1654" />
|
||||
</startOffsets>
|
||||
<endOffsets>
|
||||
<option value="1682" />
|
||||
<option value="1713" />
|
||||
</endOffsets>
|
||||
</properties>
|
||||
<option name="timeStamp" value="5" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="DotNet Breakpoints">
|
||||
<url>file://$PROJECT_DIR$/ToolsForm/Views/MainWindow.axaml.cs</url>
|
||||
<line>200</line>
|
||||
<properties documentPath="E:\Unity Projects\GitLab\2024\ICT_ToolsForm\ToolsForm\ToolsForm\Views\MainWindow.axaml.cs" containingFunctionPresentation="方法 'StartExperimentButton_OnClick'">
|
||||
<startOffsets>
|
||||
<option value="7278" />
|
||||
</startOffsets>
|
||||
<endOffsets>
|
||||
<option value="7391" />
|
||||
</endOffsets>
|
||||
</properties>
|
||||
<option name="timeStamp" value="6" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="DotNet Breakpoints">
|
||||
<url>file://$PROJECT_DIR$/ToolsForm/Views/UploadExperConfirmWindow2.axaml.cs</url>
|
||||
<line>45</line>
|
||||
<properties documentPath="E:\Unity Projects\GitLab\2024\ICT_ToolsForm\ToolsForm\ToolsForm\Views\UploadExperConfirmWindow2.axaml.cs" containingFunctionPresentation="方法 'GetScreenCenter'">
|
||||
<startOffsets>
|
||||
<option value="1327" />
|
||||
</startOffsets>
|
||||
<endOffsets>
|
||||
<option value="1353" />
|
||||
</endOffsets>
|
||||
</properties>
|
||||
<option name="timeStamp" value="7" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="DotNet Breakpoints">
|
||||
<url>file://$PROJECT_DIR$/ToolsForm/Views/ExperimentWindow2.axaml.cs</url>
|
||||
<line>49</line>
|
||||
<properties documentPath="E:\Unity Projects\GitLab\2024\ICT_ToolsForm\ToolsForm\ToolsForm\Views\ExperimentWindow2.axaml.cs" containingFunctionPresentation="构造函数 'ExperimentWindow2'">
|
||||
<startOffsets>
|
||||
<option value="1579" />
|
||||
</startOffsets>
|
||||
<endOffsets>
|
||||
<option value="1614" />
|
||||
</endOffsets>
|
||||
</properties>
|
||||
<option name="timeStamp" value="11" />
|
||||
</line-breakpoint>
|
||||
</breakpoints>
|
||||
</breakpoint-manager>
|
||||
</component>
|
||||
|
|
|
|||
|
|
@ -1,10 +1,15 @@
|
|||
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||
<s:Boolean x:Key="/Default/AddReferences/RecentPaths/=C_003A_005CUsers_005CPC_005CDesktop_005Cwebsocket_002Dsharp_002Edll/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACompiledBindingExtension_002Ecs_002Fl_003AC_0021_003FUsers_003FPC_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F93315fdb183a474a973851b4a8e2365f14400_003Fea_003F91c21367_003FCompiledBindingExtension_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADataGridColumnHeader_002Ecs_002Fl_003AC_0021_003FUsers_003FPC_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5dd773482c984277ab956687084e52fc68000_003F24_003F58d4067a_003FDataGridColumnHeader_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AIWindowBaseImpl_002Ecs_002Fl_003AC_0021_003FUsers_003FPC_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F00f3784ef64d4453a2630f8508a23171f9200_003Fcd_003F7b194776_003FIWindowBaseImpl_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ASafeFileHandle_002Ecs_002Fl_003AC_0021_003FUsers_003FPC_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fde3edec1170e48a0a2478d8743508635c8e910_003Feb_003Fe5a2fec8_003FSafeFileHandle_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AScreen_002Ecs_002Fl_003AC_0021_003FUsers_003FPC_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fe6b66c6b133847f9a2c8b591fb074f9d100400_003Fa4_003Ff3893419_003FScreen_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AStandardCursorType_002Ecs_002Fl_003AC_0021_003FUsers_003FPC_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F22d92db124764b1ab49745245c66f01b1e1a00_003Fea_003F00b655a6_003FStandardCursorType_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AWebSocketDeflateOptions_002Ecs_002Fl_003AC_0021_003FUsers_003FPC_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F02323166d85f414986b6c748680fca1e2e910_003Ff3_003F9a17a383_003FWebSocketDeflateOptions_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AWindowBase_002Ecs_002Fl_003AC_0021_003FUsers_003FPC_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F0ceaca09f3944680b668dee8e1e0370b100a00_003F59_003F154c3f1a_003FWindowBase_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AWindow_002Ecs_002Fl_003AC_0021_003FUsers_003FPC_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FSourcesCache_003F76aad41724a492bc2e5ff0e928797f38ecc2de18abdc8e7fa47bcc970dfc46b_003FWindow_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AWindow_002Ecs_002Fl_003AC_0021_003FUsers_003FPC_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F0ceaca09f3944680b668dee8e1e0370b100a00_003Fea_003F9ef30690_003FWindow_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/Environment/AssemblyExplorer/XmlDocument/@EntryValue"><AssemblyExplorer>
|
||||
<Assembly Path="C:\Users\PC\.nuget\packages\avalonia\11.2.1\ref\net8.0\Avalonia.Controls.dll" />
|
||||
</AssemblyExplorer></s:String></wpf:ResourceDictionary>
|
||||
|
|
@ -6,6 +6,7 @@ using Avalonia.Data.Core.Plugins;
|
|||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.Media;
|
||||
using Tmds.DBus.Protocol;
|
||||
using ToolsForm.Manager;
|
||||
using ToolsForm.Models;
|
||||
using ToolsForm.Views;
|
||||
|
||||
|
|
@ -25,8 +26,8 @@ public class App : Application
|
|||
|
||||
|
||||
var webSocketManager = WebSocketManager.GetInstance();
|
||||
|
||||
|
||||
|
||||
APIInterface.url = args[1];
|
||||
Console.WriteLine(args[0]);
|
||||
webSocketManager.Connect(args[0]);
|
||||
|
||||
|
|
@ -44,7 +45,7 @@ public class App : Application
|
|||
// Line below is needed to remove Avalonia data validation.
|
||||
// Without this line you will get duplicate validations from both Avalonia and CT
|
||||
BindingPlugins.DataValidators.RemoveAt(0);
|
||||
desktop.MainWindow = new MainWindow
|
||||
desktop.MainWindow = new StartWindow()
|
||||
{
|
||||
// DataContext = new MainWindowViewModel(),
|
||||
};
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 9.0 KiB |
|
After Width: | Height: | Size: 9.0 KiB |
|
After Width: | Height: | Size: 778 B |
|
After Width: | Height: | Size: 764 B |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.6 KiB |
|
|
@ -0,0 +1,6 @@
|
|||
namespace ToolsForm.Manager;
|
||||
|
||||
public static class APIInterface
|
||||
{
|
||||
public static string url;
|
||||
}
|
||||
|
|
@ -34,6 +34,7 @@ namespace ToolsForm.Models
|
|||
public static ExperimentWindow? ExperimentWindow; //暂存
|
||||
public static UploadExperimentWindow? UploadExperimentWindow; //暂存
|
||||
public static UploadExperimentMessageWindow? UploadExperimentMessageWindow; //暂存
|
||||
public static UploadExperConfirmWindow2? UploadExperConfirmWindow2; //暂存
|
||||
public static AIWindow? AiWindow; //AI
|
||||
public static ExperimentWindow2? ExperimentWindow2; //切换窗口
|
||||
|
||||
|
|
@ -172,6 +173,7 @@ namespace ToolsForm.Models
|
|||
CloseWindow(ref IdeErrorWindow);
|
||||
CloseWindow(ref UploadExperimentMessageWindow);
|
||||
CloseWindow(ref AiWindow);
|
||||
CloseWindow(ref UploadExperConfirmWindow2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
public static class WindowApi
|
||||
|
|
@ -28,4 +29,11 @@ public static class WindowApi
|
|||
public int Right;
|
||||
public int Bottom;
|
||||
}
|
||||
|
||||
public static bool isSubmiteBttonOpen = true;
|
||||
|
||||
public static List<string> Tasks;
|
||||
|
||||
|
||||
public static string score;
|
||||
}
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
using System;
|
||||
using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
public class DeepSeekClient
|
||||
{
|
||||
private readonly HttpClient _httpClient;
|
||||
private readonly string _apiKey;
|
||||
|
||||
public DeepSeekClient(string apiKey)
|
||||
{
|
||||
_httpClient = new HttpClient();
|
||||
_apiKey = apiKey;
|
||||
_httpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {_apiKey}");
|
||||
}
|
||||
|
||||
public async Task<string> SendMessageAsync(string userInput)
|
||||
{
|
||||
var requestUrl = "https://api.deepseek.com/chat/completions";
|
||||
var requestBody = new
|
||||
{
|
||||
model = "deepseek-chat",
|
||||
messages = new[]
|
||||
{
|
||||
new { role = "user", content = userInput }
|
||||
}
|
||||
};
|
||||
var jsonContent = JsonConvert.SerializeObject(requestBody);
|
||||
var httpContent = new StringContent(jsonContent, Encoding.UTF8, "application/json");
|
||||
|
||||
var response = await _httpClient.PostAsync(requestUrl, httpContent);
|
||||
response.EnsureSuccessStatusCode();
|
||||
|
||||
var responseContent = await response.Content.ReadAsStringAsync();
|
||||
var result = JsonConvert.DeserializeObject<DeepSeekResponse>(responseContent);
|
||||
|
||||
return result.Choices[0].Message.Content;
|
||||
}
|
||||
}
|
||||
|
||||
public class DeepSeekResponse
|
||||
{
|
||||
public Choice[] Choices { get; set; }
|
||||
}
|
||||
|
||||
public class Choice
|
||||
{
|
||||
public Message Message { get; set; }
|
||||
}
|
||||
|
||||
public class Message
|
||||
{
|
||||
public string Role { get; set; }
|
||||
public string Content { get; set; }
|
||||
}
|
||||
|
|
@ -4,4 +4,9 @@ public class RaadCodeModel
|
|||
{
|
||||
public int Process { get; set; }
|
||||
public bool IsSucess { get; set; }
|
||||
}
|
||||
|
||||
public class ScoreModel
|
||||
{
|
||||
public string Score { get; set; }
|
||||
}
|
||||
|
|
@ -52,6 +52,7 @@ public enum ToolsEventEnum
|
|||
/// 缩略图
|
||||
/// </summary>
|
||||
Thumbnail,
|
||||
HuiFu
|
||||
HuiFu,
|
||||
score
|
||||
|
||||
}
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using Avalonia;
|
||||
|
||||
namespace ToolsForm;
|
||||
|
|
@ -11,6 +12,51 @@ internal sealed class Program
|
|||
[STAThread]
|
||||
public static void Main(string[] args)
|
||||
{
|
||||
if (args.Length > 0)
|
||||
{
|
||||
string arg = args[0];
|
||||
|
||||
// 检查是否包含WithSubmitButton
|
||||
if (arg.StartsWith("WithSubmitButton"))
|
||||
{
|
||||
WindowApi.isSubmiteBttonOpen = true;
|
||||
|
||||
// 检查是否有任务详情
|
||||
if (arg.Contains("taskdetail:"))
|
||||
{
|
||||
// 分割参数获取任务详情部分
|
||||
string taskDetail = arg.Split(new[] { "taskdetail:" }, StringSplitOptions.None)[1];
|
||||
|
||||
// 进一步按&&分割任务
|
||||
string[] tasks = taskDetail.Split(new[] { "&&" }, StringSplitOptions.RemoveEmptyEntries);
|
||||
|
||||
// 存储任务列表以供后续使用
|
||||
WindowApi.Tasks = tasks.ToList();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
WindowApi.isSubmiteBttonOpen = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// string s = "WithSubmitButton,taskdetail:&&1、初始化机器人位置&&2、设置机器人名称及颜色&&3、播放背景音乐&&4、设置背景图片&&5、相机环绕点3转&&6、生成机器人整列并跳舞&&7、停止背景音乐并截图";
|
||||
// // 检查是否有任务详情
|
||||
// if (s.Contains("taskdetail:"))
|
||||
// {
|
||||
// // 分割参数获取任务详情部分
|
||||
// string taskDetail = s.Split(new[] { "taskdetail:" }, StringSplitOptions.None)[1];
|
||||
//
|
||||
// // 进一步按&&分割任务
|
||||
// string[] tasks = taskDetail.Split(new[] { "&&" }, StringSplitOptions.RemoveEmptyEntries);
|
||||
//
|
||||
// // 存储任务列表以供后续使用
|
||||
// WindowApi.Tasks = tasks.ToList();
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
BuildAvaloniaApp()
|
||||
.StartWithClassicDesktopLifetime(args);
|
||||
}
|
||||
|
|
@ -19,7 +65,7 @@ internal sealed class Program
|
|||
public static AppBuilder BuildAvaloniaApp()
|
||||
{
|
||||
return AppBuilder.Configure<App>()
|
||||
.UsePlatformDetect()
|
||||
.UsePlatformDetect()
|
||||
.WithInterFont()
|
||||
.LogToTrace();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,12 +24,12 @@
|
|||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Avalonia" Version="11.2.1" />
|
||||
<PackageReference Include="Avalonia.Desktop" Version="11.2.1" />
|
||||
<PackageReference Include="Avalonia.Themes.Fluent" Version="11.2.1" />
|
||||
<PackageReference Include="Avalonia.Fonts.Inter" Version="11.2.1" />
|
||||
<PackageReference Include="Avalonia" Version="11.2.5" />
|
||||
<PackageReference Include="Avalonia.Desktop" Version="11.2.5" />
|
||||
<PackageReference Include="Avalonia.Themes.Fluent" Version="11.2.5" />
|
||||
<PackageReference Include="Avalonia.Fonts.Inter" Version="11.2.5" />
|
||||
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
|
||||
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="11.2.1" />
|
||||
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="11.2.5" />
|
||||
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.1"/>
|
||||
<PackageReference Include="DocX" Version="3.0.1" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
||||
|
|
|
|||
|
|
@ -0,0 +1,24 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.5.2.0
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ToolsForm", "ToolsForm.csproj", "{734CD64B-E4C7-1BC7-8E9A-F413C77975C3}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{734CD64B-E4C7-1BC7-8E9A-F413C77975C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{734CD64B-E4C7-1BC7-8E9A-F413C77975C3}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{734CD64B-E4C7-1BC7-8E9A-F413C77975C3}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{734CD64B-E4C7-1BC7-8E9A-F413C77975C3}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {8498BA7B-6EA0-4754-8C7D-53849F7E39FE}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
|
@ -23,7 +23,8 @@ namespace ToolsForm.Views
|
|||
public AIWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
ShowInTaskbar = false;
|
||||
|
||||
|
||||
Topmost = true;
|
||||
|
||||
|
|
|
|||
|
|
@ -68,14 +68,14 @@
|
|||
0 KB/0 MB
|
||||
</TextBlock>
|
||||
|
||||
<TextBlock
|
||||
Canvas.Left="260"
|
||||
Canvas.Top="75"
|
||||
FontFamily="{StaticResource SourceNormal}"
|
||||
FontSize="14"
|
||||
Foreground="#9B9B9B"
|
||||
Name="TextBlockRight">
|
||||
0 KB/S
|
||||
</TextBlock>
|
||||
<!-- <TextBlock -->
|
||||
<!-- Canvas.Left="140" -->
|
||||
<!-- Canvas.Top="75" -->
|
||||
<!-- FontFamily="{StaticResource SourceNormal}" -->
|
||||
<!-- FontSize="14" -->
|
||||
<!-- Foreground="#9B9B9B" -->
|
||||
<!-- Name="TextBlockRight"> -->
|
||||
<!-- 0 KB/S -->
|
||||
<!-- </TextBlock> -->
|
||||
</Canvas>
|
||||
</Window>
|
||||
|
|
@ -16,19 +16,20 @@ public partial class DownCodeWindow : Window
|
|||
public DownCodeWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
Topmost = true;
|
||||
Topmost = true;
|
||||
|
||||
WebSocketManager.GetInstance().OnMessageReceived += HandleWebSocketMessage;
|
||||
|
||||
|
||||
Jie();
|
||||
ShowInTaskbar = false;
|
||||
|
||||
//Jie();
|
||||
}
|
||||
|
||||
private void HandleWebSocketMessage(ToolsEventModel eventmodel)
|
||||
{
|
||||
Console.WriteLine("接收到的事件类型: " + eventmodel.eventType);
|
||||
Console.WriteLine("事件数据: " + eventmodel.data);
|
||||
|
||||
|
||||
if (eventmodel.eventType == "DataReading")
|
||||
{
|
||||
RaadCodeModel raadCodeModel = JsonConvert.DeserializeObject<RaadCodeModel>((string)eventmodel.data);
|
||||
|
|
@ -37,22 +38,23 @@ public partial class DownCodeWindow : Window
|
|||
ProgressBar.Value = raadCodeModel.Process;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
async void Jie()
|
||||
{
|
||||
await Task.Delay(1000);
|
||||
AppWindowManager.CloseWindow(ref AppWindowManager.DownCodeWindow);
|
||||
|
||||
}
|
||||
|
||||
|
||||
TextBlock textBlockLeft;
|
||||
TextBlock textBlockCenter;
|
||||
|
||||
private void Window_OnLoaded(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
// 获取三个 TextBlock 的引用
|
||||
TextBlock textBlockLeft = this.FindControl<TextBlock>("TextBlockLeft");
|
||||
TextBlock textBlockCenter = this.FindControl<TextBlock>("TextBlockCenter");
|
||||
TextBlock textBlockRight = this.FindControl<TextBlock>("TextBlockRight");
|
||||
// TextBlock textBlockRight = this.FindControl<TextBlock>("TextBlockRight");
|
||||
|
||||
// 获取窗口宽度
|
||||
double windowWidth = this.Bounds.Width;
|
||||
|
|
@ -61,7 +63,7 @@ public partial class DownCodeWindow : Window
|
|||
Typeface typeface = new Typeface(textBlockLeft.FontFamily, FontStyle.Normal, FontWeight.Normal); // 创建 Typeface
|
||||
double leftWidth = MeasureTextWidth(textBlockLeft.Text, typeface, textBlockLeft.FontSize);
|
||||
double centerWidth = MeasureTextWidth(textBlockCenter.Text, typeface, textBlockCenter.FontSize);
|
||||
double rightWidth = MeasureTextWidth(textBlockRight.Text, typeface, textBlockRight.FontSize);
|
||||
// double rightWidth = MeasureTextWidth(textBlockRight.Text, typeface, textBlockRight.FontSize);
|
||||
|
||||
// 设置左侧 TextBlock 的位置
|
||||
Canvas.SetLeft(textBlockLeft, 40); // 或者你可以设置为 0
|
||||
|
|
@ -70,13 +72,41 @@ public partial class DownCodeWindow : Window
|
|||
double centerX = (windowWidth - centerWidth) / 2;
|
||||
Canvas.SetLeft(textBlockCenter, centerX);
|
||||
|
||||
// 设置右侧 TextBlock 的位置
|
||||
double rightX = windowWidth - rightWidth - 40; // 留一些边距
|
||||
Canvas.SetLeft(textBlockRight, rightX);
|
||||
|
||||
// // 设置右侧 TextBlock 的位置
|
||||
// double rightX = windowWidth - rightWidth - 100; // 留一些边距
|
||||
// Canvas.SetLeft(textBlockRight, rightX);
|
||||
|
||||
StartDownloadAnimation();
|
||||
// DownloadCodeAsync();
|
||||
}
|
||||
private Random random = new Random();
|
||||
async void StartDownloadAnimation()
|
||||
{
|
||||
double totalSize = random.Next(1, 5); // 随机总大小(MB)
|
||||
double progress = 0;
|
||||
int stepCount = 100; // 总步数
|
||||
int stepDelay = 5000 / stepCount; // 10秒完成
|
||||
|
||||
for (int i = 0; i <= stepCount; i++)
|
||||
{
|
||||
progress = (double)i / stepCount * 100;
|
||||
ProgressBar.Value = progress;
|
||||
|
||||
// 更新下载速度(随机)
|
||||
double speedLeft = random.Next(10, 100);
|
||||
double speedRight = random.Next(10, 100);
|
||||
double currentSize = totalSize * progress / 100;
|
||||
|
||||
TextBlockLeft.Text = $"{speedLeft:F1} KB/S";
|
||||
// TextBlockRight.Text = $"{speedRight:F1} KB/S";
|
||||
TextBlockCenter.Text = $"{currentSize:F1} MB/{totalSize:F1} MB";
|
||||
|
||||
await Task.Delay(stepDelay);
|
||||
}
|
||||
AppWindowManager.CloseWindow(ref AppWindowManager.DownCodeWindow);
|
||||
await Task.Delay(500); // 完成后等待半秒
|
||||
}
|
||||
|
||||
private double MeasureTextWidth(string text, Typeface typeface, double fontSize)
|
||||
{
|
||||
// 创建一个有效的 CultureInfo 对象
|
||||
|
|
@ -103,10 +133,10 @@ public partial class DownCodeWindow : Window
|
|||
// await Task.Delay(50); // 模拟下载耗时
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
protected override void OnClosed(EventArgs e)
|
||||
{
|
||||
base.OnClosed(e);
|
||||
Console.WriteLine("窗口关闭");
|
||||
WebSocketManager.GetInstance().OnMessageReceived -= HandleWebSocketMessage;
|
||||
}
|
||||
}
|
||||
|
|
@ -22,6 +22,9 @@
|
|||
<Setter Property="Width" Value="102" />
|
||||
<Setter Property="Height" Value="589" />
|
||||
</Style>
|
||||
<Style Selector="ToggleButton:disabled">
|
||||
<Setter Property="Opacity" Value="0.2" />
|
||||
</Style>
|
||||
<Style Selector="Button">
|
||||
<!-- 固定按钮的前景色,确保按钮在不同状态下文字颜色不变 -->
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
|
|
@ -80,64 +83,67 @@
|
|||
<Image
|
||||
Canvas.Left="0"
|
||||
Canvas.Top="0"
|
||||
Source="avares://ToolsForm/Assets/img/Experiment/菜单2.png" />
|
||||
Source="avares://ToolsForm/Assets/img/Experiment/菜单3.png" />
|
||||
|
||||
<!-- 定义第一个 ToggleButton,使用 Tag 属性传递图片基路径 -->
|
||||
<ToggleButton
|
||||
Canvas.Left="25"
|
||||
Canvas.Top="45"
|
||||
Canvas.Top="60"
|
||||
Click="OpenWindowToggleButton_Overview"
|
||||
Height="52"
|
||||
IsChecked="{Binding IsButton1Checked, Mode=TwoWay}"
|
||||
Tag="avares://ToolsForm/Assets/img/总览"
|
||||
Width="52" />
|
||||
Width="52"
|
||||
x:Name="OverviewButton" />
|
||||
|
||||
<ToggleButton
|
||||
<!-- <ToggleButton
|
||||
Canvas.Left="25"
|
||||
Canvas.Top="110"
|
||||
Click="AIWindowToggleButton_AI"
|
||||
Height="52"
|
||||
IsChecked="{Binding IsButton2Checked, Mode=TwoWay}"
|
||||
Tag="avares://ToolsForm/Assets/img/ai"
|
||||
Width="52" />
|
||||
Width="52" />-->
|
||||
|
||||
<ToggleButton
|
||||
Canvas.Left="25"
|
||||
Canvas.Top="180"
|
||||
Canvas.Top="120"
|
||||
Click="APIWindowButton_OnClick"
|
||||
Height="52"
|
||||
Height="100"
|
||||
IsChecked="{Binding IsButton3Checked, Mode=TwoWay}"
|
||||
Tag="avares://ToolsForm/Assets/img/api"
|
||||
Width="52" />
|
||||
|
||||
<ToggleButton
|
||||
Canvas.Left="25"
|
||||
Canvas.Top="235"
|
||||
Click="RecordingWindowButton_OnClick"
|
||||
Height="52"
|
||||
IsEnabled="False"
|
||||
IsChecked="{Binding IsButton4Checked, Mode=TwoWay}"
|
||||
Tag="avares://ToolsForm/Assets/img/代码重置"
|
||||
Width="52"
|
||||
Opacity="0.5" />
|
||||
<!-- <ToggleButton -->
|
||||
<!-- Canvas.Left="25" -->
|
||||
<!-- Canvas.Top="235" -->
|
||||
<!-- Click="RecordingWindowButton_OnClick" -->
|
||||
<!-- Height="52" -->
|
||||
<!-- IsEnabled="False" -->
|
||||
<!-- IsChecked="{Binding IsButton4Checked, Mode=TwoWay}" -->
|
||||
<!-- Tag="avares://ToolsForm/Assets/img/代码重置" -->
|
||||
<!-- Width="52" -->
|
||||
<!-- Opacity="0.5" /> -->
|
||||
|
||||
<ToggleButton
|
||||
Canvas.Left="25"
|
||||
Canvas.Top="310"
|
||||
Canvas.Top="230"
|
||||
Click="TemporaryStorageButton5_OnClick"
|
||||
Height="52"
|
||||
IsChecked="{Binding IsButton5Checked, Mode=TwoWay}"
|
||||
Tag="avares://ToolsForm/Assets/img/暂存"
|
||||
Width="52" />
|
||||
Width="52"
|
||||
x:Name="TemporaryStorageButton5" />
|
||||
|
||||
<ToggleButton
|
||||
Canvas.Left="25"
|
||||
Canvas.Top="370"
|
||||
Canvas.Top="300"
|
||||
Click="ReadCodeButton6_OnClick"
|
||||
Height="52"
|
||||
IsChecked="{Binding IsButton6Checked, Mode=TwoWay}"
|
||||
Tag="avares://ToolsForm/Assets/img/读取"
|
||||
Width="52" />
|
||||
Width="52"
|
||||
x:Name="ReadCodeButton" />
|
||||
|
||||
<!-- ~1~ 进度条 @1@ -->
|
||||
<!-- <ProgressBar -->
|
||||
|
|
@ -154,17 +160,17 @@
|
|||
<!-- Width="40" /> -->
|
||||
|
||||
<ToggleButton
|
||||
Canvas.Left="29"
|
||||
Canvas.Top="435"
|
||||
Canvas.Left="30"
|
||||
Canvas.Top="380"
|
||||
Click="StartExperimentButton_OnClick"
|
||||
Height="55"
|
||||
Height="110"
|
||||
IsChecked="{Binding IsButton7Checked, Mode=TwoWay}"
|
||||
Tag="avares://ToolsForm/Assets/img/切换"
|
||||
Tag="avares://ToolsForm/Assets/img/切换新"
|
||||
Width="43" />
|
||||
|
||||
<Button
|
||||
Canvas.Left="65"
|
||||
Canvas.Top="418"
|
||||
Canvas.Top="358"
|
||||
Click="MiniModelButton_OnClick"
|
||||
Height="20"
|
||||
Width="10">
|
||||
|
|
@ -198,22 +204,22 @@
|
|||
<!-- </Button> -->
|
||||
|
||||
|
||||
<Button
|
||||
Canvas.Left="1"
|
||||
Canvas.Top="500"
|
||||
Click="UploadButton_OnClick"
|
||||
IsVisible="True"
|
||||
x:Name="ExperimentButton">
|
||||
<Image Source="../Assets/img/提交实验-默认.png" />
|
||||
</Button>
|
||||
|
||||
<Button
|
||||
Canvas.Left="1"
|
||||
Canvas.Top="500"
|
||||
IsVisible="False"
|
||||
x:Name="SubmittedButton">
|
||||
<Image Source="../Assets/img/提交实验-点击.png" />
|
||||
</Button>
|
||||
<!-- <Button -->
|
||||
<!-- Canvas.Left="1" -->
|
||||
<!-- Canvas.Top="500" -->
|
||||
<!-- Click="UploadButton_OnClick" -->
|
||||
<!-- IsVisible="True" -->
|
||||
<!-- x:Name="ExperimentButton"> -->
|
||||
<!-- <Image Source="../Assets/img/提交实验-默认.png" /> -->
|
||||
<!-- </Button> -->
|
||||
<!-- -->
|
||||
<!-- <Button -->
|
||||
<!-- Canvas.Left="1" -->
|
||||
<!-- Canvas.Top="500" -->
|
||||
<!-- IsVisible="False" -->
|
||||
<!-- x:Name="SubmittedButton"> -->
|
||||
<!-- <Image Source="../Assets/img/提交实验-点击.png" /> -->
|
||||
<!-- </Button> -->
|
||||
|
||||
</Canvas>
|
||||
</Window>
|
||||
|
|
|
|||
|
|
@ -1,13 +1,16 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Controls.Primitives;
|
||||
using Avalonia.Input;
|
||||
using Avalonia.Interactivity;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.VisualTree;
|
||||
using AvaloniaApp;
|
||||
using ToolsForm.Manager;
|
||||
using ToolsForm.Models;
|
||||
using ToolsForm.ViewModels;
|
||||
using ToolsForm.Views.TemporaryStorage;
|
||||
|
|
@ -36,6 +39,7 @@ public partial class ExperimentWindow : Window
|
|||
PointerPressed += ExperimentWindow_PointerReleased;
|
||||
Topmost = true;
|
||||
|
||||
ShowInTaskbar = false;
|
||||
|
||||
ViewModel = new ExperimentWindowViewModel();
|
||||
DataContext = ViewModel; // 设置 DataContext
|
||||
|
|
@ -48,6 +52,12 @@ public partial class ExperimentWindow : Window
|
|||
|
||||
WindowAttachment.GetInstance().Detach();
|
||||
|
||||
// 控制暂存按钮状态
|
||||
// var temporaryStorageButton = this.FindControl<ToggleButton>("TemporaryStorageButton5");
|
||||
// if (temporaryStorageButton != null)
|
||||
// {
|
||||
// temporaryStorageButton.IsEnabled = WindowApi.isSubmiteBttonOpen;
|
||||
// }
|
||||
|
||||
// 设置窗口位置为屏幕最左边,并垂直居中
|
||||
var screen = Screens.Primary.WorkingArea;
|
||||
|
|
@ -64,251 +74,376 @@ public partial class ExperimentWindow : Window
|
|||
//
|
||||
if (AppDataManager.isUpload)
|
||||
{
|
||||
var ExperimentButton = this.FindControl<Button>("ExperimentButton");
|
||||
var SubmittedButton = this.FindControl<Button>("SubmittedButton");
|
||||
|
||||
ExperimentButton.IsVisible = false;
|
||||
SubmittedButton.IsVisible = true;
|
||||
// var ExperimentButton = this.FindControl<Button>("ExperimentButton");
|
||||
// var SubmittedButton = this.FindControl<Button>("SubmittedButton");
|
||||
//
|
||||
// ExperimentButton.IsVisible = false;
|
||||
// SubmittedButton.IsVisible = true;
|
||||
}
|
||||
}
|
||||
Console.WriteLine("----->"+WindowApi.isSubmiteBttonOpen);
|
||||
|
||||
private void MainWindow_PointerPressed(object? sender, PointerPressedEventArgs e)
|
||||
{
|
||||
if (e.Pointer.Type == PointerType.Mouse) BeginMoveDrag(e);
|
||||
}
|
||||
|
||||
private void ExperimentWindow_PointerReleased(object? sender, PointerPressedEventArgs e)
|
||||
{
|
||||
// 在释放鼠标时,检查并调整窗口位置
|
||||
var screen = Screens.Primary.WorkingArea;
|
||||
if (this.Position.X < screen.X)
|
||||
if (!WindowApi.isSubmiteBttonOpen)
|
||||
{
|
||||
// 如果窗口超出了左边界,将其调整到左边界
|
||||
this.Position = new PixelPoint(screen.X, this.Position.Y);
|
||||
// var ExperimentButton = this.FindControl<Button>("ExperimentButton");
|
||||
// var SubmittedButton = this.FindControl<Button>("SubmittedButton");
|
||||
// var temporaryStorageButton = this.FindControl<ToggleButton>("TemporaryStorageButton5");
|
||||
// var OverviewButton = this.FindControl<ToggleButton>("OverviewButton");
|
||||
// var ReadCodeButton = this.FindControl<ToggleButton>("ReadCodeButton");
|
||||
// ExperimentButton.IsVisible = false;
|
||||
// SubmittedButton.IsVisible = false;
|
||||
// temporaryStorageButton.IsEnabled = false;
|
||||
// OverviewButton.IsEnabled = false;
|
||||
// ReadCodeButton.IsEnabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void OnPositionChanged(object? sender, PixelPointEventArgs pixelPointEventArgs)
|
||||
{
|
||||
AppWindowManager.UpdateWindowPosition(AppWindowManager.OverviewWindow, 0, 0, MainType.子窗口);
|
||||
AppWindowManager.UpdateWindowPosition(AppWindowManager.IdeWindow, 0, 0, MainType.子窗口);
|
||||
AppWindowManager.UpdateWindowPosition(AppWindowManager.ResetSceneWindow, 0, 0, MainType.子窗口);
|
||||
AppWindowManager.UpdateWindowPosition(AppWindowManager.TemporaryStorageWindow, 0, 0, MainType.子窗口);
|
||||
AppWindowManager.UpdateWindowPosition(AppWindowManager.TemporaryStorageMessage, 0, 300, MainType.子窗口);
|
||||
AppWindowManager.UpdateWindowPosition(AppWindowManager.DownCodeWindow, 0, 0, MainType.子窗口);
|
||||
AppWindowManager.UpdateWindowPosition(AppWindowManager.ReadCodeWindow, 0, 0, MainType.子窗口);
|
||||
AppWindowManager.UpdateWindowPosition(AppWindowManager.UploadExperimentWindow, 0, 0, MainType.子窗口);
|
||||
AppWindowManager.UpdateWindowPosition(AppWindowManager.AiWindow, 0, 0, MainType.子窗口);
|
||||
}
|
||||
|
||||
// 打开总览窗口
|
||||
public void OpenWindowToggleButton_Overview(object sender, RoutedEventArgs e)
|
||||
{
|
||||
ResetOtherButtons("Overview");
|
||||
|
||||
AppWindowManager.ToggleWindow(ref AppWindowManager.OverviewWindow, () => new OverviewWindow(), true, true, MainType.子窗口);
|
||||
}
|
||||
|
||||
// 打开 IDE 窗口
|
||||
public void AIWindowToggleButton_AI(object sender, RoutedEventArgs e)
|
||||
{
|
||||
ResetOtherButtons("AI");
|
||||
|
||||
AppWindowManager.ToggleWindow(ref AppWindowManager.AiWindow, () => new AIWindow(), true, true, MainType.子窗口);
|
||||
|
||||
// AppWindowManager.UploadExperimentMessageWindow.Position = new PixelPoint((int)p.X - 226, (int)(p.Y - p.Y / 2));
|
||||
}
|
||||
|
||||
// 打开重置窗口
|
||||
private void APIWindowButton_OnClick(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
ResetOtherButtons("ResetScene");
|
||||
|
||||
// AppWindowManager.ToggleWindow(ref AppWindowManager.ResetSceneWindow, () => new ResetSceneWindow(), true);
|
||||
|
||||
try
|
||||
{
|
||||
var processStartInfo = new ProcessStartInfo("www.baidu.com")
|
||||
{
|
||||
UseShellExecute = true // 使用系统默认的浏览器
|
||||
};
|
||||
Process.Start(processStartInfo);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// 处理异常,例如输出错误信息
|
||||
Console.WriteLine($"无法打开链接: {ex.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
// 打开暂存窗口
|
||||
private void TemporaryStorageButton5_OnClick(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
ResetOtherButtons("TemporaryStorage");
|
||||
|
||||
AppWindowManager.ToggleWindow(ref AppWindowManager.TemporaryStorageWindow, () => new TemporaryStorageWindow(), true, true, MainType.子窗口);
|
||||
}
|
||||
|
||||
|
||||
// 打开重置窗口
|
||||
private void RecordingWindowButton_OnClick(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
ResetOtherButtons("Recording");
|
||||
|
||||
AppWindowManager.ToggleWindow(ref AppWindowManager.RecordingWindow, () => new RecordingWindow(), true, true, MainType.子窗口);
|
||||
}
|
||||
|
||||
|
||||
// 读取窗口
|
||||
private void ReadCodeButton6_OnClick(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
ResetOtherButtons("ReadCode");
|
||||
AppWindowManager.ToggleWindow(ref AppWindowManager.ReadCodeWindow, () => new ReadCodeWindow(), true, true, MainType.子窗口);
|
||||
}
|
||||
|
||||
//切换
|
||||
private void StartExperimentButton_OnClick(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
AppWindowManager.ToggleWindow(ref AppWindowManager.ExperimentWindow2, () => new ExperimentWindow2(), false, false);
|
||||
// var mainWindowPosition = Position;
|
||||
// AppWindowManager.ExperimentWindow2.Position = new PixelPoint(mainWindowPosition.X, mainWindowPosition.Y);
|
||||
|
||||
AppWindowManager.CloseWindow(ref AppWindowManager.ExperimentWindow);
|
||||
|
||||
|
||||
WindowSwitcher.GetInstance().SwitchWindow("unity");
|
||||
|
||||
// AppWindowManager.ExperimentWindow.Cancal();
|
||||
|
||||
WebSocketManager.GetInstance().SendMessage(ToolsEventEnum.HuiFu, null);
|
||||
|
||||
// AppDataManager.BringExeToFront(ChangeWindowEnum.unity);
|
||||
}
|
||||
//开始实验
|
||||
|
||||
private void ExperimentButton_OnPointerEntered(object? sender, PointerEventArgs e)
|
||||
{
|
||||
if (!_isClicked && !_isHovering)
|
||||
{
|
||||
_isHovering = true; // 设置悬浮状态
|
||||
UpdateButtonImages((Button)sender, ButtonState.Hover);
|
||||
}
|
||||
}
|
||||
|
||||
private void ExperimentButton_OnPointerExited(object? sender, PointerEventArgs e)
|
||||
{
|
||||
if (_isHovering)
|
||||
{
|
||||
_isHovering = false; // 重置悬浮状态
|
||||
UpdateButtonImages((Button)sender, ButtonState.Default);
|
||||
}
|
||||
}
|
||||
|
||||
private void UploadButton_OnClick(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
// 当按钮被点击时,设置点击状态,并禁用悬浮状态
|
||||
AppWindowManager.ToggleWindow(ref AppWindowManager.UploadExperimentWindow, () => new UploadExperimentWindow(), true, true, MainType.子窗口);
|
||||
}
|
||||
|
||||
private void UpdateButtonImages(Button button, ButtonState state)
|
||||
{
|
||||
var images = new Dictionary<string, Image>();
|
||||
FindImagesInVisualTree(button, images);
|
||||
|
||||
if (!images.TryGetValue("DefaultImage", out var defaultImage) ||
|
||||
!images.TryGetValue("HoverImage", out var hoverImage) ||
|
||||
!images.TryGetValue("ClickedImage", out var clickedImage))
|
||||
{
|
||||
Console.WriteLine("One or more images are null!");
|
||||
return;
|
||||
}
|
||||
|
||||
// 根据状态更新图像可见性
|
||||
switch (state)
|
||||
{
|
||||
case ButtonState.Clicked:
|
||||
defaultImage.IsVisible = false;
|
||||
hoverImage.IsVisible = false;
|
||||
clickedImage.IsVisible = true; // 显示点击状态图像
|
||||
break;
|
||||
|
||||
case ButtonState.Hover:
|
||||
if (!_isClicked) // 只有在未点击时才允许悬浮状态
|
||||
{
|
||||
defaultImage.IsVisible = false;
|
||||
hoverImage.IsVisible = true; // 显示悬浮状态图像
|
||||
clickedImage.IsVisible = false;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case ButtonState.Default:
|
||||
default:
|
||||
defaultImage.IsVisible = true; // 显示默认状态图像
|
||||
hoverImage.IsVisible = false;
|
||||
clickedImage.IsVisible = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void FindImagesInVisualTree(Visual visual, Dictionary<string, Image> images)
|
||||
{
|
||||
if (visual == null) return;
|
||||
|
||||
foreach (var child in visual.GetVisualChildren())
|
||||
{
|
||||
if (child is Image img)
|
||||
{
|
||||
images[img.Name] = img; // 将图像添加到字典中
|
||||
Console.WriteLine($"找到图像控件:{img.Name}");
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine($"未找到图像控件,类型为:{child.GetType()}");
|
||||
// 继续递归查找子控件
|
||||
FindImagesInVisualTree(child, images);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 重置其他 ToggleButton 的状态
|
||||
private void ResetOtherButtons(string excludeButton)
|
||||
{
|
||||
if (excludeButton != "Overview") ViewModel.IsButton1Checked = false;
|
||||
if (excludeButton != "AI") ViewModel.IsButton2Checked = false;
|
||||
if (excludeButton != "ResetScene") ViewModel.IsButton3Checked = false;
|
||||
if (excludeButton != "Recording") ViewModel.IsButton4Checked = false;
|
||||
if (excludeButton != "TemporaryStorage") ViewModel.IsButton5Checked = false;
|
||||
if (excludeButton != "ReadCode") ViewModel.IsButton6Checked = false;
|
||||
if (excludeButton != "StartExperiment") ViewModel.IsButton7Checked = false;
|
||||
}
|
||||
|
||||
private bool isMiniUnity = false;
|
||||
|
||||
private void MiniModelButton_OnClick(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
WindowSwitcher.GetInstance().BringUnityWindowToFront();
|
||||
|
||||
WebSocketManager.GetInstance().SendMessage(ToolsEventEnum.Thumbnail, null);
|
||||
}
|
||||
|
||||
|
||||
public void Submit()
|
||||
{
|
||||
var ExperimentButton = this.FindControl<Button>("ExperimentButton");
|
||||
var SubmittedButton = this.FindControl<Button>("SubmittedButton");
|
||||
|
||||
ExperimentButton.IsVisible = false;
|
||||
SubmittedButton.IsVisible = true;
|
||||
}
|
||||
|
||||
// public void Cancal()
|
||||
// if (WindowApi.isSubmiteBttonOpen)
|
||||
// {
|
||||
// var ExperimentButton1 = this.FindControl<Button>("ExperimentButton");
|
||||
// var SubmittedButton1 = this.FindControl<Button>("SubmittedButton");
|
||||
// ExperimentButton.IsVisible = true;
|
||||
// SubmittedButton.IsVisible = true;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// var ExperimentButton = this.FindControl<Button>("ExperimentButton");
|
||||
// var SubmittedButton = this.FindControl<Button>("SubmittedButton");
|
||||
//
|
||||
// ExperimentButton.IsVisible = true;
|
||||
// ExperimentButton.IsVisible = false;
|
||||
// SubmittedButton.IsVisible = false;
|
||||
// }
|
||||
}
|
||||
|
||||
private void MainWindow_PointerPressed(object? sender, PointerPressedEventArgs e)
|
||||
{
|
||||
if (e.Pointer.Type == PointerType.Mouse) BeginMoveDrag(e);
|
||||
}
|
||||
|
||||
private void ExperimentWindow_PointerReleased(object? sender, PointerPressedEventArgs e)
|
||||
{
|
||||
// 在释放鼠标时,检查并调整窗口位置
|
||||
var screen = Screens.Primary.WorkingArea;
|
||||
if (this.Position.X < screen.X)
|
||||
{
|
||||
// 如果窗口超出了左边界,将其调整到左边界
|
||||
this.Position = new PixelPoint(screen.X, this.Position.Y);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnPositionChanged(object? sender, PixelPointEventArgs pixelPointEventArgs)
|
||||
{
|
||||
AppWindowManager.UpdateWindowPosition(AppWindowManager.OverviewWindow, 0, 0, MainType.子窗口);
|
||||
AppWindowManager.UpdateWindowPosition(AppWindowManager.IdeWindow, 0, 0, MainType.子窗口);
|
||||
AppWindowManager.UpdateWindowPosition(AppWindowManager.ResetSceneWindow, 0, 0, MainType.子窗口);
|
||||
AppWindowManager.UpdateWindowPosition(AppWindowManager.TemporaryStorageWindow, 0, 0, MainType.子窗口);
|
||||
AppWindowManager.UpdateWindowPosition(AppWindowManager.TemporaryStorageMessage, 0, 300, MainType.子窗口);
|
||||
AppWindowManager.UpdateWindowPosition(AppWindowManager.DownCodeWindow, 0, 0, MainType.子窗口);
|
||||
AppWindowManager.UpdateWindowPosition(AppWindowManager.ReadCodeWindow, 0, 0, MainType.子窗口);
|
||||
AppWindowManager.UpdateWindowPosition(AppWindowManager.UploadExperimentWindow, 0, 0, MainType.子窗口);
|
||||
// AppWindowManager.UpdateWindowPosition(AppWindowManager.AiWindow, 0, 0, MainType.子窗口);
|
||||
}
|
||||
|
||||
// 打开总览窗口
|
||||
public void OpenWindowToggleButton_Overview(object sender, RoutedEventArgs e)
|
||||
{
|
||||
ResetOtherButtons("Overview");
|
||||
|
||||
AppWindowManager.ToggleWindow(ref AppWindowManager.OverviewWindow, () => new OverviewWindow(), true, true, MainType.子窗口);
|
||||
|
||||
|
||||
// if (aiwindow == null)
|
||||
// {
|
||||
// aiwindow = new AIWindow();
|
||||
// aiwindow.Show();
|
||||
// var screen = Screens.All.FirstOrDefault();
|
||||
//
|
||||
// // 获取屏幕的工作区域
|
||||
// var screenBounds = screen.WorkingArea;
|
||||
//
|
||||
// if (aiwindow != null)
|
||||
// {
|
||||
// // X 坐标保持水平居中
|
||||
// var centerX = (screenBounds.Width - aiwindow.Width) / 2 + screenBounds.X;
|
||||
// // Y 坐标贴近可用工作区域的底部
|
||||
// var bottomY = screenBounds.Y + screenBounds.Height - aiwindow.Height;
|
||||
//
|
||||
// aiwindow.Position = new PixelPoint((int)centerX, (int)bottomY);
|
||||
// }
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// if (!aiwindow.IsVisible)
|
||||
// {
|
||||
// aiwindow.Show();
|
||||
// var screen = Screens.All.FirstOrDefault();
|
||||
//
|
||||
// // 获取屏幕的工作区域
|
||||
// var screenBounds = screen.WorkingArea;
|
||||
//
|
||||
// if (aiwindow != null)
|
||||
// {
|
||||
// // X 坐标保持水平居中
|
||||
// var centerX = (screenBounds.Width - aiwindow.Width) / 2 + screenBounds.X;
|
||||
// // Y 坐标贴近可用工作区域的底部
|
||||
// var bottomY = screenBounds.Y + screenBounds.Height - aiwindow.Height;
|
||||
//
|
||||
// aiwindow.Position = new PixelPoint((int)centerX, (int)bottomY);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// var screen = Screens.All.FirstOrDefault();
|
||||
//
|
||||
// // 获取屏幕的工作区域
|
||||
// var screenBounds = screen.WorkingArea;
|
||||
//
|
||||
// if (AppWindowManager.OverviewWindow != null)
|
||||
// {
|
||||
// // 计算窗口居中的位置
|
||||
// var centerX = (screenBounds.Width - AppWindowManager.OverviewWindow.Width) / 2 + screenBounds.X;
|
||||
// var centerY = (screenBounds.Height - AppWindowManager.OverviewWindow.Height) / 2 + screenBounds.Y;
|
||||
//
|
||||
//
|
||||
// // 设置窗口的屏幕中心位置
|
||||
// AppWindowManager.OverviewWindow.Position = new PixelPoint((int)centerX, (int)centerY);
|
||||
// // AppWindowManager.MainWindow.Hide();
|
||||
//
|
||||
// // AppWindowManager.UploadExperimentMessageWindow.Position = new PixelPoint((int)p.X - 226, (int)(p.Y - p.Y / 2));
|
||||
// }
|
||||
}
|
||||
private Window aiwindow;
|
||||
|
||||
// 打开 IDE 窗口
|
||||
public void AIWindowToggleButton_AI(object sender, RoutedEventArgs e)
|
||||
{
|
||||
ResetOtherButtons("AI");
|
||||
|
||||
if (aiwindow == null)
|
||||
{
|
||||
aiwindow = new AIWindow();
|
||||
aiwindow.Show();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (aiwindow.IsVisible)
|
||||
{
|
||||
aiwindow.Hide();
|
||||
}
|
||||
else
|
||||
{
|
||||
aiwindow.Show();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var screen = Screens.All.FirstOrDefault();
|
||||
|
||||
// 获取屏幕的工作区域
|
||||
var screenBounds = screen.WorkingArea;
|
||||
|
||||
if (aiwindow != null)
|
||||
{
|
||||
// X 坐标保持水平居中
|
||||
var centerX = (screenBounds.Width - aiwindow.Width) / 2 + screenBounds.X;
|
||||
// Y 坐标贴近可用工作区域的底部
|
||||
var bottomY = screenBounds.Y + screenBounds.Height - aiwindow.Height;
|
||||
|
||||
aiwindow.Position = new PixelPoint((int)centerX, (int)bottomY);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 打开重置窗口
|
||||
private void APIWindowButton_OnClick(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
ResetOtherButtons("ResetScene");
|
||||
// AppWindowManager.ToggleWindow(ref AppWindowManager.ResetSceneWindow, () => new ResetSceneWindow(), true);
|
||||
try
|
||||
{
|
||||
var processStartInfo = new ProcessStartInfo(APIInterface.url)
|
||||
{
|
||||
UseShellExecute = true // 使用系统默认的浏览器
|
||||
};
|
||||
Process.Start(processStartInfo);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// 处理异常,例如输出错误信息
|
||||
Console.WriteLine($"无法打开链接: {ex.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
// 打开暂存窗口
|
||||
private void TemporaryStorageButton5_OnClick(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
ResetOtherButtons("TemporaryStorage");
|
||||
|
||||
AppWindowManager.ToggleWindow(ref AppWindowManager.TemporaryStorageWindow, () => new TemporaryStorageWindow(), true, true, MainType.子窗口);
|
||||
}
|
||||
|
||||
|
||||
// 打开重置窗口
|
||||
private void RecordingWindowButton_OnClick(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
ResetOtherButtons("Recording");
|
||||
|
||||
AppWindowManager.ToggleWindow(ref AppWindowManager.RecordingWindow, () => new RecordingWindow(), true, true, MainType.子窗口);
|
||||
}
|
||||
|
||||
|
||||
// 读取窗口
|
||||
private void ReadCodeButton6_OnClick(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
ResetOtherButtons("ReadCode");
|
||||
AppWindowManager.ToggleWindow(ref AppWindowManager.ReadCodeWindow, () => new ReadCodeWindow(), true, true, MainType.子窗口);
|
||||
}
|
||||
|
||||
//切换
|
||||
private void StartExperimentButton_OnClick(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
if (aiwindow != null)
|
||||
{
|
||||
aiwindow.Hide();
|
||||
}
|
||||
|
||||
|
||||
AppWindowManager.ToggleWindow(ref AppWindowManager.ExperimentWindow2, () => new ExperimentWindow2(), false, false);
|
||||
// var mainWindowPosition = Position;
|
||||
// AppWindowManager.ExperimentWindow2.Position = new PixelPoint(mainWindowPosition.X, mainWindowPosition.Y);
|
||||
|
||||
AppWindowManager.CloseWindow(ref AppWindowManager.ExperimentWindow);
|
||||
|
||||
|
||||
WindowSwitcher.GetInstance().SwitchWindow("unity");
|
||||
|
||||
// AppWindowManager.ExperimentWindow.Cancal();
|
||||
|
||||
WebSocketManager.GetInstance().SendMessage(ToolsEventEnum.HuiFu, null);
|
||||
|
||||
// AppDataManager.BringExeToFront(ChangeWindowEnum.unity);
|
||||
}
|
||||
//开始实验
|
||||
|
||||
private void ExperimentButton_OnPointerEntered(object? sender, PointerEventArgs e)
|
||||
{
|
||||
if (!_isClicked && !_isHovering)
|
||||
{
|
||||
_isHovering = true; // 设置悬浮状态
|
||||
UpdateButtonImages((Button)sender, ButtonState.Hover);
|
||||
}
|
||||
}
|
||||
|
||||
private void ExperimentButton_OnPointerExited(object? sender, PointerEventArgs e)
|
||||
{
|
||||
if (_isHovering)
|
||||
{
|
||||
_isHovering = false; // 重置悬浮状态
|
||||
UpdateButtonImages((Button)sender, ButtonState.Default);
|
||||
}
|
||||
}
|
||||
|
||||
private void UploadButton_OnClick(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
// 当按钮被点击时,设置点击状态,并禁用悬浮状态
|
||||
AppWindowManager.ToggleWindow(ref AppWindowManager.UploadExperimentWindow, () => new UploadExperimentWindow(), true, true, MainType.子窗口);
|
||||
}
|
||||
|
||||
private void UpdateButtonImages(Button button, ButtonState state)
|
||||
{
|
||||
var images = new Dictionary<string, Image>();
|
||||
FindImagesInVisualTree(button, images);
|
||||
|
||||
if (!images.TryGetValue("DefaultImage", out var defaultImage) ||
|
||||
!images.TryGetValue("HoverImage", out var hoverImage) ||
|
||||
!images.TryGetValue("ClickedImage", out var clickedImage))
|
||||
{
|
||||
Console.WriteLine("One or more images are null!");
|
||||
return;
|
||||
}
|
||||
|
||||
// 根据状态更新图像可见性
|
||||
switch (state)
|
||||
{
|
||||
case ButtonState.Clicked:
|
||||
defaultImage.IsVisible = false;
|
||||
hoverImage.IsVisible = false;
|
||||
clickedImage.IsVisible = true; // 显示点击状态图像
|
||||
break;
|
||||
|
||||
case ButtonState.Hover:
|
||||
if (!_isClicked) // 只有在未点击时才允许悬浮状态
|
||||
{
|
||||
defaultImage.IsVisible = false;
|
||||
hoverImage.IsVisible = true; // 显示悬浮状态图像
|
||||
clickedImage.IsVisible = false;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case ButtonState.Default:
|
||||
default:
|
||||
defaultImage.IsVisible = true; // 显示默认状态图像
|
||||
hoverImage.IsVisible = false;
|
||||
clickedImage.IsVisible = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void FindImagesInVisualTree(Visual visual, Dictionary<string, Image> images)
|
||||
{
|
||||
if (visual == null) return;
|
||||
|
||||
foreach (var child in visual.GetVisualChildren())
|
||||
{
|
||||
if (child is Image img)
|
||||
{
|
||||
images[img.Name] = img; // 将图像添加到字典中
|
||||
Console.WriteLine($"找到图像控件:{img.Name}");
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine($"未找到图像控件,类型为:{child.GetType()}");
|
||||
// 继续递归查找子控件
|
||||
FindImagesInVisualTree(child, images);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 重置其他 ToggleButton 的状态
|
||||
private void ResetOtherButtons(string excludeButton)
|
||||
{
|
||||
if (excludeButton != "Overview") ViewModel.IsButton1Checked = false;
|
||||
if (excludeButton != "AI") ViewModel.IsButton2Checked = false;
|
||||
if (excludeButton != "ResetScene") ViewModel.IsButton3Checked = false;
|
||||
if (excludeButton != "Recording") ViewModel.IsButton4Checked = false;
|
||||
if (excludeButton != "TemporaryStorage") ViewModel.IsButton5Checked = false;
|
||||
if (excludeButton != "ReadCode") ViewModel.IsButton6Checked = false;
|
||||
if (excludeButton != "StartExperiment") ViewModel.IsButton7Checked = false;
|
||||
}
|
||||
private bool isMiniUnity = false;
|
||||
|
||||
private void MiniModelButton_OnClick(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
WindowSwitcher.GetInstance().BringUnityWindowToFront();
|
||||
|
||||
WebSocketManager.GetInstance().SendMessage(ToolsEventEnum.Thumbnail, null);
|
||||
}
|
||||
|
||||
public void Submit()
|
||||
{
|
||||
var ExperimentButton = this.FindControl<Button>("ExperimentButton");
|
||||
var SubmittedButton = this.FindControl<Button>("SubmittedButton");
|
||||
|
||||
ExperimentButton.IsVisible = false;
|
||||
SubmittedButton.IsVisible = true;
|
||||
}
|
||||
|
||||
// public void Cancal()
|
||||
// {
|
||||
// var ExperimentButton = this.FindControl<Button>("ExperimentButton");
|
||||
// var SubmittedButton = this.FindControl<Button>("SubmittedButton");
|
||||
//
|
||||
// ExperimentButton.IsVisible = true;
|
||||
// SubmittedButton.IsVisible = false;
|
||||
// }
|
||||
//
|
||||
}
|
||||
|
|
@ -22,6 +22,9 @@
|
|||
<Setter Property="Width" Value="102" />
|
||||
<Setter Property="Height" Value="589" />
|
||||
</Style>
|
||||
<Style Selector="ToggleButton:disabled">
|
||||
<Setter Property="Opacity" Value="0.2" />
|
||||
</Style>
|
||||
<Style Selector="Button">
|
||||
<!-- 固定按钮的前景色,确保按钮在不同状态下文字颜色不变 -->
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
|
|
@ -83,14 +86,15 @@
|
|||
Source="avares://ToolsForm/Assets/img/Experiment/菜单2.png" />
|
||||
|
||||
<!-- 定义第一个 ToggleButton,使用 Tag 属性传递图片基路径 -->
|
||||
<ToggleButton
|
||||
Canvas.Left="25"
|
||||
Canvas.Top="45"
|
||||
Click="OpenWindowToggleButton_Overview"
|
||||
Height="52"
|
||||
IsChecked="{Binding IsButton1Checked, Mode=TwoWay}"
|
||||
Tag="avares://ToolsForm/Assets/img/总览"
|
||||
Width="52" />
|
||||
<!-- <ToggleButton -->
|
||||
<!-- Canvas.Left="25" -->
|
||||
<!-- Canvas.Top="45" -->
|
||||
<!-- Click="OpenWindowToggleButton_Overview" -->
|
||||
<!-- Height="52" -->
|
||||
<!-- IsChecked="{Binding IsButton1Checked, Mode=TwoWay}" -->
|
||||
<!-- Tag="avares://ToolsForm/Assets/img/总览" -->
|
||||
<!-- Width="52" -->
|
||||
<!-- x:Name=""/> -->
|
||||
|
||||
<ToggleButton
|
||||
Canvas.Left="25"
|
||||
|
|
@ -99,25 +103,28 @@
|
|||
Height="52"
|
||||
IsChecked="{Binding IsButton1Checked, Mode=TwoWay}"
|
||||
Tag="avares://ToolsForm/Assets/img/总览"
|
||||
Width="52" />
|
||||
Width="52"
|
||||
x:Name="OpenWindowToggleButton" />
|
||||
|
||||
<ToggleButton
|
||||
Canvas.Left="25"
|
||||
Canvas.Top="110"
|
||||
Height="52"
|
||||
Click="AIWindowToggleButton_AI"
|
||||
Height="52"
|
||||
IsChecked="{Binding IsButton2Checked, Mode=TwoWay}"
|
||||
Tag="avares://ToolsForm/Assets/img/IDE设置"
|
||||
Width="52" />
|
||||
Width="52"
|
||||
x:Name="AIWindowToggleButton" />
|
||||
|
||||
<ToggleButton
|
||||
Canvas.Left="25"
|
||||
Canvas.Top="180"
|
||||
Height="52"
|
||||
Click="APIWindowButton_OnClick"
|
||||
Height="52"
|
||||
IsChecked="{Binding IsButton3Checked, Mode=TwoWay}"
|
||||
Tag="avares://ToolsForm/Assets/img/场景重置"
|
||||
Width="52" />
|
||||
Width="52"
|
||||
x:Name="APIWindowButton" />
|
||||
|
||||
<ToggleButton
|
||||
Canvas.Left="25"
|
||||
|
|
@ -126,7 +133,8 @@
|
|||
Height="52"
|
||||
IsChecked="{Binding IsButton4Checked, Mode=TwoWay}"
|
||||
Tag="avares://ToolsForm/Assets/img/录屏"
|
||||
Width="52" />
|
||||
Width="52"
|
||||
x:Name="RecordingWindowButton" />
|
||||
|
||||
<ToggleButton
|
||||
Canvas.Left="25"
|
||||
|
|
@ -135,7 +143,8 @@
|
|||
Height="52"
|
||||
IsChecked="{Binding IsButton5Checked, Mode=TwoWay}"
|
||||
Tag="avares://ToolsForm/Assets/img/暂存"
|
||||
Width="52" />
|
||||
Width="52"
|
||||
x:Name="TemporaryStorageButton5" />
|
||||
|
||||
<ToggleButton
|
||||
Canvas.Left="25"
|
||||
|
|
@ -144,7 +153,8 @@
|
|||
Height="52"
|
||||
IsChecked="{Binding IsButton6Checked, Mode=TwoWay}"
|
||||
Tag="avares://ToolsForm/Assets/img/读取"
|
||||
Width="52" />
|
||||
Width="52"
|
||||
x:Name="ReadCodeButton6" />
|
||||
|
||||
<!-- 进度条 -->
|
||||
<ProgressBar
|
||||
|
|
@ -219,22 +229,22 @@
|
|||
<!-- </Button> -->
|
||||
|
||||
|
||||
<Button
|
||||
Canvas.Left="1"
|
||||
Canvas.Top="500"
|
||||
Click="UploadButton_OnClick"
|
||||
IsVisible="True"
|
||||
x:Name="ExperimentButton">
|
||||
<Image Source="../Assets/img/提交实验-默认.png" />
|
||||
</Button>
|
||||
|
||||
<Button
|
||||
Canvas.Left="1"
|
||||
Canvas.Top="500"
|
||||
IsVisible="False"
|
||||
x:Name="SubmittedButton">
|
||||
<Image Source="../Assets/img/提交实验-点击.png" />
|
||||
</Button>
|
||||
<!-- <Button -->
|
||||
<!-- Canvas.Left="1" -->
|
||||
<!-- Canvas.Top="500" -->
|
||||
<!-- Click="UploadButton_OnClick" -->
|
||||
<!-- IsVisible="True" -->
|
||||
<!-- x:Name="ExperimentButton"> -->
|
||||
<!-- <Image Source="../Assets/img/提交实验-默认.png" /> -->
|
||||
<!-- </Button> -->
|
||||
<!-- -->
|
||||
<!-- <Button -->
|
||||
<!-- Canvas.Left="1" -->
|
||||
<!-- Canvas.Top="500" -->
|
||||
<!-- IsVisible="False" -->
|
||||
<!-- x:Name="SubmittedButton"> -->
|
||||
<!-- <Image Source="../Assets/img/提交实验-点击.png" /> -->
|
||||
<!-- </Button> -->
|
||||
|
||||
</Canvas>
|
||||
</Window>
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||
using System.Diagnostics;
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Controls.Primitives;
|
||||
using Avalonia.Input;
|
||||
using Avalonia.Interactivity;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
|
@ -14,8 +15,6 @@ using ToolsForm.Views.TemporaryStorage;
|
|||
|
||||
namespace ToolsForm.Views;
|
||||
|
||||
|
||||
|
||||
public partial class ExperimentWindow2 : Window
|
||||
{
|
||||
private ExperimentWindowViewModel ViewModel;
|
||||
|
|
@ -30,38 +29,98 @@ public partial class ExperimentWindow2 : Window
|
|||
PointerPressed += MainWindow_PointerPressed;
|
||||
PointerPressed += ExperimentWindow_PointerReleased;
|
||||
Topmost = true;
|
||||
ShowInTaskbar = false;
|
||||
|
||||
|
||||
ViewModel = new ExperimentWindowViewModel();
|
||||
DataContext = ViewModel; // 设置 DataContext
|
||||
var experimentButton = this.FindControl<Button>("ExperimentButton");
|
||||
if (experimentButton != null)
|
||||
{
|
||||
// experimentButton.PointerEntered += ExperimentButton_OnPointerEntered;
|
||||
// experimentButton.PointerExited += ExperimentButton_OnPointerExited;
|
||||
}
|
||||
|
||||
// var experimentButton = this.FindControl<Button>("ExperimentButton");
|
||||
// if (experimentButton != null)
|
||||
// {
|
||||
// // experimentButton.PointerEntered += ExperimentButton_OnPointerEntered;
|
||||
// // experimentButton.PointerExited += ExperimentButton_OnPointerExited;
|
||||
// }
|
||||
|
||||
WindowAttachment.GetInstance().Attach(this);
|
||||
|
||||
AppDataManager.MainType=MainType.子窗口2;
|
||||
|
||||
|
||||
// var ExperimentButton = this.FindControl<Button>("ExperimentButton");
|
||||
// var SubmittedButton = this.FindControl<Button>("SubmittedButton");
|
||||
//
|
||||
// ExperimentButton.IsVisible = true;
|
||||
// SubmittedButton.IsVisible = false;
|
||||
|
||||
|
||||
AppDataManager.MainType = MainType.子窗口2;
|
||||
|
||||
// 控制暂存按钮状态
|
||||
// var temporaryStorageButton = this.FindControl<ToggleButton>("TemporaryStorageButton5");
|
||||
// if (temporaryStorageButton != null)
|
||||
// {
|
||||
// temporaryStorageButton.IsEnabled = WindowApi.isSubmiteBttonOpen;
|
||||
// }
|
||||
|
||||
if (AppDataManager.isUpload)
|
||||
{
|
||||
var ExperimentButton = this.FindControl<Button>("ExperimentButton");
|
||||
var SubmittedButton = this.FindControl<Button>("SubmittedButton");
|
||||
|
||||
ExperimentButton.IsVisible = false;
|
||||
SubmittedButton.IsVisible = true;
|
||||
// var ExperimentButton = this.FindControl<Button>("ExperimentButton");
|
||||
// var SubmittedButton = this.FindControl<Button>("SubmittedButton");
|
||||
//
|
||||
// ExperimentButton.IsVisible = false;
|
||||
// SubmittedButton.IsVisible = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (!WindowApi.isSubmiteBttonOpen)
|
||||
{
|
||||
var OpenWindowToggleButton = this.FindControl<ToggleButton>
|
||||
("OpenWindowToggleButton");
|
||||
|
||||
var AIWindowToggleButton = this.FindControl<ToggleButton>
|
||||
("AIWindowToggleButton");
|
||||
|
||||
var APIWindowButton = this.FindControl<ToggleButton>
|
||||
("APIWindowButton");
|
||||
|
||||
var RecordingWindowButton = this.FindControl<ToggleButton>
|
||||
("RecordingWindowButton");
|
||||
|
||||
var TemporaryStorageButton5 = this.FindControl<ToggleButton>
|
||||
("TemporaryStorageButton5");
|
||||
|
||||
var ReadCodeButton6 = this.FindControl<ToggleButton>
|
||||
("ReadCodeButton6");
|
||||
|
||||
|
||||
ReadCodeButton6.IsEnabled = false;
|
||||
TemporaryStorageButton5.IsEnabled = false;
|
||||
RecordingWindowButton.IsEnabled = false;
|
||||
APIWindowButton.IsEnabled = false;
|
||||
AIWindowToggleButton.IsEnabled = false;
|
||||
OpenWindowToggleButton.IsEnabled = false;
|
||||
|
||||
|
||||
// var ExperimentButton = this.FindControl<Button>("ExperimentButton");
|
||||
// var SubmittedButton = this.FindControl<Button>("SubmittedButton");
|
||||
//
|
||||
// ExperimentButton.IsVisible = false;
|
||||
// SubmittedButton.IsVisible = false;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
// if (WindowApi.isSubmiteBttonOpen)
|
||||
// {
|
||||
// var ExperimentButton = this.FindControl<Button>("ExperimentButton");
|
||||
// var SubmittedButton = this.FindControl<Button>("SubmittedButton");
|
||||
// ExperimentButton.IsVisible = false;
|
||||
// SubmittedButton.IsVisible = true;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// var ExperimentButton = this.FindControl<Button>("ExperimentButton");
|
||||
// var SubmittedButton = this.FindControl<Button>("SubmittedButton");
|
||||
// ExperimentButton.IsVisible = false;
|
||||
// SubmittedButton.IsVisible = false;
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// }
|
||||
}
|
||||
|
||||
private void MainWindow_PointerPressed(object? sender, PointerPressedEventArgs e)
|
||||
|
|
@ -106,8 +165,8 @@ public partial class ExperimentWindow2 : Window
|
|||
{
|
||||
ResetOtherButtons("IDE");
|
||||
|
||||
|
||||
AppWindowManager.ToggleWindow(ref AppWindowManager.IdeWindow, () => new IDEWindow(), true,true, MainType.子窗口2);
|
||||
|
||||
AppWindowManager.ToggleWindow(ref AppWindowManager.IdeWindow, () => new IDEWindow(), true, true, MainType.子窗口2);
|
||||
}
|
||||
|
||||
// 打开重置窗口
|
||||
|
|
@ -115,7 +174,7 @@ public partial class ExperimentWindow2 : Window
|
|||
{
|
||||
ResetOtherButtons("ResetScene");
|
||||
|
||||
AppWindowManager.ToggleWindow(ref AppWindowManager.ResetSceneWindow, () => new ResetSceneWindow(), true,true, MainType.子窗口2);
|
||||
AppWindowManager.ToggleWindow(ref AppWindowManager.ResetSceneWindow, () => new ResetSceneWindow(), true, true, MainType.子窗口2);
|
||||
}
|
||||
|
||||
// 打开暂存窗口123123123
|
||||
|
|
@ -137,9 +196,8 @@ public partial class ExperimentWindow2 : Window
|
|||
AppWindowManager.RecordingWindow.Position = new PixelPoint(mainWindowPosition.X, mainWindowPosition.Y);
|
||||
AppWindowManager.CloseWindow(ref AppWindowManager.ExperimentWindow2);
|
||||
// AppWindowManager.MainWindow.Hide();
|
||||
|
||||
WebSocketManager.GetInstance().SendMessage(ToolsEventEnum.ScreenRecording, true);
|
||||
|
||||
WebSocketManager.GetInstance().SendMessage(ToolsEventEnum.ScreenRecording, true);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -153,24 +211,23 @@ public partial class ExperimentWindow2 : Window
|
|||
//切换
|
||||
private void StartExperimentButton_OnClick(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
AppWindowManager.ToggleWindow(ref AppWindowManager.ExperimentWindow,() => new ExperimentWindow(), false,false);
|
||||
AppWindowManager.ToggleWindow(ref AppWindowManager.ExperimentWindow, () => new ExperimentWindow(), false, false);
|
||||
// var mainWindowPosition = Position;
|
||||
// AppWindowManager.ExperimentWindow.Position = new PixelPoint(mainWindowPosition.X, mainWindowPosition.Y);
|
||||
|
||||
AppWindowManager.CloseWindow(ref AppWindowManager.ExperimentWindow2);
|
||||
|
||||
WindowSwitcher.GetInstance().SwitchWindow("code");
|
||||
|
||||
|
||||
WebSocketManager.GetInstance().SendMessage(ToolsEventEnum.HuiFu, null);
|
||||
|
||||
|
||||
AppWindowManager.CloseWindow(ref AppWindowManager.ExperimentWindow2);
|
||||
|
||||
WindowSwitcher.GetInstance().SwitchWindow("code");
|
||||
|
||||
|
||||
WebSocketManager.GetInstance().SendMessage(ToolsEventEnum.HuiFu, null);
|
||||
|
||||
|
||||
// AppWindowManager.ExperimentWindow.Cancal();
|
||||
// AppDataManager.BringExeToFront(ChangeWindowEnum.code);
|
||||
//WebSocketManager.GetInstance().SendMessage(ToolsEventEnum.MiniModel, null);
|
||||
|
||||
}
|
||||
|
||||
|
||||
//开始实验
|
||||
private void ExperimentButton_OnPointerEntered(object? sender, PointerEventArgs e)
|
||||
{
|
||||
|
|
@ -277,10 +334,10 @@ public partial class ExperimentWindow2 : Window
|
|||
|
||||
public void Submit()
|
||||
{
|
||||
var ExperimentButton = this.FindControl<Button>("ExperimentButton");
|
||||
var SubmittedButton = this.FindControl<Button>("SubmittedButton");
|
||||
|
||||
ExperimentButton.IsVisible = false;
|
||||
SubmittedButton.IsVisible = true;
|
||||
// var ExperimentButton = this.FindControl<Button>("ExperimentButton");
|
||||
// var SubmittedButton = this.FindControl<Button>("SubmittedButton");
|
||||
//
|
||||
// ExperimentButton.IsVisible = false;
|
||||
// SubmittedButton.IsVisible = true;
|
||||
}
|
||||
}
|
||||
|
|
@ -13,6 +13,7 @@ public partial class IDEErrorWindow : Window
|
|||
InitializeComponent();
|
||||
|
||||
Topmost = true;
|
||||
ShowInTaskbar = false;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ public partial class IDEWindow : Window
|
|||
InitializeComponent();
|
||||
|
||||
Topmost = true;
|
||||
ShowInTaskbar = false;
|
||||
|
||||
Loaded += IDEWindow_Loaded;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ public partial class IDEWindow2 : Window
|
|||
public IDEWindow2()
|
||||
{
|
||||
InitializeComponent();
|
||||
ShowInTaskbar = false;
|
||||
|
||||
Topmost = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -111,7 +111,7 @@
|
|||
Tag="avares://ToolsForm/Assets/img/录屏"
|
||||
Width="52"
|
||||
x:Name="RecordingWindowButton" />
|
||||
|
||||
|
||||
<ToggleButton
|
||||
Canvas.Left="25"
|
||||
Canvas.Top="310"
|
||||
|
|
@ -155,8 +155,10 @@
|
|||
Click="StartExperimentButton_OnClick"
|
||||
Height="55"
|
||||
IsChecked="{Binding IsButton7Checked, Mode=TwoWay}"
|
||||
IsVisible="True"
|
||||
Tag="avares://ToolsForm/Assets/img/开始实验"
|
||||
Width="43" />
|
||||
Width="43"
|
||||
x:Name="SubmitButton" />
|
||||
|
||||
</Canvas>
|
||||
</Window>
|
||||
|
|
@ -26,6 +26,7 @@ namespace ToolsForm.Views
|
|||
ViewModel = new MainWindowViewModel();
|
||||
DataContext = ViewModel; // 设置 DataContext
|
||||
|
||||
ShowInTaskbar = false;
|
||||
|
||||
WindowAttachment.GetInstance().StartAttach();
|
||||
WindowAttachment.GetInstance().Attach(this);
|
||||
|
|
@ -62,10 +63,32 @@ namespace ToolsForm.Views
|
|||
// this.Position = new PixelPoint(screen.X, (int)screenCenterY);
|
||||
//
|
||||
//
|
||||
ResetOtherButtons("Overview");
|
||||
// ResetOtherButtons("Overview");
|
||||
// //
|
||||
AppWindowManager.ToggleWindow(ref AppWindowManager.OverviewWindow, () => new OverviewWindow(), true);
|
||||
// AppWindowManager.ToggleWindow(ref AppWindowManager.OverviewWindow, () => new OverviewWindow(), true);
|
||||
//
|
||||
|
||||
// AppWindowManager.MainWindow.Hide();
|
||||
//
|
||||
// AppWindowManager.ToggleWindow(ref AppWindowManager.ExperimentWindow, () => new ExperimentWindow(), false, false);
|
||||
// var mainWindowPosition = Position;
|
||||
// AppWindowManager.ExperimentWindow.Position = new PixelPoint(mainWindowPosition.X, mainWindowPosition.Y);
|
||||
//StartExperimentButton_OnClick(this, new RoutedEventArgs());
|
||||
|
||||
|
||||
|
||||
|
||||
this.FindControl<ToggleButton>("SubmitButton")?.SetValue(IsVisibleProperty, false);
|
||||
|
||||
//
|
||||
// if (!WindowApi.isSubmiteBttonOpen)
|
||||
// {
|
||||
// this.FindControl<ToggleButton>("SubmitButton")?.SetValue(IsVisibleProperty, true);
|
||||
// }
|
||||
|
||||
|
||||
Console.WriteLine(WindowApi.isSubmiteBttonOpen);
|
||||
|
||||
}
|
||||
|
||||
private IntPtr GetWindowHandleOfAvaloniaWindow()
|
||||
|
|
@ -200,7 +223,7 @@ namespace ToolsForm.Views
|
|||
// 获取灰色按钮控件并设置为可用
|
||||
this.FindControl<ToggleButton>("ResetSceneWindowButton")?.SetValue(IsEnabledProperty, true);
|
||||
this.FindControl<ToggleButton>("RecordingWindowButton")?.SetValue(IsEnabledProperty, true);
|
||||
this.FindControl<ToggleButton>("TemporaryStorageButton5")?.SetValue(IsEnabledProperty, true);
|
||||
// this.FindControl<ToggleButton>("TemporaryStorageButton5")?.SetValue(IsEnabledProperty, true);
|
||||
this.FindControl<ToggleButton>("ReadCodeButton6")?.SetValue(IsEnabledProperty, true);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -60,17 +60,17 @@
|
|||
Canvas.Left="0"
|
||||
Canvas.Top="0"
|
||||
Source="avares://ToolsForm/Assets/img/background/步骤指导.png" />
|
||||
<Image
|
||||
Canvas.Left="33"
|
||||
Canvas.Top="33"
|
||||
Source="avares://ToolsForm/Assets/img/实验名称.png" />
|
||||
<TextBlock
|
||||
Canvas.Left="70"
|
||||
Canvas.Top="37"
|
||||
FontFamily="{StaticResource SourceMedium}"
|
||||
FontSize="16"
|
||||
Foreground="Black"
|
||||
Text="自由编程" />
|
||||
<!-- <Image -->
|
||||
<!-- Canvas.Left="33" -->
|
||||
<!-- Canvas.Top="33" -->
|
||||
<!-- Source="avares://ToolsForm/Assets/img/实验名称.png" /> -->
|
||||
<!-- <TextBlock -->
|
||||
<!-- Canvas.Left="70" -->
|
||||
<!-- Canvas.Top="37" -->
|
||||
<!-- FontFamily="{StaticResource SourceMedium}" -->
|
||||
<!-- FontSize="16" -->
|
||||
<!-- Foreground="Black" -->
|
||||
<!-- Text="自由编程" /> -->
|
||||
<Button
|
||||
Background="Transparent"
|
||||
Canvas.Left="243"
|
||||
|
|
|
|||
|
|
@ -6,32 +6,81 @@ using Avalonia.Markup.Xaml;
|
|||
using Avalonia.Media;
|
||||
using Avalonia.Media.Imaging;
|
||||
using Xceed.Words.NET;
|
||||
using Avalonia.Layout;
|
||||
using Avalonia.Platform;
|
||||
using Avalonia.Threading;
|
||||
using Newtonsoft.Json;
|
||||
using ToolsForm.Models;
|
||||
|
||||
namespace ToolsForm.Views
|
||||
{
|
||||
public partial class OverviewWindow : Window
|
||||
{
|
||||
private StackPanel _scorePanel;
|
||||
private TextBlock _scoreTextBlock;
|
||||
|
||||
public OverviewWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
Topmost = true;
|
||||
ShowInTaskbar = false;
|
||||
|
||||
// 获取 StackPanel 控件
|
||||
var stackPanel = this.FindControl<StackPanel>("StackPanelWord");
|
||||
var fenshu = this.FindControl<StackPanel>("fenshu");
|
||||
fenshu.IsVisible = false;
|
||||
_scorePanel = this.FindControl<StackPanel>("fenshu");
|
||||
|
||||
// 获取当前工作目录
|
||||
string currentDirectory = Environment.CurrentDirectory;
|
||||
// 找到分数文本框
|
||||
if (_scorePanel != null && _scorePanel.Children.Count > 1)
|
||||
{
|
||||
_scoreTextBlock = _scorePanel.Children[1] as TextBlock;
|
||||
}
|
||||
|
||||
// 显示任务列表
|
||||
DisplayTasks(stackPanel);
|
||||
|
||||
// 设置WebSocket消息处理
|
||||
WebSocketManager.GetInstance().OnMessageReceived += HandleWebSocketMessage;
|
||||
|
||||
// 初始显示分数(如果有)
|
||||
UpdateScoreDisplay();
|
||||
}
|
||||
|
||||
// 拼接路径,指定要读取的文件名
|
||||
string filePath = Path.Combine(currentDirectory, "总览.docx");
|
||||
// 指定 Word 文档路径
|
||||
// string wordFilePath = "E:\\仓储\\仿真问题汇总表5.7.docx";
|
||||
private void HandleWebSocketMessage(ToolsEventModel eventmodel)
|
||||
{
|
||||
Console.WriteLine("接收到的事件类型: " + eventmodel.eventType);
|
||||
Console.WriteLine("事件数据: " + eventmodel.data);
|
||||
|
||||
// 加载 Word 文档内容
|
||||
LoadWordDocument(filePath, stackPanel);
|
||||
if (eventmodel.eventType == "score")
|
||||
{
|
||||
WindowApi.score = JsonConvert.DeserializeObject<ScoreModel>((string)eventmodel.data).Score;
|
||||
|
||||
// 更新UI上的分数显示
|
||||
Dispatcher.UIThread.Post(UpdateScoreDisplay);
|
||||
}
|
||||
}
|
||||
|
||||
// 更新分数显示 // 更新分数显示
|
||||
private void UpdateScoreDisplay()
|
||||
{
|
||||
try
|
||||
{
|
||||
// 显示分数面板
|
||||
if (_scorePanel != null)
|
||||
{
|
||||
_scorePanel.IsVisible = true;
|
||||
}
|
||||
|
||||
// 更新分数文本
|
||||
if (_scoreTextBlock != null)
|
||||
{
|
||||
// 检查score是否为null,防止空引用异常
|
||||
_scoreTextBlock.Text = WindowApi.score != null ? WindowApi.score.ToString() : "0";
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine($"更新分数显示时出错: {ex.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
|
|
@ -39,6 +88,69 @@ namespace ToolsForm.Views
|
|||
AvaloniaXamlLoader.Load(this);
|
||||
}
|
||||
|
||||
// 新增方法:显示任务列表
|
||||
private void DisplayTasks(StackPanel container)
|
||||
{
|
||||
// 清空容器
|
||||
container.Children.Clear();
|
||||
|
||||
// 判断任务列表是否存在
|
||||
if (WindowApi.Tasks != null && WindowApi.Tasks.Count > 0)
|
||||
{
|
||||
// 遍历任务列表并创建对应的TextBlock
|
||||
for (int i = 0; i < WindowApi.Tasks.Count; i++)
|
||||
{
|
||||
// 创建水平布局面板,用于放置图标和文本
|
||||
var panel = new StackPanel
|
||||
{
|
||||
Orientation = Orientation.Horizontal,
|
||||
Margin = new Thickness(0, 5, 0, 5)
|
||||
};
|
||||
|
||||
// 添加图片
|
||||
var image = new Image
|
||||
{
|
||||
Source = new Bitmap(AssetLoader.Open(new Uri("avares://ToolsForm/Assets/img/Overview/tiao.png"))),
|
||||
Width = 15,
|
||||
Height = 74,
|
||||
Margin = new Thickness(0, 0, 5, 0),
|
||||
VerticalAlignment = VerticalAlignment.Top
|
||||
};
|
||||
|
||||
// 添加文本
|
||||
var textBlock = new TextBlock
|
||||
{
|
||||
Text = $"{WindowApi.Tasks[i]}",
|
||||
FontSize = 15,
|
||||
TextWrapping = TextWrapping.Wrap,
|
||||
Foreground = Brushes.Black,
|
||||
VerticalAlignment = VerticalAlignment.Center,
|
||||
Width = 270 // 设置宽度以确保文本不会超出容器
|
||||
};
|
||||
|
||||
// 将图片和文本添加到面板
|
||||
panel.Children.Add(image);
|
||||
panel.Children.Add(textBlock);
|
||||
|
||||
// 将面板添加到容器
|
||||
container.Children.Add(panel);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// 如果没有任务,显示默认提示
|
||||
var textBlock = new TextBlock
|
||||
{
|
||||
Text = "暂无任务信息",
|
||||
FontSize = 15,
|
||||
TextWrapping = TextWrapping.Wrap,
|
||||
Foreground = Brushes.Gray,
|
||||
Margin = new Thickness(0, 10, 0, 10)
|
||||
};
|
||||
container.Children.Add(textBlock);
|
||||
}
|
||||
}
|
||||
|
||||
public void LoadWordDocument(string filePath, StackPanel container)
|
||||
{
|
||||
// 检查文件是否存在
|
||||
|
|
@ -90,5 +202,10 @@ namespace ToolsForm.Views
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnClosed(EventArgs e)
|
||||
{ Console.WriteLine("窗口关闭");
|
||||
WebSocketManager.GetInstance().OnMessageReceived -= HandleWebSocketMessage;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,8 @@ public partial class ReadCodeWindow : Window
|
|||
public ReadCodeWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
ShowInTaskbar = false;
|
||||
|
||||
Topmost = true;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ public partial class RecordingWindow : Window
|
|||
InitializeComponent();
|
||||
|
||||
Topmost = true;
|
||||
ShowInTaskbar = false;
|
||||
|
||||
_rotationTimer = new Timer(16); // 约60帧每秒
|
||||
_rotationTimer.Elapsed += OnRotationTimerElapsed;
|
||||
|
|
|
|||
|
|
@ -16,7 +16,8 @@ public partial class ResetSceneWindow : Window
|
|||
|
||||
Topmost = true;
|
||||
|
||||
|
||||
ShowInTaskbar = false;
|
||||
|
||||
// var button = this.FindControl<Button>("YourButtonName");
|
||||
// var image = this.FindControl<Image>("YourImageName");
|
||||
//
|
||||
|
|
|
|||
|
|
@ -0,0 +1,22 @@
|
|||
<Window xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="ToolsForm.Views.StartWindow"
|
||||
Title="StartWindow">
|
||||
<Window.Styles>
|
||||
<Style Selector="Window">
|
||||
<Setter Property="ExtendClientAreaToDecorationsHint" Value="False" />
|
||||
<Setter Property="ExtendClientAreaChromeHints" Value="NoChrome" />
|
||||
<Setter Property="ExtendClientAreaTitleBarHeightHint" Value="-1" />
|
||||
<Setter Property="SystemDecorations" Value="None" />
|
||||
<Setter Property="CanResize" Value="False" />
|
||||
<Setter Property="Background" />
|
||||
<Setter Property="Width" Value="358" />
|
||||
<Setter Property="Height" Value="429" />
|
||||
|
||||
</Style>
|
||||
|
||||
</Window.Styles>
|
||||
</Window>
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using ToolsForm.Models;
|
||||
|
||||
namespace ToolsForm.Views;
|
||||
|
||||
public partial class StartWindow : Window
|
||||
{
|
||||
public StartWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
|
||||
AppWindowManager.ToggleWindow(ref AppWindowManager.MainWindow, () => new MainWindow(), true);
|
||||
|
||||
AppWindowManager.MainWindow.Hide();
|
||||
|
||||
|
||||
AppWindowManager.ToggleWindow(ref AppWindowManager.ExperimentWindow, () => new ExperimentWindow(), false);
|
||||
ShowInTaskbar = false;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -1,17 +1,22 @@
|
|||
using System;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Interactivity;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.Threading;
|
||||
using Newtonsoft.Json;
|
||||
using ToolsForm.Models;
|
||||
|
||||
namespace ToolsForm.Views;
|
||||
|
||||
public partial class TemporaryStorageMessage : Window
|
||||
{
|
||||
// 日志文件路径
|
||||
private readonly string _logFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "websocket_log.txt");
|
||||
|
||||
public TemporaryStorageMessage()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
|
@ -20,29 +25,102 @@ public partial class TemporaryStorageMessage : Window
|
|||
|
||||
TemporarilySuccess.IsVisible = false;
|
||||
Temporarily.IsVisible = true;
|
||||
|
||||
ShowInTaskbar = false;
|
||||
|
||||
WebSocketManager.GetInstance().OnMessageReceived += HandleWebSocketMessage;
|
||||
|
||||
// 记录应用启动日志
|
||||
LogToFile("应用启动,开始监听WebSocket消息");
|
||||
}
|
||||
|
||||
private async void HandleWebSocketMessage(ToolsEventModel eventmodel)
|
||||
{
|
||||
Console.WriteLine("接收到的事件类型: " + eventmodel.eventType);
|
||||
Console.WriteLine("事件数据: " + eventmodel.data);
|
||||
|
||||
// 根据接收到的数据判断是否显示成功或失败
|
||||
if (eventmodel.eventType == "TemporaryStorage")
|
||||
try
|
||||
{
|
||||
bool isSuccess = (bool)eventmodel.data;
|
||||
await ProcessTemporaryStorageAsync(isSuccess);
|
||||
Console.WriteLine("接收到的事件类型: " + eventmodel.eventType);
|
||||
Console.WriteLine("事件数据: " + eventmodel.data);
|
||||
|
||||
// 将接收到的消息写入日志文件
|
||||
string messageJson = JsonConvert.SerializeObject(eventmodel);
|
||||
LogToFile($"收到WebSocket消息: {messageJson}");
|
||||
|
||||
// 显示接收到的消息
|
||||
await ShowMessageAsync(eventmodel);
|
||||
|
||||
// 根据接收到的数据处理特定类型的事件
|
||||
if (eventmodel.eventType == "TemporaryStorage")
|
||||
{
|
||||
// 检查data是否为布尔值或表示完成状态的字符串
|
||||
if (eventmodel.data is bool boolValue)
|
||||
{
|
||||
await ProcessTemporaryStorageAsync(boolValue);
|
||||
}
|
||||
else if (eventmodel.data is string strValue && strValue.Contains("成功"))
|
||||
{
|
||||
await ProcessTemporaryStorageAsync(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
// 其他情况仅显示消息,不处理为失败状态
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(e);
|
||||
// 将异常信息写入日志文件
|
||||
LogToFile($"处理WebSocket消息时发生异常: {e.Message}\n{e.StackTrace}");
|
||||
}
|
||||
}
|
||||
|
||||
// 显示接收到的消息
|
||||
private async Task ShowMessageAsync(ToolsEventModel eventmodel)
|
||||
{
|
||||
await Dispatcher.UIThread.InvokeAsync(() =>
|
||||
{
|
||||
// 处理完成后切换画布
|
||||
Temporarily.IsVisible = false;
|
||||
TemporarilySuccess.IsVisible = true;
|
||||
|
||||
// // 获取消息文本并显示
|
||||
// string messageText = eventmodel.data?.ToString() ?? "无数据";
|
||||
// if (SuccessMessage != null)
|
||||
// {
|
||||
// SuccessMessage.Text = $"{eventmodel.eventType}: {messageText}";
|
||||
// }
|
||||
});
|
||||
|
||||
// 3秒后自动隐藏消息
|
||||
await Task.Delay(3000);
|
||||
|
||||
await Dispatcher.UIThread.InvokeAsync(() =>
|
||||
{
|
||||
TemporarilySuccess.IsVisible = false;
|
||||
});
|
||||
}
|
||||
|
||||
// 写入日志文件的方法
|
||||
private void LogToFile(string message)
|
||||
{
|
||||
try
|
||||
{
|
||||
// 创建日志内容,包含时间戳
|
||||
string logEntry = $"[{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}] {message}{Environment.NewLine}";
|
||||
|
||||
// 追加写入文件
|
||||
File.AppendAllText(_logFilePath, logEntry);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// 如果写入日志文件失败,至少在控制台打印错误
|
||||
Console.WriteLine($"写入日志文件失败: {ex.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
private async void Window_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
// 在这里调用处理逻辑
|
||||
await ProcessTemporaryStorageAsync(false);
|
||||
// 记录窗口加载事件
|
||||
LogToFile("窗口已加载");
|
||||
}
|
||||
|
||||
private async Task ProcessTemporaryStorageAsync(bool isSuccess)
|
||||
|
|
@ -69,11 +147,13 @@ public partial class TemporaryStorageMessage : Window
|
|||
TemporarilySuccess.IsVisible = true; // 显示 TemporarilySuccess
|
||||
string currentTime = DateTime.Now.ToString("HH:mm", CultureInfo.InvariantCulture);
|
||||
SuccessMessage.Text = $"代码已暂存 {currentTime}"; // 更新 TextBlock 的文本
|
||||
LogToFile($"代码暂存成功 {currentTime}");
|
||||
}
|
||||
else
|
||||
{
|
||||
TemporarilySuccess.IsVisible = true; // 显示 TemporarilySuccess
|
||||
SuccessMessage.Text = "代码暂存失败"; // 更新 TextBlock 为失败消息
|
||||
LogToFile("代码暂存失败");
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -88,8 +168,10 @@ public partial class TemporaryStorageMessage : Window
|
|||
|
||||
// 确保在窗口关闭时取消订阅事件,避免潜在的内存泄漏
|
||||
protected override void OnClosed(EventArgs e)
|
||||
{
|
||||
base.OnClosed(e);
|
||||
{
|
||||
Console.WriteLine("窗口关闭");
|
||||
LogToFile("窗口已关闭");
|
||||
WebSocketManager.GetInstance().OnMessageReceived -= HandleWebSocketMessage;
|
||||
base.OnClosed(e);
|
||||
}
|
||||
}
|
||||
|
|
@ -12,6 +12,7 @@ public partial class TemporaryStorageWindow : Window
|
|||
public TemporaryStorageWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
ShowInTaskbar = false;
|
||||
|
||||
Topmost = true;
|
||||
}
|
||||
|
|
@ -30,7 +31,7 @@ public partial class TemporaryStorageWindow : Window
|
|||
private void SuccessButton_OnClick(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
AppWindowManager.ToggleWindow(ref AppWindowManager.TemporaryStorageMessage, () => new TemporaryStorageMessage(), false);
|
||||
AppWindowManager.UpdateWindowPosition(AppWindowManager.TemporaryStorageMessage, 0, 300,AppDataManager.MainType);
|
||||
AppWindowManager.UpdateWindowPosition(AppWindowManager.TemporaryStorageMessage, 0, 210,AppDataManager.MainType);
|
||||
WebSocketManager.GetInstance().SendMessage(ToolsEventEnum.TemporaryStorage,null);
|
||||
|
||||
AppWindowManager.CloseWindow(ref AppWindowManager.TemporaryStorageWindow);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,87 @@
|
|||
<Window
|
||||
Title="UploadExperConfirmWindow2"
|
||||
d:DesignHeight="202"
|
||||
d:DesignWidth="453"
|
||||
mc:Ignorable="d"
|
||||
x:Class="ToolsForm.Views.UploadExperConfirmWindow2"
|
||||
xmlns="https://github.com/avaloniaui"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
|
||||
|
||||
<Window.Styles>
|
||||
<Style Selector="Window">
|
||||
<Setter Property="ExtendClientAreaToDecorationsHint" Value="False" />
|
||||
<Setter Property="ExtendClientAreaChromeHints" Value="NoChrome" />
|
||||
<Setter Property="ExtendClientAreaTitleBarHeightHint" Value="-1" />
|
||||
<Setter Property="SystemDecorations" Value="None" />
|
||||
<Setter Property="CanResize" Value="False" />
|
||||
<Setter Property="Background" />
|
||||
<Setter Property="Width" Value="453" />
|
||||
<Setter Property="Height" Value="202" />
|
||||
</Style>
|
||||
|
||||
|
||||
<Style Selector="Button">
|
||||
<!-- 固定按钮的前景色,确保按钮在不同状态下文字颜色不变 -->
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<!-- 移除背景 -->
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
<!-- 移除边框 -->
|
||||
<Setter Property="Padding" Value="0" />
|
||||
<!-- 清除默认内边距 -->
|
||||
<Setter Property="HorizontalContentAlignment" Value="Center" />
|
||||
<Setter Property="VerticalContentAlignment" Value="Center" />
|
||||
<Setter Property="FocusAdorner" Value="{x:Null}" />
|
||||
<!-- 移除焦点边框 -->
|
||||
|
||||
<Setter Property="Foreground" Value="#C2C2C2" />
|
||||
<!-- 默认文字颜色为白色 -->
|
||||
|
||||
<!-- 自定义模板 -->
|
||||
<Setter Property="Template">
|
||||
<ControlTemplate>
|
||||
<Border
|
||||
Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}">
|
||||
<ContentPresenter
|
||||
Content="{TemplateBinding Content}"
|
||||
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
|
||||
VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
|
||||
</Border>
|
||||
</ControlTemplate>
|
||||
</Setter>
|
||||
</Style>
|
||||
</Window.Styles>
|
||||
|
||||
<Canvas>
|
||||
<Image Source="../Assets/img/UploadExperimentMessage/提交成功.png" />
|
||||
|
||||
<Image
|
||||
Canvas.Left="140"
|
||||
Canvas.Top="60"
|
||||
Height="32"
|
||||
Source="../Assets/img/UploadExperimentMessage/感叹号.png"
|
||||
Width="32" />
|
||||
|
||||
|
||||
<TextBlock
|
||||
Canvas.Left="180"
|
||||
Canvas.Top="60"
|
||||
FontFamily="{StaticResource SourceMedium}"
|
||||
FontSize="23"
|
||||
Foreground="Black"
|
||||
Text="是否要提交?" />
|
||||
|
||||
|
||||
<Button
|
||||
Background="Transparent"
|
||||
Canvas.Bottom="40"
|
||||
Canvas.Left="80"
|
||||
Click="Upload">
|
||||
<Image Source="../Assets/img/UploadExperimentMessage/提交按钮.png" />
|
||||
</Button>
|
||||
</Canvas>
|
||||
</Window>
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Interactivity;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using ToolsForm.Models;
|
||||
|
||||
namespace ToolsForm.Views;
|
||||
|
||||
public partial class UploadExperConfirmWindow2 : Window
|
||||
{
|
||||
public UploadExperConfirmWindow2()
|
||||
{
|
||||
InitializeComponent();
|
||||
ShowInTaskbar = false;
|
||||
|
||||
}
|
||||
|
||||
private void Upload(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
|
||||
if (AppWindowManager.ExperimentWindow != null)
|
||||
{
|
||||
AppWindowManager.ExperimentWindow.Submit();
|
||||
}
|
||||
if (AppWindowManager.ExperimentWindow2 != null)
|
||||
{
|
||||
AppWindowManager.ExperimentWindow2.Submit();
|
||||
}
|
||||
|
||||
// AppWindowManager.CloseWindow(ref AppWindowManager.UploadExperConfirmWindow2);
|
||||
|
||||
|
||||
AppWindowManager.ToggleWindow(ref AppWindowManager.UploadExperimentMessageWindow, () => new UploadExperimentMessageWindow(), false);
|
||||
|
||||
// Point p = GetScreenCenter();
|
||||
|
||||
AppWindowManager.UploadExperimentMessageWindow.Position = new PixelPoint(AppWindowManager.UploadExperimentWindow.XX-200,AppWindowManager.UploadExperimentWindow.YY-200);
|
||||
|
||||
AppDataManager.isUpload = true;
|
||||
|
||||
AppWindowManager.CloseWindow(ref AppWindowManager.UploadExperimentWindow);
|
||||
}
|
||||
|
||||
public Point GetScreenCenter()
|
||||
{
|
||||
var screens = Screens.All;
|
||||
if (screens.Count > 0)
|
||||
{
|
||||
// 获取主屏幕的尺寸
|
||||
var primaryScreen = screens[0];
|
||||
double screenWidth = primaryScreen.Bounds.Width;
|
||||
double screenHeight = primaryScreen.Bounds.Height;
|
||||
|
||||
double centerX = screenWidth / 2;
|
||||
double centerY = screenHeight / 2;
|
||||
|
||||
return new Point(centerX, centerY);
|
||||
}
|
||||
|
||||
// 如果没有找到屏幕,返回 (0, 0)
|
||||
return new Point(0, 0);
|
||||
}
|
||||
}
|
||||
|
|
@ -11,6 +11,7 @@ public partial class UploadExperimentMessageWindow : Window
|
|||
public UploadExperimentMessageWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
ShowInTaskbar = false;
|
||||
|
||||
CloseWindow();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,11 +34,16 @@ public partial class UploadExperimentWindow : Window
|
|||
public ObservableCollection<FileSystemItem> FileItems { get; set; } = new ObservableCollection<FileSystemItem>();
|
||||
|
||||
|
||||
public int XX;
|
||||
public int YY;
|
||||
|
||||
|
||||
public UploadExperimentWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
DataContext = this; // 绑定数据上下文
|
||||
ShowInTaskbar = false;
|
||||
|
||||
// 初始化旋转定时器
|
||||
_rotationTimer1 = new DispatcherTimer
|
||||
|
|
@ -281,26 +286,16 @@ public partial class UploadExperimentWindow : Window
|
|||
private void OnSubmitButtonClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
|
||||
|
||||
|
||||
if (AppWindowManager.ExperimentWindow != null)
|
||||
{
|
||||
AppWindowManager.ExperimentWindow.Submit();
|
||||
}
|
||||
if (AppWindowManager.ExperimentWindow2 != null)
|
||||
{
|
||||
AppWindowManager.ExperimentWindow2.Submit();
|
||||
}
|
||||
|
||||
AppWindowManager.ToggleWindow(ref AppWindowManager.UploadExperimentMessageWindow, () => new UploadExperimentMessageWindow(), false);
|
||||
AppWindowManager.ToggleWindow(ref AppWindowManager.UploadExperConfirmWindow2, () => new UploadExperConfirmWindow2(), false);
|
||||
|
||||
Point p = GetScreenCenter();
|
||||
|
||||
AppWindowManager.UploadExperimentMessageWindow.Position = new PixelPoint((int)p.X - 226, (int)(p.Y - p.Y / 2));
|
||||
|
||||
AppDataManager.isUpload = true;
|
||||
XX = (int)p.X;
|
||||
YY = (int)p.Y;
|
||||
Console.WriteLine(p.X);
|
||||
Console.WriteLine(p.Y);
|
||||
|
||||
AppWindowManager.CloseWindow(ref AppWindowManager.UploadExperimentWindow);
|
||||
AppWindowManager.UploadExperConfirmWindow2.Position=new PixelPoint((int)p.X-200,(int)p.Y-200);
|
||||
}
|
||||
|
||||
public Point GetScreenCenter()
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
ws://127.0.0.1:8878/tools
|
||||