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