B2025-010 PROMS – Change ID Issues

Removing the change id via backspaces in the change id box in the step properties panel can cause PROMS to crash. Also, it doesn’t always remove the change id properly. Changing this to instead of updating every time text changes in the box, adding a save button. Also, adding some null exception error handling.
This commit is contained in:
Matthew Schill 2025-01-27 16:09:19 -05:00
parent e893264075
commit 5e43a8501b
3 changed files with 839 additions and 823 deletions

View File

@ -105,7 +105,7 @@ namespace VEPROMS.CSLA.Library
if (tmp._MyContent != null)
{
ContentInfo.Refresh(tmp._MyContent);
if (tmp._MyContent.MyImage != null) ImageInfo.Refresh(tmp._MyContent.MyImage);
if (tmp._MyContent?.MyImage != null) ImageInfo.Refresh(tmp._MyContent.MyImage);
}
ItemInfo.Refresh(tmp);
}

View File

@ -35,8 +35,8 @@ namespace Volian.Controls.Library
this.cmbCheckoff = new DevComponents.DotNetBar.Controls.ComboBoxEx();
this.cmbShwRplWds = new DevComponents.DotNetBar.Controls.ComboBoxEx();
this.groupPanelCheckoff = new DevComponents.DotNetBar.Controls.GroupPanel();
this.groupPanelcmbShwRplWds = new DevComponents.DotNetBar.Controls.GroupPanel();
this.cbInitialLine = new DevComponents.DotNetBar.Controls.CheckBoxX();
this.groupPanelcmbShwRplWds = new DevComponents.DotNetBar.Controls.GroupPanel();
this.groupPanelChgBar = new DevComponents.DotNetBar.Controls.GroupPanel();
this.tbChgID = new System.Windows.Forms.TextBox();
this.lblChgId = new System.Windows.Forms.Label();
@ -62,6 +62,7 @@ namespace Volian.Controls.Library
this.tbFSWd = new System.Windows.Forms.TextBox();
this.lblFSHt = new System.Windows.Forms.Label();
this.lblFSWidth = new System.Windows.Forms.Label();
this.btnSaveChangeID = new System.Windows.Forms.Button();
this.groupPanelPaginate.SuspendLayout();
this.groupPanelCheckoff.SuspendLayout();
this.groupPanelcmbShwRplWds.SuspendLayout();
@ -82,7 +83,7 @@ namespace Volian.Controls.Library
this.groupPanelPaginate.Controls.Add(this.cbPageBreak);
this.groupPanelPaginate.DisabledBackColor = System.Drawing.Color.Empty;
this.groupPanelPaginate.Dock = System.Windows.Forms.DockStyle.Top;
this.groupPanelPaginate.Location = new System.Drawing.Point(0, 339);
this.groupPanelPaginate.Location = new System.Drawing.Point(0, 425);
this.groupPanelPaginate.Margin = new System.Windows.Forms.Padding(2);
this.groupPanelPaginate.Name = "groupPanelPaginate";
this.groupPanelPaginate.Size = new System.Drawing.Size(202, 58);
@ -196,6 +197,11 @@ namespace Volian.Controls.Library
this.cmbShwRplWds.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbShwRplWds.FormattingEnabled = true;
this.cmbShwRplWds.ItemHeight = 17;
this.cmbShwRplWds.Items.AddRange(new object[] {
"",
"Inherit from Section",
"Show replace words",
"Do not show replace words"});
this.cmbShwRplWds.Location = new System.Drawing.Point(3, 17);
this.cmbShwRplWds.Margin = new System.Windows.Forms.Padding(2);
this.cmbShwRplWds.Name = "cmbShwRplWds";
@ -204,20 +210,15 @@ namespace Volian.Controls.Library
this.cmbShwRplWds.WatermarkFont = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cmbShwRplWds.WatermarkText = "Show Replace Words";
this.cmbShwRplWds.SelectedIndexChanged += new System.EventHandler(this.cmbShwRplWds_SelectedIndexChanged);
this.cmbShwRplWds.Items.Add("");
this.cmbShwRplWds.Items.Add("Inherit from Section");
this.cmbShwRplWds.Items.Add("Show replace words");
this.cmbShwRplWds.Items.Add("Do not show replace words");
//
// groupPanelCheckoff
//
this.groupPanelCheckoff.CanvasColor = System.Drawing.SystemColors.Control;
this.groupPanelCheckoff.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007;
this.groupPanelCheckoff.Controls.Add(this.cbInitialLine);
this.groupPanelCheckoff.Controls.Add(this.cmbCheckoff);
this.groupPanelCheckoff.DisabledBackColor = System.Drawing.Color.Empty;
this.groupPanelCheckoff.Dock = System.Windows.Forms.DockStyle.Top;
this.groupPanelCheckoff.Location = new System.Drawing.Point(0, 145);
this.groupPanelCheckoff.Location = new System.Drawing.Point(0, 231);
this.groupPanelCheckoff.Margin = new System.Windows.Forms.Padding(2);
this.groupPanelCheckoff.Name = "groupPanelCheckoff";
this.groupPanelCheckoff.Size = new System.Drawing.Size(202, 86);
@ -253,12 +254,30 @@ namespace Volian.Controls.Library
this.groupPanelCheckoff.Text = "Signoff / Checkoff";
this.groupPanelCheckoff.VisibleChanged += new System.EventHandler(this.groupPanelCheckoff_VisibleChanged);
//
// cbInitialLine
//
this.cbInitialLine.AutoSize = true;
this.cbInitialLine.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.cbInitialLine.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.cbInitialLine.Location = new System.Drawing.Point(3, 44);
this.cbInitialLine.Margin = new System.Windows.Forms.Padding(2);
this.cbInitialLine.Name = "cbInitialLine";
this.cbInitialLine.Size = new System.Drawing.Size(112, 15);
this.superTooltipTags.SetSuperTooltip(this.cbInitialLine, new DevComponents.DotNetBar.SuperTooltipInfo("Manual Page Break", "", "When set, starts this step at the top of a page.\r\n\r\nkeyboard command: <Ctrl><Ente" +
"r>", null, null, DevComponents.DotNetBar.eTooltipColor.Gray));
this.cbInitialLine.TabIndex = 1;
this.cbInitialLine.Text = "Disable Initial Line";
this.cbInitialLine.Visible = false;
this.cbInitialLine.CheckedChanged += new System.EventHandler(this.cbInitialLine_CheckedChanged);
//
// groupPanelcmbShwRplWds
//
this.groupPanelcmbShwRplWds.CanvasColor = System.Drawing.SystemColors.Control;
this.groupPanelcmbShwRplWds.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007;
this.groupPanelcmbShwRplWds.Controls.Add(this.cbInitialLine);
//this.groupPanelcmbShwRplWds.Controls.Add(this.cmbCheckoff);
this.groupPanelcmbShwRplWds.Controls.Add(this.cmbShwRplWds);
this.groupPanelcmbShwRplWds.DisabledBackColor = System.Drawing.Color.Empty;
this.groupPanelcmbShwRplWds.Dock = System.Windows.Forms.DockStyle.Top;
@ -298,37 +317,19 @@ namespace Volian.Controls.Library
this.groupPanelcmbShwRplWds.Text = "Show Replace Words";
this.groupPanelcmbShwRplWds.VisibleChanged += new System.EventHandler(this.groupPanelcmbShwRplWds_VisibleChanged);
//
// cbInitialLine
//
this.cbInitialLine.AutoSize = true;
this.cbInitialLine.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.cbInitialLine.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.cbInitialLine.Location = new System.Drawing.Point(3, 44);
this.cbInitialLine.Margin = new System.Windows.Forms.Padding(2);
this.cbInitialLine.Name = "cbInitialLine";
this.cbInitialLine.Size = new System.Drawing.Size(112, 15);
this.superTooltipTags.SetSuperTooltip(this.cbInitialLine, new DevComponents.DotNetBar.SuperTooltipInfo("Manual Page Break", "", "When set, starts this step at the top of a page.\r\n\r\nkeyboard command: <Ctrl><Ente" +
"r>", null, null, DevComponents.DotNetBar.eTooltipColor.Gray));
this.cbInitialLine.TabIndex = 1;
this.cbInitialLine.Text = "Disable Initial Line";
this.cbInitialLine.Visible = false;
this.cbInitialLine.CheckedChanged += new System.EventHandler(this.cbInitialLine_CheckedChanged);
//
// groupPanelChgBar
//
this.groupPanelChgBar.BackColor = System.Drawing.Color.Transparent;
this.groupPanelChgBar.CanvasColor = System.Drawing.SystemColors.Control;
this.groupPanelChgBar.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007;
this.groupPanelChgBar.Controls.Add(this.btnSaveChangeID);
this.groupPanelChgBar.Controls.Add(this.tbChgID);
this.groupPanelChgBar.Controls.Add(this.lblChgId);
this.groupPanelChgBar.Controls.Add(this.rbChgBarOff);
this.groupPanelChgBar.Controls.Add(this.rbChgBarOn);
this.groupPanelChgBar.DisabledBackColor = System.Drawing.Color.Empty;
this.groupPanelChgBar.Dock = System.Windows.Forms.DockStyle.Top;
this.groupPanelChgBar.Location = new System.Drawing.Point(0, 231);
this.groupPanelChgBar.Location = new System.Drawing.Point(0, 317);
this.groupPanelChgBar.Margin = new System.Windows.Forms.Padding(2);
this.groupPanelChgBar.Name = "groupPanelChgBar";
this.groupPanelChgBar.Size = new System.Drawing.Size(202, 108);
@ -371,7 +372,6 @@ namespace Volian.Controls.Library
this.tbChgID.Name = "tbChgID";
this.tbChgID.Size = new System.Drawing.Size(81, 20);
this.tbChgID.TabIndex = 4;
this.tbChgID.TextChanged += new System.EventHandler(this.tbChgID_TextChanged);
//
// lblChgId
//
@ -588,7 +588,7 @@ namespace Volian.Controls.Library
this.groupPanelIncludeOn.Controls.Add(this.cbCAS);
this.groupPanelIncludeOn.DisabledBackColor = System.Drawing.Color.Empty;
this.groupPanelIncludeOn.Dock = System.Windows.Forms.DockStyle.Top;
this.groupPanelIncludeOn.Location = new System.Drawing.Point(0, 397);
this.groupPanelIncludeOn.Location = new System.Drawing.Point(0, 483);
this.groupPanelIncludeOn.Margin = new System.Windows.Forms.Padding(2);
this.groupPanelIncludeOn.Name = "groupPanelIncludeOn";
this.groupPanelIncludeOn.Size = new System.Drawing.Size(202, 121);
@ -631,7 +631,7 @@ namespace Volian.Controls.Library
this.groupPanelWcnTrnResp.Controls.Add(this.tbRespons);
this.groupPanelWcnTrnResp.DisabledBackColor = System.Drawing.Color.Empty;
this.groupPanelWcnTrnResp.Dock = System.Windows.Forms.DockStyle.Top;
this.groupPanelWcnTrnResp.Location = new System.Drawing.Point(0, 518);
this.groupPanelWcnTrnResp.Location = new System.Drawing.Point(0, 604);
this.groupPanelWcnTrnResp.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.groupPanelWcnTrnResp.Name = "groupPanelWcnTrnResp";
this.groupPanelWcnTrnResp.Size = new System.Drawing.Size(202, 138);
@ -690,7 +690,7 @@ namespace Volian.Controls.Library
this.groupPanelFigSize.Controls.Add(this.lblFSWidth);
this.groupPanelFigSize.DisabledBackColor = System.Drawing.Color.Empty;
this.groupPanelFigSize.Dock = System.Windows.Forms.DockStyle.Top;
this.groupPanelFigSize.Location = new System.Drawing.Point(0, 656);
this.groupPanelFigSize.Location = new System.Drawing.Point(0, 742);
this.groupPanelFigSize.Margin = new System.Windows.Forms.Padding(2);
this.groupPanelFigSize.Name = "groupPanelFigSize";
this.groupPanelFigSize.Size = new System.Drawing.Size(202, 135);
@ -797,6 +797,16 @@ namespace Volian.Controls.Library
this.lblFSWidth.TabIndex = 0;
this.lblFSWidth.Text = "Width";
//
// btnSaveChangeID
//
this.btnSaveChangeID.Location = new System.Drawing.Point(86, 65);
this.btnSaveChangeID.Name = "btnSaveChangeID";
this.btnSaveChangeID.Size = new System.Drawing.Size(75, 23);
this.btnSaveChangeID.TabIndex = 5;
this.btnSaveChangeID.Text = "Save";
this.btnSaveChangeID.UseVisualStyleBackColor = true;
this.btnSaveChangeID.Click += new System.EventHandler(this.btnSaveChangeID_Click);
//
// DisplayTags
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@ -816,7 +826,6 @@ namespace Volian.Controls.Library
this.groupPanelPaginate.PerformLayout();
this.groupPanelCheckoff.ResumeLayout(false);
this.groupPanelcmbShwRplWds.ResumeLayout(false);
this.groupPanelCheckoff.PerformLayout();
this.groupPanelcmbShwRplWds.PerformLayout();
this.groupPanelChgBar.ResumeLayout(false);
this.groupPanelChgBar.PerformLayout();
@ -869,5 +878,6 @@ namespace Volian.Controls.Library
private DevComponents.DotNetBar.Controls.CheckBoxX cbIncludeInTOC;
private DevComponents.DotNetBar.Controls.CheckBoxX cbTCAS;
private DevComponents.DotNetBar.Controls.CheckBoxX cbInitialLine;
private System.Windows.Forms.Button btnSaveChangeID;
}
}

View File

@ -142,6 +142,7 @@ namespace Volian.Controls.Library
tbChgID.Text = "";
tbChgID.Enabled = false;
lblChgId.Visible = tbChgID.Visible = false;
btnSaveChangeID.Enabled = btnSaveChangeID.Visible = false;
CurItemInfo = null;
cbInitialLine.Visible = cbInitialLine.Enabled = false;
@ -521,9 +522,10 @@ namespace Volian.Controls.Library
tbChgID.Text = sc1.Step_ChangeID;
tbChgID.Enabled = true;
lblChgId.Visible = tbChgID.Visible = true;
btnSaveChangeID.Enabled = btnSaveChangeID.Visible = true;
}
else
lblChgId.Visible = tbChgID.Visible = false;
lblChgId.Visible = tbChgID.Visible = btnSaveChangeID.Enabled = btnSaveChangeID.Visible = false;
// Walk up tree until this step type's parentType is "Base". Start adding menuitems from this step type.
StepData top = fmtdata.StepDataList[formatSteptype];
@ -903,18 +905,6 @@ namespace Volian.Controls.Library
}
#endregion
private void tbChgID_TextChanged(object sender, EventArgs e)
{
MyEditItem.SaveContents();
StepConfig sc = CurItemInfo.MyConfig as StepConfig;
// if the changeID changed, then reset the change bar override
// B2021-029: don't change changeid if the config & text box are both empty
if (sc.Step_ChangeID != tbChgID.Text && sc.Step_ChangeID != null && tbChgID.Text != "")
{
sc.Step_ChangeID = tbChgID.Text;
sc.Step_CBOverride = null;
}
}
#region WCNTRN format
// The following supports the Wolf Creek Training format/Responsibility data
// off of the High Level Step
@ -1037,6 +1027,22 @@ namespace Volian.Controls.Library
}
//B2025-010 PROMS -Fixed issues updating Changeid
// Changed to a Save button instead of onTextChanged
// Also was issue where sometimes would lave last character / digit (not allowing the change id to be completely removed)
private void btnSaveChangeID_Click(object sender, EventArgs e)
{
MyEditItem.SaveContents();
StepConfig sc = CurItemInfo.MyConfig as StepConfig;
// if the changeID changed, then reset the change bar override
// B2021-029: don't change changeid if the config & text box are both empty
if (sc.Step_ChangeID != tbChgID.Text && (!string.IsNullOrEmpty(sc.Step_ChangeID) || !string.IsNullOrEmpty(tbChgID.Text)))
{
sc.Step_ChangeID = tbChgID.Text;
sc.Step_CBOverride = null;
}
}
//private void txbxAltConActSumText_Leave(object sender, EventArgs e)
//{
// // User left Atlernate Continuous Action Text field. If text changed, then prompt