修复自动路径起点和终点设置中,可以点击手动创建的bug
This commit is contained in:
parent
89c98f1556
commit
e295675fe5
@ -543,6 +543,7 @@ namespace NavisworksTransport
|
||||
RaiseStatusChanged("已切换到查看状态", PathPlanningStatusType.Info);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 重置路径编辑状态
|
||||
/// </summary>
|
||||
|
||||
@ -389,11 +389,13 @@ namespace NavisworksTransport.UI.WPF.ViewModels
|
||||
|
||||
#region Can Execute属性
|
||||
|
||||
public bool CanExecuteAutoPlanPath => _hasStartPoint && _hasEndPoint &&
|
||||
VehicleLength > 0 && VehicleWidth > 0 && VehicleHeight > 0 &&
|
||||
public bool CanExecuteAutoPlanPath => _hasStartPoint && _hasEndPoint &&
|
||||
VehicleLength > 0 && VehicleWidth > 0 && VehicleHeight > 0 &&
|
||||
SafetyMargin >= 0;
|
||||
|
||||
public bool CanExecuteStartEdit => SelectedPathRoute != null &&
|
||||
public bool CanExecuteNewPath => !IsSelectingStartPoint && !IsSelectingEndPoint;
|
||||
|
||||
public bool CanExecuteStartEdit => SelectedPathRoute != null &&
|
||||
(_pathPlanningManager?.PathEditState == PathEditState.Viewing);
|
||||
|
||||
public bool CanExecuteEndEdit => (_pathPlanningManager?.PathEditState == PathEditState.Creating ||
|
||||
@ -535,7 +537,7 @@ namespace NavisworksTransport.UI.WPF.ViewModels
|
||||
|
||||
private void InitializeCommands()
|
||||
{
|
||||
NewPathCommand = new RelayCommand(async () => await ExecuteNewPathAsync());
|
||||
NewPathCommand = new RelayCommand(async () => await ExecuteNewPathAsync(), () => CanExecuteNewPath);
|
||||
DeletePathCommand = new RelayCommand(async () => await ExecuteDeletePathAsync());
|
||||
RenamePathCommand = new RelayCommand(async () => await ExecuteRenamePathAsync());
|
||||
StartEditCommand = new RelayCommand(async () => await ExecuteAddPathPointAsync(), () => CanExecuteStartEdit);
|
||||
@ -729,11 +731,15 @@ namespace NavisworksTransport.UI.WPF.ViewModels
|
||||
_hasStartPoint = false;
|
||||
AutoPathStartPoint = "未选择";
|
||||
|
||||
LogManager.Info("PathPlanningManager已初始化,开始设置选择状态");
|
||||
LogManager.Info("PathPlanningManager已初始化,开始设置自动路径规划状态");
|
||||
IsSelectingStartPoint = true;
|
||||
IsSelectingEndPoint = false;
|
||||
|
||||
// 通知按钮状态更新,禁用"手动创建"按钮
|
||||
OnPropertyChanged(nameof(CanExecuteNewPath));
|
||||
|
||||
UpdateMainStatus("请在3D视图中点击选择起点...");
|
||||
|
||||
|
||||
// 进入自动路径规划模式 - 动态事件订阅
|
||||
LogManager.Info("进入自动路径规划模式,启用动态事件订阅");
|
||||
|
||||
@ -783,11 +789,15 @@ namespace NavisworksTransport.UI.WPF.ViewModels
|
||||
_hasEndPoint = false;
|
||||
AutoPathEndPoint = "未选择";
|
||||
|
||||
LogManager.Info("PathPlanningManager已初始化,开始设置选择状态");
|
||||
LogManager.Info("PathPlanningManager已初始化,开始设置自动路径规划状态");
|
||||
IsSelectingStartPoint = false;
|
||||
IsSelectingEndPoint = true;
|
||||
|
||||
// 通知按钮状态更新,禁用"手动创建"按钮
|
||||
OnPropertyChanged(nameof(CanExecuteNewPath));
|
||||
|
||||
UpdateMainStatus("请在3D视图中点击选择终点...");
|
||||
|
||||
|
||||
// 进入自动路径规划模式 - 动态事件订阅
|
||||
LogManager.Info("进入自动路径规划模式,启用动态事件订阅");
|
||||
|
||||
@ -994,7 +1004,8 @@ namespace NavisworksTransport.UI.WPF.ViewModels
|
||||
|
||||
// 通知Can Execute属性更改
|
||||
OnPropertyChanged(nameof(CanExecuteAutoPlanPath));
|
||||
|
||||
OnPropertyChanged(nameof(CanExecuteNewPath));
|
||||
|
||||
LogManager.Info("自动路径规划参数和起终点标记已完全重置,ToolPlugin已重新初始化");
|
||||
}, "重置自动路径规划");
|
||||
}
|
||||
@ -1812,7 +1823,8 @@ namespace NavisworksTransport.UI.WPF.ViewModels
|
||||
|
||||
// 通知Can Execute属性更改
|
||||
OnPropertyChanged(nameof(CanExecuteAutoPlanPath));
|
||||
|
||||
OnPropertyChanged(nameof(CanExecuteNewPath));
|
||||
|
||||
// 渲染新的起点标记
|
||||
if (PathPointRenderPlugin.Instance != null)
|
||||
{
|
||||
@ -1862,7 +1874,8 @@ namespace NavisworksTransport.UI.WPF.ViewModels
|
||||
|
||||
// 通知Can Execute属性更改
|
||||
OnPropertyChanged(nameof(CanExecuteAutoPlanPath));
|
||||
|
||||
OnPropertyChanged(nameof(CanExecuteNewPath));
|
||||
|
||||
// 渲染新的终点标记
|
||||
if (PathPointRenderPlugin.Instance != null)
|
||||
{
|
||||
@ -2291,7 +2304,7 @@ namespace NavisworksTransport.UI.WPF.ViewModels
|
||||
case PathEditState.Viewing:
|
||||
// 如果当前状态包含路径规划完成信息(包括完成度百分比),则保留不覆盖
|
||||
var currentStatus = _mainViewModel?.StatusText ?? "";
|
||||
if (!currentStatus.Contains("路径规划完成") && !currentStatus.Contains("路径规划部分完成") &&
|
||||
if (!currentStatus.Contains("路径规划完成") && !currentStatus.Contains("路径规划部分完成") &&
|
||||
!currentStatus.Contains("✅") && !currentStatus.Contains("🔶"))
|
||||
{
|
||||
UpdateMainStatus("路径编辑已完成");
|
||||
@ -2303,6 +2316,7 @@ namespace NavisworksTransport.UI.WPF.ViewModels
|
||||
}
|
||||
|
||||
// 通知命令状态更新
|
||||
OnPropertyChanged(nameof(CanExecuteNewPath));
|
||||
OnPropertyChanged(nameof(CanExecuteStartEdit));
|
||||
OnPropertyChanged(nameof(CanExecuteEndEdit));
|
||||
OnPropertyChanged(nameof(CanExecuteModifyPoint));
|
||||
|
||||
Loading…
Reference in New Issue
Block a user