105040 Update 将线材两头连接的元器件加入选中项中,同时设置选中效果
This commit is contained in:
parent
f6ca75223a
commit
373e23ba08
|
@ -262,15 +262,16 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.ViewModel
|
|||
var oriOcc = SelfControler<BaseOccurrence>.FindInstance(occ.ID);
|
||||
var parent = oriOcc.Parents?.FirstOrDefault();
|
||||
var grandparent = parent.Parents?.FirstOrDefault();
|
||||
scanCableModel.S_partObj = grandparent;
|
||||
scanCableModel.S_part = grandparent.Name;
|
||||
S_part = scanCableModel.S_part;
|
||||
|
||||
}
|
||||
if (occ.ID.Equals(scanCableModel.E_pinID))
|
||||
{
|
||||
var oriOcc = SelfControler<BaseOccurrence>.FindInstance(occ.ID);
|
||||
var parent = oriOcc.Parents?.FirstOrDefault();
|
||||
var grandparent = parent.Parents?.FirstOrDefault();
|
||||
scanCableModel.E_partObj = grandparent;
|
||||
scanCableModel.E_part = grandparent.Name;
|
||||
E_part = scanCableModel.E_part;
|
||||
}
|
||||
|
@ -342,18 +343,14 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.ViewModel
|
|||
// 扫描即装配
|
||||
if (ScanAndAssembled)
|
||||
{
|
||||
//cable.IsChecked = true;
|
||||
ScanCableModel scanCableModel = new ScanCableModel();
|
||||
scanCableModel = cable;
|
||||
|
||||
cable.IsChecked = true;
|
||||
_ScanCableModels.Remove(cable);
|
||||
_ScanCableModels.Insert(0, scanCableModel);
|
||||
_ScanCableModels.FirstOrDefault().IsChecked = true;
|
||||
ToMotorSource(scanCableModel);
|
||||
_ScanCableModels.Insert(0, cable);
|
||||
|
||||
}
|
||||
GetWireConnectPart(cable);
|
||||
ScanedIndex = 0;//Math.Max(cable.Index - 1, 0);
|
||||
ToSourceById(cable.Id);
|
||||
ToSourceById(cable);
|
||||
|
||||
}
|
||||
else
|
||||
|
@ -426,6 +423,44 @@ namespace Sinvo.EplanHpD.Plugin.WPFUI.ViewModel
|
|||
*/
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 将设计器聚焦到对应的线
|
||||
/// </summary>
|
||||
/// <param name="occId"></param>
|
||||
private void ToSourceById(ScanCableModel scanedWire)
|
||||
{
|
||||
var occId = scanedWire.Id;
|
||||
// 从设计器中获取线实例
|
||||
var occWire = _currentFlexDesigner.GetOccurrenceByID(occId);
|
||||
if (occWire != null)
|
||||
{
|
||||
// 设置线显示
|
||||
occWire.SetVisibility(true, null);
|
||||
// 清空已选择项并加入当前线
|
||||
_currentFlexDesigner.SelectSet.Clear();
|
||||
_currentFlexDesigner.SelectSet.Add(scanedWire.S_partObj.Children.Where(it => it.Type == OCC_TYPE.wPART));
|
||||
_currentFlexDesigner.SelectSet.Add(scanedWire.E_partObj.Children.Where(it => it.Type == OCC_TYPE.wPART));
|
||||
_currentFlexDesigner.SelectSet.Add(occWire);
|
||||
// 缩放设计器且触发选中事件
|
||||
_currentFlexDesigner.FitToSelectSet();
|
||||
_currentFlexDesigner.SelectSet.OnSelectionChanged();
|
||||
|
||||
//_currentFlexDesigner.Camera.GraphicControl._HighlightNode()
|
||||
/*
|
||||
List<DatTreeNodeEx<BaseOccurrence>> nodeByEntity = this._occTreeView.GetNodeByEntity(baseOccurrence);
|
||||
if (nodeByEntity != null)
|
||||
{
|
||||
foreach (DatTreeNodeEx<BaseOccurrence> datTreeNodeEx in nodeByEntity)
|
||||
{
|
||||
if (!this._occTreeView.SelectedNodes.Contains(datTreeNodeEx))
|
||||
{
|
||||
this._occTreeView.SelectedNodes.Add(datTreeNodeEx);
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue