B2017-180: don’t allow paste replace on source/enhanced steps.

B2017-181: fix crash when select/deselect procedure sets in search panel
This commit is contained in:
Kathy Ruffing 2017-08-24 13:55:34 +00:00
parent 79c7332829
commit 5ce26f2350
2 changed files with 16 additions and 4 deletions

View File

@ -388,8 +388,18 @@ namespace Volian.Controls.Library
lstCheckedStepTypesStr.Clear(); lstCheckedStepTypesStr.Clear();
topnode.Text = "Types"; topnode.Text = "Types";
advTreeStepTypes.Nodes.Add(topnode); advTreeStepTypes.Nodes.Add(topnode);
FormatData fmtdata = null;
FormatData fmtdata = _MyDocVersion.ActiveFormat.PlantFormat.FormatData; // B2017-181: selecting/deselecting, and no nodes are selected was causing null reference when trying
// to access the DocVersion (none are selected), use the format off of the top folder:
if (_MyDocVersion == null)
{
FolderInfo fi = FolderInfo.Get(TopFolderID);
fmtdata = fi.ActiveFormat.PlantFormat.FormatData;
}
else
{
fmtdata = _MyDocVersion.ActiveFormat.PlantFormat.FormatData;
}
List<StepDataRetval> lstSrchStpTypes = fmtdata.GetSearchableSteps(); // list of searchable step types List<StepDataRetval> lstSrchStpTypes = fmtdata.GetSearchableSteps(); // list of searchable step types
if (lstSrchStpTypes != null && lstSrchStpTypes.Count > 0) if (lstSrchStpTypes != null && lstSrchStpTypes.Count > 0)
{ {

View File

@ -1587,7 +1587,8 @@ namespace Volian.Controls.Library
StepTabPanel tmp = Parent as StepTabPanel; StepTabPanel tmp = Parent as StepTabPanel;
if (tmp.MyDisplayTabControl.MyCopyStep != null) if (tmp.MyDisplayTabControl.MyCopyStep != null)
{ {
if (!tmp.MyDisplayTabControl.MyCopyStep.IsEnhancedStep) //B2017-180: The fix for B2017-158 also needed the 'HasEnhancedLinkedStep' to check if the copied step is a source step
if (!tmp.MyDisplayTabControl.MyCopyStep.IsEnhancedStep && !tmp.MyDisplayTabControl.MyCopyStep.HasEnhancedLinkedStep)
{ {
if (MyItemInfo.IsEnhancedStep) btnPasteReplace.Enabled = btnCMPasteReplace.Enabled = false; if (MyItemInfo.IsEnhancedStep) btnPasteReplace.Enabled = btnCMPasteReplace.Enabled = false;
} }
@ -1623,7 +1624,8 @@ namespace Volian.Controls.Library
btnPasteBefore.Enabled = btnCMPasteBefore.Enabled = enable; btnPasteBefore.Enabled = btnCMPasteBefore.Enabled = enable;
btnPasteAfter.Enabled = btnCMPasteAfter.Enabled = enable; btnPasteAfter.Enabled = btnCMPasteAfter.Enabled = enable;
//B20170-158 Don't allow a step to replace a linked step //B20170-158 Don't allow a step to replace a linked step
btnPasteReplace.Enabled = btnCMPasteReplace.Enabled = enable && !MyItemInfo.IsEnhancedStep; //B2017-180: The fix for B2017-158 also needed the 'HasEnhancedLinkedStep' to check if the copied step is a source step
btnPasteReplace.Enabled = btnCMPasteReplace.Enabled = enable && !MyItemInfo.IsEnhancedStep && !MyItemInfo.HasEnhancedLinkedStep;
} }
private void SetPasteButtonEnabled() private void SetPasteButtonEnabled()
{ {