diff --git a/PROMS/ReferencedObjects/Exe/RefObj/ROEditor/ROEditor.cs b/PROMS/ReferencedObjects/Exe/RefObj/ROEditor/ROEditor.cs index bdfb3d0f..806ee734 100644 --- a/PROMS/ReferencedObjects/Exe/RefObj/ROEditor/ROEditor.cs +++ b/PROMS/ReferencedObjects/Exe/RefObj/ROEditor/ROEditor.cs @@ -1154,7 +1154,10 @@ namespace ROEditor tbtnCancel.Enabled = true; tbtnSave.Enabled = true; tbtnRestore.Enabled = true; - tbtnSaveAs.Enabled = true; + if (newone == null) + { tbtnSaveAs.Enabled = true; } + else + { tbtnSaveAs.Enabled = false; } } menuROSave.Enabled = tbtnSave.Enabled; } @@ -1170,7 +1173,10 @@ namespace ROEditor tbtnSave.Enabled = true; tbtnRestore.Enabled = true; - tbtnSaveAs.Enabled = true; + if (newone == null) + { tbtnSaveAs.Enabled = true; } + else + { tbtnSaveAs.Enabled = false; } tbtnCancel.Enabled = true; menuROSave.Enabled = tbtnSave.Enabled; //B2021-080 set the mysavexml flag to true to ensure the text change will be saved @@ -2392,20 +2398,26 @@ namespace ROEditor */ private void menuRODelete_Click(object sender, System.EventArgs e) { - bool success=false; - XmlNode nd = (XmlNode) roTreeView.SelectedNode.Tag; - if (nd.ParentNode.Name == "RO_Root") - success = myrodb.RODB_DeleteGroup(nd,null,null); - else - success = myrodb.RODB_DeleteRO(nd); - if (success == true) + string msgstr = "It is recommended that you may wish to create a backup zip of your RO folder prior to performing deletions.\n\nAre you sure you wish to delete the selected RO/RO Group?"; + + DialogResult AnswerYN = MessageBox.Show(msgstr, "Deleting ROs/RO Group", MessageBoxButtons.YesNo); + if (AnswerYN == DialogResult.Yes) { - // remove from xml tree & the tree control - XmlNode parent = nd.ParentNode; - parent.RemoveChild(nd); - updateRoListView(roTreeView.SelectedNode.Parent); - roTreeView.SelectedNode.Remove(); - roTreeView.Refresh(); + bool success = false; + XmlNode nd = (XmlNode)roTreeView.SelectedNode.Tag; + if (nd.ParentNode.Name == "RO_Root") + success = myrodb.RODB_DeleteGroup(nd, null, null); + else + success = myrodb.RODB_DeleteRO(nd); + if (success == true) + { + // remove from xml tree & the tree control + XmlNode parent = nd.ParentNode; + parent.RemoveChild(nd); + updateRoListView(roTreeView.SelectedNode.Parent); + roTreeView.SelectedNode.Remove(); + roTreeView.Refresh(); + } } } @@ -2616,7 +2628,6 @@ namespace ROEditor success = ctlXMLEdit2.SaveData(); if (!success) { - MessageBox.Show("Save Failed"); return false; } VlnXmlElement myro; @@ -2732,7 +2743,6 @@ namespace ROEditor if (!success) { tbtnRestore.Enabled = false; // old data may not be around - MessageBox.Show("Save Failed"); return; } diff --git a/PROMS/ReferencedObjects/LibSource/ctlXMLEditLib/ctlXMLEdit.cs b/PROMS/ReferencedObjects/LibSource/ctlXMLEditLib/ctlXMLEdit.cs index 9e1c5208..57a279a3 100644 --- a/PROMS/ReferencedObjects/LibSource/ctlXMLEditLib/ctlXMLEdit.cs +++ b/PROMS/ReferencedObjects/LibSource/ctlXMLEditLib/ctlXMLEdit.cs @@ -324,29 +324,17 @@ namespace ctlXMLEditLib string ROINI = Directory.GetCurrentDirectory()+ "\\ROAPP.INI"; // Get the default file extension for graphic files -// DefaultGraphicFileExtension = TheIniFile.GetINIKeyValueStr("ROApp","Extention","",5,"ROAPP.INI"); + // DefaultGraphicFileExtension = TheIniFile.GetINIKeyValueStr("ROApp","Extention","",5,"ROAPP.INI"); // Bug fix: B2006-025 // needed to pass the full path of ROAPP.INI + // B2025-007 only use the default file location (remove 16 bit PROMS location) IniReader in1 = new IniReader(ROINI); - DefaultGraphicFileExtension = in1.ReadString("ROApp","Extention",""); - if (DefaultGraphicFileExtension.Equals("")) - { - string ApplPathUp = ApplicationPath.ToUpper(); - int idx = ApplPathUp.IndexOf("VE-PROMS.NET\\BIN"); - if (idx >= 0) - { - string PromsINI = ApplicationPath.Substring(0, idx); - PromsINI += "VE-PROMS\\VEPROMS.INI"; - IniReader in2 = new IniReader(PromsINI); - DefaultGraphicFileExtension = in2.ReadString("Graphics", "defaultext", ".TIF"); - } - else - DefaultGraphicFileExtension = ".TIF"; - } -// if (File.Exists(PromsINI)) -// DefaultGraphicFileExtension = TheIniFile.GetINIKeyValueStr("Graphics","defaultext",".TIF",5,PromsINI); -// if (File.Exists("ROAPP.INI")) -// DefaultGraphicFileExtension = TheIniFile.GetINIKeyValueStr("ROApp","Extention",".TIF",5,"ROAPP.INI"); + DefaultGraphicFileExtension = in1.ReadString("ROApp", "Extention"); + if (string.IsNullOrEmpty(DefaultGraphicFileExtension)) DefaultGraphicFileExtension = in1.ReadString("ROApp", "Extension", ".TIF"); + // if (File.Exists(PromsINI)) + // DefaultGraphicFileExtension = TheIniFile.GetINIKeyValueStr("Graphics","defaultext",".TIF",5,PromsINI); + // if (File.Exists("ROAPP.INI")) + // DefaultGraphicFileExtension = TheIniFile.GetINIKeyValueStr("ROApp","Extention",".TIF",5,"ROAPP.INI"); if (!DefaultGraphicFileExtension.StartsWith(".")) DefaultGraphicFileExtension = "." + DefaultGraphicFileExtension; @@ -784,6 +772,7 @@ namespace ctlXMLEditLib dosaveflag = false; return (true); } + MessageBox.Show("Save Failed"); return (false); } @@ -1129,7 +1118,7 @@ namespace ctlXMLEditLib mylabel.BackColor = chlbckcolor; // PC Applic fields are shaded blue otherwise backcolor is transparent mylabel.Location = new Point(screenx+indent, screeny); mylabel.Name = (pcChildIdx == 0) ? CvtUserFldToFld(element.Name) : CvtUserFldToFld(pcChildFldName); - mylabel.Text = (applicLabel.Length > 0) ? applicLabel : CvtFldToUserFld(element.Name); // C2021-026 applicLabel is the P/C Child name + mylabel.Text = (applicLabel.Length > 0) ? applicLabel : CvtFldToUserFld(element.Name).Replace("Image_",""); // C2021-026 applicLabel is the P/C Child name mylabel.AutoSize = true; Controls.Add(mylabel); // add 3 onto screeny so that textbox is slightly below label. @@ -1484,12 +1473,15 @@ namespace ctlXMLEditLib if (fnamebox.Text != "" && fnamebox.Modified == true) { FileInfo ifi = new FileInfo(fnamebox.Text); - if (ifi.Exists == false) + if (ifi.Exists == false) { - MessageBoxButtons buttons = MessageBoxButtons.OK; - MessageBox.Show( "File does not exist.", - "File Input Error", buttons); - return; + FileInfo ifi2 = new FileInfo(fnamebox.Text + DefaultGraphicFileExtension); + if (!ifi2.Exists) + { + MessageBox.Show("File does not exist.", + "File Input Error", MessageBoxButtons.OK); + return; + } } bool ok = ValidGraphicsFile(fnamebox.Text); if (ok != true) @@ -1696,7 +1688,7 @@ namespace ctlXMLEditLib } catch (Exception ee) { - MessageBox.Show("Invalid Height Input",ee.ToString()); + MessageBox.Show("The Height and Width cannot be empty fields. Enter a number in either field and the other will automatically adjust to a proportional size.", "Invalid Height Input"); } } } @@ -1713,7 +1705,7 @@ namespace ctlXMLEditLib } catch (Exception ee) { - MessageBox.Show("Invalid Width Input", ee.ToString()); + MessageBox.Show("The Height and Width cannot be empty fields. Enter a number in either field and the other will automatically adjust to a proportional size.", "Invalid Width Input"); } } } diff --git a/PROMS/VEPROMS User Interface/Properties/Settings.Designer.cs b/PROMS/VEPROMS User Interface/Properties/Settings.Designer.cs index 596231d2..022d7469 100644 --- a/PROMS/VEPROMS User Interface/Properties/Settings.Designer.cs +++ b/PROMS/VEPROMS User Interface/Properties/Settings.Designer.cs @@ -328,6 +328,18 @@ namespace VEPROMS.Properties { } } + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool cbShwRplWrdsColor { + get { + return ((bool)(this["cbShwRplWrdsColor"])); + } + set { + this["cbShwRplWrdsColor"] = value; + } + } + [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSettingValueAttribute("False")] diff --git a/PROMS/VEPROMS User Interface/Properties/Settings.settings b/PROMS/VEPROMS User Interface/Properties/Settings.settings index 0aa63f53..193c02ad 100644 --- a/PROMS/VEPROMS User Interface/Properties/Settings.settings +++ b/PROMS/VEPROMS User Interface/Properties/Settings.settings @@ -80,6 +80,11 @@ True + + + False + + False diff --git a/PROMS/VEPROMS User Interface/frmSectionProperties.Designer.cs b/PROMS/VEPROMS User Interface/frmSectionProperties.Designer.cs index 05b9b99a..89a0898a 100644 --- a/PROMS/VEPROMS User Interface/frmSectionProperties.Designer.cs +++ b/PROMS/VEPROMS User Interface/frmSectionProperties.Designer.cs @@ -88,6 +88,12 @@ namespace VEPROMS this.btnFormat = new DevComponents.DotNetBar.ButtonX(); this.btnGeneral = new DevComponents.DotNetBar.ButtonX(); this.tcSectionProp = new DevComponents.DotNetBar.TabControl(); + this.tcpFormat = new DevComponents.DotNetBar.TabControlPanel(); + this.ppCbShowRplWords = new System.Windows.Forms.CheckBox(); + this.rbWordSect = new DevComponents.DotNetBar.Controls.CheckBoxX(); + this.rbStepSect = new DevComponents.DotNetBar.Controls.CheckBoxX(); + this.ppGpbxSignoffCheckoff = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.tiFormat = new DevComponents.DotNetBar.TabItem(this.components); this.tcpGeneral = new DevComponents.DotNetBar.TabControlPanel(); this.ppCbAutoIndent = new System.Windows.Forms.CheckBox(); this.ppCbEditableData = new System.Windows.Forms.CheckBox(); @@ -95,11 +101,6 @@ namespace VEPROMS this.ppSectNumberStpRTB = new Volian.Controls.Library.StepRTB(this.components); this.ppSectTitleStpRTB = new Volian.Controls.Library.StepRTB(this.components); this.tiGeneral = new DevComponents.DotNetBar.TabItem(this.components); - this.tcpFormat = new DevComponents.DotNetBar.TabControlPanel(); - this.rbWordSect = new DevComponents.DotNetBar.Controls.CheckBoxX(); - this.rbStepSect = new DevComponents.DotNetBar.Controls.CheckBoxX(); - this.ppGpbxSignoffCheckoff = new DevComponents.DotNetBar.Controls.GroupPanel(); - this.tiFormat = new DevComponents.DotNetBar.TabItem(this.components); this.tcpAutomation = new DevComponents.DotNetBar.TabControlPanel(); this.ppCbNoDuplexFoldout = new System.Windows.Forms.CheckBox(); this.gpTOC = new DevComponents.DotNetBar.Controls.GroupPanel(); @@ -120,9 +121,9 @@ namespace VEPROMS this.panSectBtns.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.tcSectionProp)).BeginInit(); this.tcSectionProp.SuspendLayout(); - this.tcpGeneral.SuspendLayout(); this.tcpFormat.SuspendLayout(); this.ppGpbxSignoffCheckoff.SuspendLayout(); + this.tcpGeneral.SuspendLayout(); this.tcpAutomation.SuspendLayout(); this.gpTOC.SuspendLayout(); this.grpLnkEnh.SuspendLayout(); @@ -871,8 +872,8 @@ namespace VEPROMS this.tcSectionProp.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.tcSectionProp.BackColor = System.Drawing.Color.Transparent; this.tcSectionProp.CanReorderTabs = true; - this.tcSectionProp.Controls.Add(this.tcpGeneral); this.tcSectionProp.Controls.Add(this.tcpFormat); + this.tcSectionProp.Controls.Add(this.tcpGeneral); this.tcSectionProp.Controls.Add(this.tcpAutomation); this.tcSectionProp.Controls.Add(this.tcpLibDoc); this.tcSectionProp.Controls.Add(this.tabControlPanel4); @@ -892,6 +893,151 @@ namespace VEPROMS this.tcSectionProp.TabsVisible = false; this.tcSectionProp.Text = "tabControl2"; // + // tcpFormat + // + this.tcpFormat.Controls.Add(this.ppCbShowRplWords); + this.tcpFormat.Controls.Add(this.cbIsFoldoutSection); + this.tcpFormat.Controls.Add(this.ppCbDefaultStepSection); + this.tcpFormat.Controls.Add(this.cbKeepWordDocMargins); + this.tcpFormat.Controls.Add(this.ppLblDefaultNumColumns); + this.tcpFormat.Controls.Add(this.ppLblDefPaginationStyle); + this.tcpFormat.Controls.Add(this.ppBtnDefaultNumColumns); + this.tcpFormat.Controls.Add(this.ppBtnDefaultPaginationStyle); + this.tcpFormat.Controls.Add(this.rbWordSect); + this.tcpFormat.Controls.Add(this.rbStepSect); + this.tcpFormat.Controls.Add(this.ppGpbxSignoffCheckoff); + this.tcpFormat.Controls.Add(this.lblFormat); + this.tcpFormat.Controls.Add(this.ppCmbxNumColumns); + this.tcpFormat.Controls.Add(this.lblColumns); + this.tcpFormat.Controls.Add(this.ppCmbxSectPagination); + this.tcpFormat.Controls.Add(this.lblSectType); + this.tcpFormat.Controls.Add(this.ppCmbxStyleSectionType); + this.tcpFormat.Controls.Add(this.lblPagination); + this.tcpFormat.Controls.Add(this.ppBtnDefaultFmt); + this.tcpFormat.Controls.Add(this.ppCmbxFormat); + this.tcpFormat.Controls.Add(this.ppLblFormatDefault); + this.tcpFormat.DisabledBackColor = System.Drawing.Color.Empty; + this.tcpFormat.Dock = System.Windows.Forms.DockStyle.Fill; + this.tcpFormat.Location = new System.Drawing.Point(0, 22); + this.tcpFormat.Margin = new System.Windows.Forms.Padding(2); + this.tcpFormat.Name = "tcpFormat"; + this.tcpFormat.Padding = new System.Windows.Forms.Padding(1); + this.tcpFormat.Size = new System.Drawing.Size(557, 318); + this.tcpFormat.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(253)))), ((int)(((byte)(253)))), ((int)(((byte)(254))))); + this.tcpFormat.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(157)))), ((int)(((byte)(188)))), ((int)(((byte)(227))))); + this.tcpFormat.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.tcpFormat.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(146)))), ((int)(((byte)(165)))), ((int)(((byte)(199))))); + this.tcpFormat.Style.BorderSide = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Left | DevComponents.DotNetBar.eBorderSide.Right) + | DevComponents.DotNetBar.eBorderSide.Bottom))); + this.tcpFormat.Style.GradientAngle = 90; + this.tcpFormat.TabIndex = 2; + this.tcpFormat.TabItem = this.tiFormat; + this.tcpFormat.Enter += new System.EventHandler(this.tabpage_Enter); + // + // ppCbShowRplWords + // + this.ppCbShowRplWords.AutoSize = true; + this.ppCbShowRplWords.BackColor = System.Drawing.Color.Transparent; + this.ppCbShowRplWords.Location = new System.Drawing.Point(272, 252); + this.ppCbShowRplWords.Name = "ppCbShowRplWords"; + this.ppCbShowRplWords.Size = new System.Drawing.Size(130, 17); + this.ppCbShowRplWords.TabIndex = 62; + this.ppCbShowRplWords.Text = "Show Replace Words"; + this.ppCbShowRplWords.UseVisualStyleBackColor = false; + this.ppCbShowRplWords.CheckedChanged += new System.EventHandler(this.ppCbShowRplWords_CheckedChanged); + // + // rbWordSect + // + this.rbWordSect.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.rbWordSect.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.rbWordSect.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; + this.rbWordSect.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.rbWordSect.Location = new System.Drawing.Point(247, 60); + this.rbWordSect.Margin = new System.Windows.Forms.Padding(2); + this.rbWordSect.Name = "rbWordSect"; + this.rbWordSect.Size = new System.Drawing.Size(88, 19); + this.rbWordSect.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.rbWordSect.TabIndex = 23; + this.rbWordSect.TabStop = false; + this.rbWordSect.Text = "Word Section"; + // + // rbStepSect + // + this.rbStepSect.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.rbStepSect.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.rbStepSect.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; + this.rbStepSect.Checked = true; + this.rbStepSect.CheckState = System.Windows.Forms.CheckState.Checked; + this.rbStepSect.CheckValue = "Y"; + this.rbStepSect.FocusCuesEnabled = false; + this.rbStepSect.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.rbStepSect.Location = new System.Drawing.Point(138, 60); + this.rbStepSect.Margin = new System.Windows.Forms.Padding(2); + this.rbStepSect.Name = "rbStepSect"; + this.rbStepSect.Size = new System.Drawing.Size(86, 19); + this.rbStepSect.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.rbStepSect.TabIndex = 22; + this.rbStepSect.TabStop = false; + this.rbStepSect.Text = "Step Section"; + this.rbStepSect.CheckedChanged += new System.EventHandler(this.rbStepSect_CheckedChanged); + // + // ppGpbxSignoffCheckoff + // + this.ppGpbxSignoffCheckoff.BackColor = System.Drawing.Color.Transparent; + this.ppGpbxSignoffCheckoff.CanvasColor = System.Drawing.SystemColors.Control; + this.ppGpbxSignoffCheckoff.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.ppGpbxSignoffCheckoff.Controls.Add(this.ppCmbxCheckoffHeading); + this.ppGpbxSignoffCheckoff.Controls.Add(this.lblCheckoffType); + this.ppGpbxSignoffCheckoff.Controls.Add(this.ppCmbxCheckoffType); + this.ppGpbxSignoffCheckoff.Controls.Add(this.lblCheckoffHeading); + this.ppGpbxSignoffCheckoff.DisabledBackColor = System.Drawing.Color.Empty; + this.ppGpbxSignoffCheckoff.Location = new System.Drawing.Point(272, 123); + this.ppGpbxSignoffCheckoff.Margin = new System.Windows.Forms.Padding(2); + this.ppGpbxSignoffCheckoff.Name = "ppGpbxSignoffCheckoff"; + this.ppGpbxSignoffCheckoff.Size = new System.Drawing.Size(206, 117); + // + // + // + this.ppGpbxSignoffCheckoff.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.ppGpbxSignoffCheckoff.Style.BackColorGradientAngle = 90; + this.ppGpbxSignoffCheckoff.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.ppGpbxSignoffCheckoff.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.ppGpbxSignoffCheckoff.Style.BorderBottomWidth = 1; + this.ppGpbxSignoffCheckoff.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.ppGpbxSignoffCheckoff.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.ppGpbxSignoffCheckoff.Style.BorderLeftWidth = 1; + this.ppGpbxSignoffCheckoff.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.ppGpbxSignoffCheckoff.Style.BorderRightWidth = 1; + this.ppGpbxSignoffCheckoff.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.ppGpbxSignoffCheckoff.Style.BorderTopWidth = 1; + this.ppGpbxSignoffCheckoff.Style.CornerDiameter = 4; + this.ppGpbxSignoffCheckoff.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.ppGpbxSignoffCheckoff.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.ppGpbxSignoffCheckoff.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.ppGpbxSignoffCheckoff.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.ppGpbxSignoffCheckoff.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ppGpbxSignoffCheckoff.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ppGpbxSignoffCheckoff.TabIndex = 51; + this.ppGpbxSignoffCheckoff.Text = "Signoffs / Checkoffs"; + // + // tiFormat + // + this.tiFormat.AttachedControl = this.tcpFormat; + this.tiFormat.Name = "tiFormat"; + this.tiFormat.Text = "Format"; + // // tcpGeneral // this.tcpGeneral.Controls.Add(this.ppCbAutoIndent); @@ -1046,138 +1192,6 @@ namespace VEPROMS this.tiGeneral.Name = "tiGeneral"; this.tiGeneral.Text = "General"; // - // tcpFormat - // - this.tcpFormat.Controls.Add(this.cbIsFoldoutSection); - this.tcpFormat.Controls.Add(this.ppCbDefaultStepSection); - this.tcpFormat.Controls.Add(this.cbKeepWordDocMargins); - this.tcpFormat.Controls.Add(this.ppLblDefaultNumColumns); - this.tcpFormat.Controls.Add(this.ppLblDefPaginationStyle); - this.tcpFormat.Controls.Add(this.ppBtnDefaultNumColumns); - this.tcpFormat.Controls.Add(this.ppBtnDefaultPaginationStyle); - this.tcpFormat.Controls.Add(this.rbWordSect); - this.tcpFormat.Controls.Add(this.rbStepSect); - this.tcpFormat.Controls.Add(this.ppGpbxSignoffCheckoff); - this.tcpFormat.Controls.Add(this.lblFormat); - this.tcpFormat.Controls.Add(this.ppCmbxNumColumns); - this.tcpFormat.Controls.Add(this.lblColumns); - this.tcpFormat.Controls.Add(this.ppCmbxSectPagination); - this.tcpFormat.Controls.Add(this.lblSectType); - this.tcpFormat.Controls.Add(this.ppCmbxStyleSectionType); - this.tcpFormat.Controls.Add(this.lblPagination); - this.tcpFormat.Controls.Add(this.ppBtnDefaultFmt); - this.tcpFormat.Controls.Add(this.ppCmbxFormat); - this.tcpFormat.Controls.Add(this.ppLblFormatDefault); - this.tcpFormat.DisabledBackColor = System.Drawing.Color.Empty; - this.tcpFormat.Dock = System.Windows.Forms.DockStyle.Fill; - this.tcpFormat.Location = new System.Drawing.Point(0, 22); - this.tcpFormat.Margin = new System.Windows.Forms.Padding(2); - this.tcpFormat.Name = "tcpFormat"; - this.tcpFormat.Padding = new System.Windows.Forms.Padding(1); - this.tcpFormat.Size = new System.Drawing.Size(557, 318); - this.tcpFormat.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(253)))), ((int)(((byte)(253)))), ((int)(((byte)(254))))); - this.tcpFormat.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(157)))), ((int)(((byte)(188)))), ((int)(((byte)(227))))); - this.tcpFormat.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; - this.tcpFormat.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(146)))), ((int)(((byte)(165)))), ((int)(((byte)(199))))); - this.tcpFormat.Style.BorderSide = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Left | DevComponents.DotNetBar.eBorderSide.Right) - | DevComponents.DotNetBar.eBorderSide.Bottom))); - this.tcpFormat.Style.GradientAngle = 90; - this.tcpFormat.TabIndex = 2; - this.tcpFormat.TabItem = this.tiFormat; - this.tcpFormat.Enter += new System.EventHandler(this.tabpage_Enter); - // - // rbWordSect - // - this.rbWordSect.BackColor = System.Drawing.Color.Transparent; - // - // - // - this.rbWordSect.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.rbWordSect.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; - this.rbWordSect.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.rbWordSect.Location = new System.Drawing.Point(247, 60); - this.rbWordSect.Margin = new System.Windows.Forms.Padding(2); - this.rbWordSect.Name = "rbWordSect"; - this.rbWordSect.Size = new System.Drawing.Size(88, 19); - this.rbWordSect.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.rbWordSect.TabIndex = 23; - this.rbWordSect.TabStop = false; - this.rbWordSect.Text = "Word Section"; - // - // rbStepSect - // - this.rbStepSect.BackColor = System.Drawing.Color.Transparent; - // - // - // - this.rbStepSect.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.rbStepSect.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; - this.rbStepSect.Checked = true; - this.rbStepSect.CheckState = System.Windows.Forms.CheckState.Checked; - this.rbStepSect.CheckValue = "Y"; - this.rbStepSect.FocusCuesEnabled = false; - this.rbStepSect.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.rbStepSect.Location = new System.Drawing.Point(138, 60); - this.rbStepSect.Margin = new System.Windows.Forms.Padding(2); - this.rbStepSect.Name = "rbStepSect"; - this.rbStepSect.Size = new System.Drawing.Size(86, 19); - this.rbStepSect.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.rbStepSect.TabIndex = 22; - this.rbStepSect.TabStop = false; - this.rbStepSect.Text = "Step Section"; - this.rbStepSect.CheckedChanged += new System.EventHandler(this.rbStepSect_CheckedChanged); - // - // ppGpbxSignoffCheckoff - // - this.ppGpbxSignoffCheckoff.BackColor = System.Drawing.Color.Transparent; - this.ppGpbxSignoffCheckoff.CanvasColor = System.Drawing.SystemColors.Control; - this.ppGpbxSignoffCheckoff.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; - this.ppGpbxSignoffCheckoff.Controls.Add(this.ppCmbxCheckoffHeading); - this.ppGpbxSignoffCheckoff.Controls.Add(this.lblCheckoffType); - this.ppGpbxSignoffCheckoff.Controls.Add(this.ppCmbxCheckoffType); - this.ppGpbxSignoffCheckoff.Controls.Add(this.lblCheckoffHeading); - this.ppGpbxSignoffCheckoff.DisabledBackColor = System.Drawing.Color.Empty; - this.ppGpbxSignoffCheckoff.Location = new System.Drawing.Point(272, 123); - this.ppGpbxSignoffCheckoff.Margin = new System.Windows.Forms.Padding(2); - this.ppGpbxSignoffCheckoff.Name = "ppGpbxSignoffCheckoff"; - this.ppGpbxSignoffCheckoff.Size = new System.Drawing.Size(206, 117); - // - // - // - this.ppGpbxSignoffCheckoff.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; - this.ppGpbxSignoffCheckoff.Style.BackColorGradientAngle = 90; - this.ppGpbxSignoffCheckoff.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; - this.ppGpbxSignoffCheckoff.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.ppGpbxSignoffCheckoff.Style.BorderBottomWidth = 1; - this.ppGpbxSignoffCheckoff.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.ppGpbxSignoffCheckoff.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.ppGpbxSignoffCheckoff.Style.BorderLeftWidth = 1; - this.ppGpbxSignoffCheckoff.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.ppGpbxSignoffCheckoff.Style.BorderRightWidth = 1; - this.ppGpbxSignoffCheckoff.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.ppGpbxSignoffCheckoff.Style.BorderTopWidth = 1; - this.ppGpbxSignoffCheckoff.Style.CornerDiameter = 4; - this.ppGpbxSignoffCheckoff.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; - this.ppGpbxSignoffCheckoff.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; - this.ppGpbxSignoffCheckoff.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; - this.ppGpbxSignoffCheckoff.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; - // - // - // - this.ppGpbxSignoffCheckoff.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; - // - // - // - this.ppGpbxSignoffCheckoff.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ppGpbxSignoffCheckoff.TabIndex = 51; - this.ppGpbxSignoffCheckoff.Text = "Signoffs / Checkoffs"; - // - // tiFormat - // - this.tiFormat.AttachedControl = this.tcpFormat; - this.tiFormat.Name = "tiFormat"; - this.tiFormat.Text = "Format"; - // // tcpAutomation // this.tcpAutomation.Controls.Add(this.ppCbNoDuplexFoldout); @@ -1465,7 +1479,7 @@ namespace VEPROMS this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.CaptionFont = new System.Drawing.Font("Microsoft Sans Serif", 10.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.ClientSize = new System.Drawing.Size(730, 398); + this.ClientSize = new System.Drawing.Size(722, 390); this.ControlBox = false; this.Controls.Add(this.tcSectionProp); this.Controls.Add(this.panSectBtns); @@ -1489,12 +1503,12 @@ namespace VEPROMS this.panSectBtns.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.tcSectionProp)).EndInit(); this.tcSectionProp.ResumeLayout(false); - this.tcpGeneral.ResumeLayout(false); - this.tcpGeneral.PerformLayout(); this.tcpFormat.ResumeLayout(false); this.tcpFormat.PerformLayout(); this.ppGpbxSignoffCheckoff.ResumeLayout(false); this.ppGpbxSignoffCheckoff.PerformLayout(); + this.tcpGeneral.ResumeLayout(false); + this.tcpGeneral.PerformLayout(); this.tcpAutomation.ResumeLayout(false); this.tcpAutomation.PerformLayout(); this.gpTOC.ResumeLayout(false); @@ -1598,5 +1612,6 @@ namespace VEPROMS private DevComponents.DotNetBar.ButtonX ppBtnConvertToDocX; private System.Windows.Forms.CheckBox cbIsFoldoutSection; private System.Windows.Forms.CheckBox ppCbNoDuplexFoldout; - } + private System.Windows.Forms.CheckBox ppCbShowRplWords; + } } diff --git a/PROMS/VEPROMS User Interface/frmSectionProperties.cs b/PROMS/VEPROMS User Interface/frmSectionProperties.cs index f3346895..3c168a16 100644 --- a/PROMS/VEPROMS User Interface/frmSectionProperties.cs +++ b/PROMS/VEPROMS User Interface/frmSectionProperties.cs @@ -523,6 +523,23 @@ namespace VEPROMS else ppCbDefaultStepSection.Text = "Make this the Default Step Section"; } + // Show Replace Words + ppCbShowRplWords.Visible = false; + if (_isStepSection && _SectionConfig.MySection.MySectionInfo.MyActiveParent.IsProcedure) + { + ppCbShowRplWords.Visible = true; + ppCbShowRplWords.Checked = _SectionConfig.Section_ShwRplWords == "Y"; + // Use checkbox text to clarify what is case for this section, i.e. is it already + // the default or can it be set. Note that this is used when printing of page numbers + // that use the 'WithSteps' numbering sequence. + if (_SectionConfig.Section_OriginalSteps == "Y") + { + ppCbShowRplWords.Text = "Show Replace Words"; // C2020-021 add the word "the" + _isDefaultStepSection = true; + } + else + ppCbShowRplWords.Text = "Show Replace Words"; + } // if the parent has enhanced documents (and is not an enhanced document, i.e. the test // ed.Type != 0 proves that) put up the group panel on the automation tab that allows for setting of @@ -1211,6 +1228,7 @@ namespace VEPROMS ppGpbxSignoffCheckoff.Visible = _isStepSection; cbKeepWordDocMargins.Visible = !_isStepSection; ppCbDefaultStepSection.Visible = _isStepSection; + ppCbShowRplWords.Visible = _isStepSection; } private void rbStepSect_CheckedChanged(object sender, EventArgs e) @@ -1380,7 +1398,8 @@ namespace VEPROMS _SectionConfig.Section_OriginalSteps = ppCbDefaultStepSection.Checked ? "Y" : "N"; } } - private void ppBtnConvertToDocX_Click(object sender, EventArgs e) + + private void ppBtnConvertToDocX_Click(object sender, EventArgs e) { // Get Document as file ItemInfo ii = ItemInfo.Get(_SectionConfig.MySection.ItemID); @@ -1447,6 +1466,14 @@ namespace VEPROMS { _SectionConfig.Section_DontIncludeDuplexFoldout = ppCbNoDuplexFoldout.Checked; } + // C2029-025 Show or hide replace words. Can highlight replace words in editor. + private void ppCbShowRplWords_CheckedChanged(object sender, EventArgs e) + { + if (!_Initializing) + { + _SectionConfig.Section_ShwRplWords = ppCbShowRplWords.Checked ? "Y" : "N"; + } + } //private void ppBtnDefaultPrintSize_Click(object sender, EventArgs e) //{ diff --git a/PROMS/VEPROMS User Interface/frmSectionProperties.resx b/PROMS/VEPROMS User Interface/frmSectionProperties.resx index 29543463..a08cb962 100644 --- a/PROMS/VEPROMS User Interface/frmSectionProperties.resx +++ b/PROMS/VEPROMS User Interface/frmSectionProperties.resx @@ -142,8 +142,11 @@ When a format other than the inherited one is selected, a button labeled "Defaul Pressing the "Default" button will revert back to using the inherited format for this section. + + 128, 18 + - If the format supports duplex Foldouts: + If the format supports duplex Foldouts: - This can be used to turn On duplexing of the Foldout instead of using "FOLDOUT" as the section number diff --git a/PROMS/VEPROMS User Interface/frmSysOptions.Designer.cs b/PROMS/VEPROMS User Interface/frmSysOptions.Designer.cs index 30a76f3c..d3f354d7 100644 --- a/PROMS/VEPROMS User Interface/frmSysOptions.Designer.cs +++ b/PROMS/VEPROMS User Interface/frmSysOptions.Designer.cs @@ -77,8 +77,10 @@ namespace VEPROMS this.btnReset = new DevComponents.DotNetBar.ButtonX(); this.superTooltip1 = new DevComponents.DotNetBar.SuperTooltip(); this.cbOTRemember = new DevComponents.DotNetBar.Controls.CheckBoxX(); + this.cbShwRplWrdsColor = new DevComponents.DotNetBar.Controls.CheckBoxX(); this.cbOTAutoOpen = new DevComponents.DotNetBar.Controls.CheckBoxX(); this.gpOpenTabs = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.gpShwRplWords = new DevComponents.DotNetBar.Controls.GroupPanel(); this.gpSystemColor.SuspendLayout(); this.panButtons.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.tcSysOpts)).BeginInit(); @@ -95,6 +97,7 @@ namespace VEPROMS this.gpTransRangeColor.SuspendLayout(); this.gpPropPageStyle.SuspendLayout(); this.gpOpenTabs.SuspendLayout(); + this.gpShwRplWords.SuspendLayout(); this.SuspendLayout(); // // btnCancel @@ -301,6 +304,7 @@ namespace VEPROMS // tabControlPanel3 // this.tabControlPanel3.Controls.Add(this.gpOpenTabs); + this.tabControlPanel3.Controls.Add(this.gpShwRplWords); this.tabControlPanel3.Controls.Add(this.grPanUCFImpOpt); this.tabControlPanel3.Controls.Add(this.gpVisioPath); this.tabControlPanel3.Controls.Add(this.gpSeparateWindows); @@ -1120,6 +1124,20 @@ namespace VEPROMS this.cbOTRemember.Text = "Remember Setting"; this.cbOTRemember.CheckedChanged += new System.EventHandler(this.cbOTRemember_CheckedChanged); // + // cbShwRplWrdsColor + // + // + this.cbShwRplWrdsColor.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.cbShwRplWrdsColor.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.cbShwRplWrdsColor.Location = new System.Drawing.Point(8, 5); + this.cbShwRplWrdsColor.Margin = new System.Windows.Forms.Padding(2); + this.cbShwRplWrdsColor.Name = "cbShwRplWrdsColor"; + this.cbShwRplWrdsColor.Size = new System.Drawing.Size(119, 19); + this.cbShwRplWrdsColor.TabIndex = 9; + this.cbShwRplWrdsColor.Text = "Color Replace Words"; + this.cbShwRplWrdsColor.CheckedChanged += new System.EventHandler(this.cbShwRplWrdsColor_CheckedChanged); + //this.cbShwRplWrdsColor.Checked; + // // cbOTAutoOpen // // @@ -1179,6 +1197,48 @@ namespace VEPROMS this.gpOpenTabs.TabIndex = 13; this.gpOpenTabs.Text = "Open Tabs"; // + // gpShwRplWords + // + this.gpShwRplWords.BackColor = System.Drawing.Color.Transparent; + this.gpShwRplWords.CanvasColor = System.Drawing.SystemColors.Control; + this.gpShwRplWords.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.gpShwRplWords.Controls.Add(this.cbShwRplWrdsColor); + this.gpShwRplWords.DisabledBackColor = System.Drawing.Color.Empty; + this.gpShwRplWords.Location = new System.Drawing.Point(462, 165); + this.gpShwRplWords.Margin = new System.Windows.Forms.Padding(2); + this.gpShwRplWords.Name = "gpShwRplWords"; + this.gpShwRplWords.Size = new System.Drawing.Size(139, 72); + // + // + // + this.gpShwRplWords.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.gpShwRplWords.Style.BackColorGradientAngle = 90; + this.gpShwRplWords.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.gpShwRplWords.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpShwRplWords.Style.BorderBottomWidth = 1; + this.gpShwRplWords.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.gpShwRplWords.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpShwRplWords.Style.BorderLeftWidth = 1; + this.gpShwRplWords.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpShwRplWords.Style.BorderRightWidth = 1; + this.gpShwRplWords.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpShwRplWords.Style.BorderTopWidth = 1; + this.gpShwRplWords.Style.CornerDiameter = 4; + this.gpShwRplWords.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.gpShwRplWords.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.gpShwRplWords.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.gpShwRplWords.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.gpShwRplWords.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.gpShwRplWords.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.gpShwRplWords.TabIndex = 13; + this.gpShwRplWords.Text = "Replace Words"; + // // frmSysOptions // this.AcceptButton = this.btnOK; @@ -1214,6 +1274,8 @@ namespace VEPROMS this.gpTransRangeColor.ResumeLayout(false); this.gpPropPageStyle.ResumeLayout(false); this.gpOpenTabs.ResumeLayout(false); + this.gpShwRplWords.ResumeLayout(false); + this.ResumeLayout(false); } @@ -1268,7 +1330,9 @@ namespace VEPROMS private DevComponents.DotNetBar.Controls.CheckBoxX cbUCFLNotUsed; private DevComponents.DotNetBar.Controls.CheckBoxX cbUCFIgnore; private DevComponents.DotNetBar.Controls.GroupPanel gpOpenTabs; + private DevComponents.DotNetBar.Controls.GroupPanel gpShwRplWords; private DevComponents.DotNetBar.Controls.CheckBoxX cbOTRemember; private DevComponents.DotNetBar.Controls.CheckBoxX cbOTAutoOpen; + private DevComponents.DotNetBar.Controls.CheckBoxX cbShwRplWrdsColor; } } diff --git a/PROMS/VEPROMS User Interface/frmSysOptions.cs b/PROMS/VEPROMS User Interface/frmSysOptions.cs index 43d5e349..2998f100 100644 --- a/PROMS/VEPROMS User Interface/frmSysOptions.cs +++ b/PROMS/VEPROMS User Interface/frmSysOptions.cs @@ -68,6 +68,7 @@ namespace VEPROMS colorPickerButton1.SelectedColor = Settings.Default.TransitionRangeColor; cbAnnotationPopup.Checked = Settings.Default.AutoPopUpAnnotations; cbStepTypeToolTip.Checked = Settings.Default.StepTypeToolTip; + cbShwRplWrdsColor.Checked = Settings.Default.cbShwRplWrdsColor; cbTVExpand.Checked = Settings.Default.SaveTreeviewExpanded; cbPasteNoReturns.Checked = Settings.Default.PasteNoReturns; cbPastePlainText.Checked = Settings.Default.PastePlainText; @@ -180,6 +181,7 @@ namespace VEPROMS private Color ss_TransRangeColor; private bool ss_PopUPAnnotations; private bool ss_StepTypeToolTip; + private bool ss_cbShwRplWrdsColor; private bool ss_SaveTreeviewExpanded; private bool ss_PasteNoReturns; private bool ss_PastePlainText; @@ -195,6 +197,8 @@ namespace VEPROMS ss_TransRangeColor = Settings.Default.TransitionRangeColor; ss_PopUPAnnotations = Settings.Default.AutoPopUpAnnotations; ss_StepTypeToolTip = Settings.Default.StepTypeToolTip; + + ss_cbShwRplWrdsColor = Settings.Default.cbShwRplWrdsColor; ss_SaveTreeviewExpanded = Settings.Default.SaveTreeviewExpanded; ss_PasteNoReturns = Settings.Default.PasteNoReturns; ss_PastePlainText = Settings.Default.PastePlainText; @@ -211,6 +215,7 @@ namespace VEPROMS Settings.Default.TransitionRangeColor = ss_TransRangeColor; Settings.Default.AutoPopUpAnnotations = ss_PopUPAnnotations; Settings.Default.StepTypeToolTip = ss_StepTypeToolTip; + Settings.Default.cbShwRplWrdsColor = ss_cbShwRplWrdsColor; Settings.Default.SaveTreeviewExpanded = ss_SaveTreeviewExpanded; Settings.Default.PasteNoReturns = ss_PasteNoReturns; Settings.Default.PastePlainText = ss_PastePlainText; @@ -344,10 +349,16 @@ namespace VEPROMS Settings.Default.UCFImportOpt = 4; } } - - private void cbOTRemember_CheckedChanged(object sender, EventArgs e) + private void cbOTRemember_CheckedChanged(object sender, EventArgs e) + { + cbOTAutoOpen.Enabled = cbOTAutoOpen.Visible = cbShwRplWrdsColor.Checked; + } + private void cbShwRplWrdsColor_CheckedChanged(object sender, EventArgs e) { - cbOTAutoOpen.Enabled = cbOTAutoOpen.Visible = cbOTRemember.Checked; - } + Settings.Default.cbShwRplWrdsColor = cbShwRplWrdsColor.Checked; + VlnSettings.cbShwRplWrdsColor = cbShwRplWrdsColor.Checked; + Properties.Settings.Default.cbShwRplWrdsColor = cbShwRplWrdsColor.Checked; // update setting value + Properties.Settings.Default.Save(); // save settings + } } } \ No newline at end of file diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.cs b/PROMS/VEPROMS User Interface/frmVEPROMS.cs index fb8e90dd..0b4d1e64 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.cs +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.cs @@ -524,6 +524,7 @@ namespace VEPROMS this.Activated += new EventHandler(frmVEPROMS_Activated); VlnSettings.StepTypeToolType = Settings.Default.StepTypeToolTip; + VlnSettings.cbShwRplWrdsColor = Settings.Default.cbShwRplWrdsColor; displayLibDocs.PrintRequest += new DisplayLibDocEvent(displayLibDocs_PrintRequest); ContentInfo.InfoChanged += new ContentInfoEvent(RefreshDisplayHistory); AnnotationInfo.InfoChanged += new AnnotationInfoEvent(RefreshDisplayHistory); @@ -816,6 +817,11 @@ namespace VEPROMS set { frmVEPROMS._ErrorLogFileName = value; } } + public static bool colorReplaceWords() + { + return Properties.Settings.Default.cbShwRplWrdsColor; + } + static bool ChangeLogFileName(string AppenderName, string NewFilename) { log4net.Repository.ILoggerRepository RootRep; diff --git a/PROMS/VEPROMS.CSLA.Library/Config/FormatConfig.cs b/PROMS/VEPROMS.CSLA.Library/Config/FormatConfig.cs index a60f7dc5..004c33c7 100644 --- a/PROMS/VEPROMS.CSLA.Library/Config/FormatConfig.cs +++ b/PROMS/VEPROMS.CSLA.Library/Config/FormatConfig.cs @@ -517,6 +517,57 @@ namespace VEPROMS.CSLA.Library } } #endregion CheckOff + #region ShwRplWds + [Serializable] + [TypeConverter(typeof(ExpandableObjectConverter))] + public class ShwRplWds + { + private string _MenuItem; + [XmlAttribute("MenuItem")] + [Browsable(false)] + public string MenuItem + { + get { return _MenuItem; } + set { _MenuItem = value; } + } + private string _Index; + [XmlAttribute("Index")] + [Browsable(false)] // Don't show in the property grid + public string Index + { + get { return _Index; } + set { _Index = value; } + } + + private bool? _Active; + [DisplayName("Active ShwRplWds")] + [Description("Allow use of this ShwRplWds")] + public bool? Active + { + get { return _Active; } + set { _Active = value; } + } + private bool? _OrigActive; + [XmlIgnore] + [Browsable(false)] + public bool? OrigActive + { + get { return _OrigActive; } + set { _OrigActive = value; } + } + public ShwRplWds() + { + } + public string ConvertToString() + { + return GenericSerializer.StringSerialize(this); + } + public override string ToString() + { + return MenuItem; + } + } + #endregion ShwRplWds #region StepData (list) [Serializable] [TypeConverter(typeof(ExpandableObjectConverter))] diff --git a/PROMS/VEPROMS.CSLA.Library/Config/SectionConfig.cs b/PROMS/VEPROMS.CSLA.Library/Config/SectionConfig.cs index 2861d52e..dc6fe4dc 100644 --- a/PROMS/VEPROMS.CSLA.Library/Config/SectionConfig.cs +++ b/PROMS/VEPROMS.CSLA.Library/Config/SectionConfig.cs @@ -528,6 +528,24 @@ namespace VEPROMS.CSLA.Library OnPropertyChanged("Section_OriginalSteps"); } } + [Browsable(false)] + [DisplayName("Section ShowReplaceWords")] + [RefreshProperties(RefreshProperties.All)] + [Description("Section ShowReplaceWords")] + public string Section_ShwRplWords + { + get + { + //return _Xp["Section", "ShwRplWords"]; + string tmp = _Xp["Section", "ShwRplWords"]; + return tmp == null || tmp == "" ? "Y" : tmp; + } + set + { + _Xp["Section", "ShwRplWords"] = value; + OnPropertyChanged("Section_ShwRplWords"); + } + } [Category("Section")] //PROPGRID: Hide Section NumPages [Browsable(false)] diff --git a/PROMS/VEPROMS.CSLA.Library/Config/StepConfig.cs b/PROMS/VEPROMS.CSLA.Library/Config/StepConfig.cs index 6cc65f87..106e79a2 100644 --- a/PROMS/VEPROMS.CSLA.Library/Config/StepConfig.cs +++ b/PROMS/VEPROMS.CSLA.Library/Config/StepConfig.cs @@ -493,6 +493,34 @@ namespace VEPROMS.CSLA.Library OnPropertyChanged("Step_DisableInitialLine"); } } + //C2019-025 Ability to Toggle Replace Words + public int Step_ShwRplWdsIndex + { + get + { + string s = _Xp["Step", "ShwRplWdsIndex"]; + + if (s == string.Empty) return 0; + + if (s == "0") return 0; + + if (s == "1") return 1; + + if (s == "2") return 2; + + if (s == "3") return 3; + + return 0; + + } + set + { + string s = _Xp["Step", ""]; + if (value.ToString() == s) return; + _Xp["Step", "ShwRplWdsIndex"] = value.ToString(); + OnPropertyChanged("Step_ShwRplWdsIndex"); + } + } #region RO image sizing // if the RO image (figure) is resized, save it in the step config, not in the ROImageConfig. If stored in ROImageConfig // the size is set for ALL uses. diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/DisplayText.cs b/PROMS/VEPROMS.CSLA.Library/Extension/DisplayText.cs index 67c0602f..b8798d29 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/DisplayText.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/DisplayText.cs @@ -6,11 +6,18 @@ using System.Text.RegularExpressions; using System.Drawing; using Volian.Base.Library; using JR.Utils.GUI.Forms; +//using VEPROMS.colorReplaceWords; // This was moved from volian.controls.library namespace VEPROMS.CSLA.Library { public enum E_FieldToEdit { StepText, Text, Number, PSI }; + public enum ReplaceWords + { + Inherit = 0, + Show = 1, + DoNotShow = 2 + } public class DisplayText { private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); @@ -46,6 +53,45 @@ namespace VEPROMS.CSLA.Library return string.Empty; } } + private string ShwRplWords(ItemInfo _MyItemInfo) + { + //if (_Initalizing) return "N"; + //_MyItemInfo. + SectionConfig sc = _MyItemInfo.MyConfig as SectionConfig; + if (sc == null) return "N"; + return sc.Section_ShwRplWords; + } + // C2019-025 c2025-010 Ability-to-Toggle-Replace-Words + private bool ShwRplWdsIndex(ItemInfo _MyItemInfo) + { + StepConfig sc = _MyItemInfo.MyConfig as StepConfig; + int setting = sc.Step_ShwRplWdsIndex; + switch (setting) + { + case (int)ReplaceWords.DoNotShow: + return false; + break; + case (int)ReplaceWords.Show: + return true; + break; + case (int)ReplaceWords.Inherit: + //SectionConfig sc2 = _MyItemInfo.ActiveParent.MyConfig as SectionConfig; + SectionConfig sc2 = _MyItemInfo.ActiveSection.MyConfig as SectionConfig; + if (sc2 == null || sc2.Section_ShwRplWords == "Y") + { + return true; + } + else + { + return false; + } + break; + default: + return false; + break; + } + } + private Item _MyItem; private string EditText { @@ -357,9 +403,34 @@ namespace VEPROMS.CSLA.Library // But don't do ReplaceWords if the TurnOffReplaceWords format flag is set if (wordsShouldBeReplaced && !_MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.TurnOffReplaceWords) { + int profileDepth1 = ProfileTimer.Push(">>>> DoReplaceWords2"); - - text = DoReplaceWords2(text); + + // C2029-025 Show or hide replace words. Can highlight replace words in editor. + if (_MyItemInfo.IsSection) + { + string ShwRplWrds = ShwRplWords(_MyItemInfo); + if (ShwRplWrds == "Y") + { + text = DoReplaceWords2(text, epMode); + } + } + if (_MyItemInfo.IsStep) + { + bool ShwRplWrds = ShwRplWdsIndex(_MyItemInfo); + if (ShwRplWrds == true) + { + text = DoReplaceWords2(text, epMode); + } + } + + + if (_MyItemInfo.IsFolder || _MyItemInfo.IsProcedure) + { + text = DoReplaceWords2(text, epMode); + } + + ProfileTimer.Pop(profileDepth1); } if (_MyItemInfo != null && ROsShouldBeAdjusted) // B2017-019 - added check for ROsShouldBeAdjusted so that these token are not "cooked" on property pages @@ -2101,7 +2172,7 @@ namespace VEPROMS.CSLA.Library return (bool) _ProcessReplaceWords; } } - private string DoReplaceWords2(string Text) + private string DoReplaceWords2(string Text, E_EditPrintMode epMode) { if(!ProcessReplaceWords) return Text; // F2021-053: BNPP Alarm - need ability to have super/sub scripts in the text of Alarm Tables (ROs). @@ -2162,6 +2233,7 @@ namespace VEPROMS.CSLA.Library // CASEINSENS: Do ReplaceWords for all words that match, regardless of case, and replace with the ReplaceWith string as is //RegexOptions myOptions = (rs.Flag & E_ReplaceFlags.CaseInsens) == E_ReplaceFlags.CaseInsens ? RegexOptions.IgnoreCase & RegexOptions.Singleline : RegexOptions.None & RegexOptions.Singleline; string replaceWord = Regex.Replace(rs.ReplaceWord, @"[[\]\\()]", @"\$0"); + // if first or last character in replaceword is a non-word character, for example, ',', ')', or '.', // don't use the \W, i.e. don't bother to look for a non-word character. string wordMatchBeg = Regex.IsMatch(replaceWord.Substring(0, 1), @"\W") ? "" : @"(?<=\W|^)"; @@ -2188,7 +2260,7 @@ namespace VEPROMS.CSLA.Library } //ProfileTimer.Pop(profileDepth); //int profileDepth5 = ProfileTimer.Push(">>>> DoReplaceWords2.ReplaceMatches"); - Text = myMatches.ReplaceMatches(); + Text = myMatches.ReplaceMatches(epMode); //ProfileTimer.Pop(profileDepth5); Text = Text.Replace(@"\xA0", @"\u160?"); //replace hard space return Text; @@ -2480,7 +2552,8 @@ namespace VEPROMS.CSLA.Library if (str.Length == index && str == text.Substring(0, str.Length)) return true; return false; } - public string ReplaceMatches() + + public string ReplaceMatches(E_EditPrintMode epMode) { int offset = 0; string text = _Text; @@ -2572,6 +2645,11 @@ namespace VEPROMS.CSLA.Library with = with.Replace(@"\ul ", ""); with = with.Replace(@"\ulnone ", ""); } + //if (Properties.Settings.Default.cbShwRplWrdsColor && !(epMode == E_EditPrintMode.Print)) + if (Properties.Settings.Default.cbShwRplWrdsColor && !(epMode == E_EditPrintMode.Print)) + { + with = $@"\cf2{with}\cf0 "; + } text = text.Substring(0, offset + foundMatch.MyMatch.Index) + with + text.Substring(offset + foundMatch.MyMatch.Index + foundMatch.MyMatch.Length); //offset += foundMatch.MyWord.ReplaceWith.Length - foundMatch.MyMatch.Length; diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs index 9ac26d14..88810cfc 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs @@ -8447,97 +8447,7 @@ namespace VEPROMS.CSLA.Library Dr = dr; } } - public static DataTable GetDisplayTabs(int itemID) //, string displayTabID, string displayTabName) - { - try - { - DataTable tmp = DataPortal.Fetch(new DisplayTabs(itemID, "", "")); //, displayTabID, displayTabName)); - //ItemInfo.AddList(tmp); - //tmp.AddEvents(); - return tmp; - } - catch (Exception ex) - { - throw new DbCslaException("Error on ItemInfoList.GetChildren", ex); - } - } - private DataTable dt = new DataTable(); - private DataTable DataPortal_Fetch(DisplayTabs criteria) - { - - using (SqlConnection cn = Database.VEPROMS_SqlConnection) - { - using (SqlCommand cm = cn.CreateCommand()) - { - try - { - cm.CommandType = CommandType.StoredProcedure; - cm.CommandText = "GetDisplayTabData"; - cm.CommandTimeout = Database.DefaultTimeout; - SqlDataAdapter da = new SqlDataAdapter(cm); - da.Fill(dt); - cn.Close(); - da.Dispose(); - return dt; - } - catch (Exception ex) - { - //if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemExt.DataPortal_Fetch", ex); - throw new DbCslaException("ItemExt.DataPortal_Fetch", ex); - } - } - } - - } - //public static void AddDisplayTabsState(int itemID, string displayTabID, string displayTabName) - //{ - // try - // { - // //DisplayTabs tmp = - // DataPortal.Fetch(new DisplayTabs(itemID, displayTabID, displayTabName)); //, displayTabID, displayTabName)); - // //ItemInfo.AddList(tmp); - // //tmp.AddEvents(); - // //return tmp; - // } - // catch (Exception ex) - // { - // throw new DbCslaException("Error on ItemInfoList.GetChildren", ex); - // } - //} - //private DataTable dt = new DataTable(); - //private void DataPortal_Fetch(int itemID, string displayTabID, string displayTabName) - //{ - - // using (SqlConnection cn = Database.VEPROMS_SqlConnection) - // { - // using (SqlCommand cm = cn.CreateCommand()) - // { - // try - // { - // cm.CommandType = CommandType.StoredProcedure; - // cm.CommandText = "AddDisplayTabState"; - // cm.CommandTimeout = Database.DefaultTimeout; - // cm.Parameters.AddWithValue("@ItemID", ItemID); - // cm.Parameters.AddWithValue("@displayTabID", displayTabID); - // cm.Parameters.AddWithValue("@displayTabName", displayTabName); - // cm.ExecuteNonQuery(); - // //SqlDataAdapter da = new SqlDataAdapter(cm); - // //da.Fill(dt); - // //cn.Close(); - // //da.Dispose(); - // //return dt; // fix - // } - // catch (Exception ex) - // { - // //if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemExt.DataPortal_Fetch", ex); - // throw new DbCslaException("ItemExt.DataPortal_Fetch", ex); - // } - - // } - // } - - //} public static void AddDisplayTabsState(int itemID, string displayTabID, string displayTabName) //private void DataPortal_Fetch(int itemID, string displayTabID, string displayTabName) { diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/ItemInsertExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/ItemInsertExt.cs index 9838ca98..5d39a5e0 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/ItemInsertExt.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/ItemInsertExt.cs @@ -2650,97 +2650,174 @@ namespace VEPROMS.CSLA.Library firstTrans = false; if (!CanDeleteObject()) throw new System.Security.SecurityException("User not authorized to remove a Item"); - // B2016-009 check source and desintation types and display message box if needed + // B2016-009 check source and destination types and display message box if needed // C2022-017 moved the CheckSourceDestinationType call to btnPasteReplace_Click in StepTabRibbon // B2023-101 Handle Paste Replace when procedure to be replaced has Incoming Transitions, i.e. do a separate try/catch for this case ItemInfo newItemInfo = null; - try + using (ItemInfo copyItemInfo = ItemInfo.Get(copyStartID)) { - // C2017-031: Support for paste/replace an enhanced step, if this is replacing enhanced, do a specific query - if (itemInfo.IsEnhancedStep) + try { - newItemInfo = ItemInfo.CopyPasteReplaceEnhancedItemInfoFetch(copyStartID, itemInfo); - if (newItemInfo == null) return null; + // C2017-031: Support for paste/replace an enhanced step, if this is replacing enhanced, do a specific query + if (itemInfo.IsEnhancedStep) + { + newItemInfo = ItemInfo.CopyPasteReplaceEnhancedItemInfoFetch(copyStartID, itemInfo); + if (newItemInfo == null) return null; + } + //C2025-003 Enhanced Copy/Paste Upgrade - Added support for paste/replace on a master step + else if (itemInfo.HasEnhancedLinkedStep || copyItemInfo.HasEnhancedLinkedStep) + { + DialogResult rslt = DialogResult.No; + + SectionConfig secCfg = itemInfo.ActiveSection.MyConfig as SectionConfig; + if (copyItemInfo.HasEnhancedLinkedStep && secCfg.MyEnhancedDocuments.Count > 0) + rslt = FlexibleMessageBox.Show("The step you are copying contains linked background documents." + + "\r\n\r\nDo you also wish to make a copy of the background documents?", + "Paste background documents", MessageBoxButtons.YesNo, MessageBoxIcon.Question); + + //unlink and remove any background documents attached to where you are copying to + //and then delete them + //if selected want to replace BG step (DialogResult.Yes) + if (itemInfo.HasEnhancedLinkedStep && rslt == DialogResult.Yes) + { + foreach (EnhancedDocument ed in itemInfo.GetMyEnhancedDocuments()) + { + using (ItemInfo exEnh = ItemInfo.Get(ed.ItemID)) + { + exEnh.DoUnlinkEnhanced(exEnh, 0, false); + DeleteItemAndChildren(exEnh); + } + + } + } + + //do copy/paste replace of the master step + newItemInfo = ItemInfo.CopyPasteReplaceItemInfoFetch(copyStartID, itemInfo); + if (newItemInfo == null) return null; + + //copy any background documents + //if selected want to replace BG step (DialogResult.Yes) + if (copyItemInfo.HasEnhancedLinkedStep && rslt == DialogResult.Yes) + { + foreach (EnhancedDocument ed in copyItemInfo.GetMyEnhancedDocuments()) + { + using (ItemInfo exEnh = newItemInfo.DoAddMissingEnhancedItems(ed.Type)) + { + PasteReplace(exEnh, ed.ItemID, chgid, ref firstTrans); + } + + } + } + else if (rslt == DialogResult.No) + { + //if selected didn't want to copy BG documents (DialogResult.No) + //need to unlink BG doc from old removed content (what was pasted over top of) + //re-link BG document to new paste replace master doc + //this should also auto update the text of the main linked item + //to match the new master doc wording + + //get original BG documents + EnhancedDocuments orig_eds = itemInfo.GetMyEnhancedDocuments(); + + //remove link from pre-existing BG docs + foreach (EnhancedDocument ed in orig_eds) + { + using (ItemInfo exEnh = ItemInfo.Get(ed.ItemID)) + { exEnh.DoUnlinkEnhanced(exEnh, 0, false); } + } + + //remove link from steps just copied + ItemInfo.PasteClearEnhanced(newItemInfo); + + //re-link pre-existing BG docs to newly replaced master step + foreach (EnhancedDocument ed in orig_eds) + { + using (ItemInfo orig_ed_item = ItemInfo.Get(ed.ItemID)) + { newItemInfo.DoCreateLinksEnhancedSingleItem(orig_ed_item, ed.Type); } + } + + } + } + else + { + newItemInfo = ItemInfo.CopyPasteReplaceItemInfoFetch(copyStartID, itemInfo); if (newItemInfo == null) return null; + } } - else + catch (Exception ex1) { - newItemInfo = ItemInfo.CopyPasteReplaceItemInfoFetch(copyStartID, itemInfo); if (newItemInfo == null) return null; - } - } - catch (Exception ex1) - { - if (ex1.Message.Contains("has External Transitions and has no next step") + if (ex1.Message.Contains("has External Transitions and has no next step") || ex1.Message.Contains("has External Transitions to Procedure") || ex1.Message.Contains("has External Transitions to it's children")) - { - FlexibleMessageBox.Show("This procedure has external transition references to it that must be resolved before doing the Paste/Replace.\r\nRight Click on the procedure and select the Incoming Transitions menu option to find these references and resolve them.", "Paste Replace Failed", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error); - return null; + { + FlexibleMessageBox.Show("This procedure has external transition references to it that must be resolved before doing the Paste/Replace.\r\nRight Click on the procedure and select the Incoming Transitions menu option to find these references and resolve them.", "Paste Replace Failed", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error); + return null; + } } - } - try - { - // Delete business objects, including remove from tree - ItemInfo.DeleteItemInfoAndChildren(itemInfo.ItemID); // Dispose ItemInfo and Children - using (Item item = Get(newItemInfo.ItemID)) ItemInfo.Refresh(item); - ItemInfo.PasteSetChangeId(newItemInfo, chgid); - ItemInfo.PasteClearEnhanced(newItemInfo); - if (newItemInfo.NextItem != null) using (Item item = newItemInfo.NextItem.Get()) ItemInfo.Refresh(item); - newItemInfo.RefreshNextItems(); - // if inserting after a caution or note, refreshes tabs. This will adjust bullets - // of any previous cautions or notes. - if (newItemInfo.IsCaution || newItemInfo.IsNote) newItemInfo.ResetOrdinal(); - newItemInfo.UpdateTransitionText(); - newItemInfo.UpdateROText(); - newItemInfo.UpdatePastedStepTransitionText(); + try + { + // Delete business objects, including remove from tree + ItemInfo.DeleteItemInfoAndChildren(itemInfo.ItemID); // Dispose ItemInfo and Children + using (Item item = Get(newItemInfo.ItemID)) ItemInfo.Refresh(item); + ItemInfo.PasteSetChangeId(newItemInfo, chgid); + if (!copyItemInfo.HasEnhancedLinkedStep && !itemInfo.HasEnhancedLinkedStep) ItemInfo.PasteClearEnhanced(newItemInfo); + if (newItemInfo.NextItem != null) using (Item item = newItemInfo.NextItem.Get()) ItemInfo.Refresh(item); + newItemInfo.RefreshNextItems(); + // if inserting after a caution or note, refreshes tabs. This will adjust bullets + // of any previous cautions or notes. + if (newItemInfo.IsCaution || newItemInfo.IsNote) newItemInfo.ResetOrdinal(); + newItemInfo.UpdateTransitionText(); + newItemInfo.UpdateROText(); + newItemInfo.UpdatePastedStepTransitionText(); - // Add to tree - if (newItemInfo.NextItem != null) - { - using (ItemInfo itm = ItemInfo.GetNonCached(newItemInfo.NextItem.ItemID)) + // Add to tree + if (newItemInfo.NextItem != null) { - itm.OnNewSiblingBefore(new ItemInfoInsertEventArgs(newItemInfo, ItemInfo.EAddpingPart.Before)); + using (ItemInfo itm = ItemInfo.GetNonCached(newItemInfo.NextItem.ItemID)) + { + itm.OnNewSiblingBefore(new ItemInfoInsertEventArgs(newItemInfo, ItemInfo.EAddpingPart.Before)); + } } - } - else if (newItemInfo.PreviousID != null) - { - using (ItemInfo itm2 = ItemInfo.GetNonCached((int)newItemInfo.PreviousID)) + else if (newItemInfo.PreviousID != null) { - itm2.OnNewSiblingAfter(new ItemInfoInsertEventArgs(newItemInfo, ItemInfo.EAddpingPart.After)); + using (ItemInfo itm2 = ItemInfo.GetNonCached((int)newItemInfo.PreviousID)) + { + itm2.OnNewSiblingAfter(new ItemInfoInsertEventArgs(newItemInfo, ItemInfo.EAddpingPart.After)); + } } + else + { + // B2024-045, 049 and 050: if not a single procedure replace, update user interface by using the 'OnNewChild'. Single + // procedure's MyParent is null because its parent is a working draft (docversion) since MyParent's type is iteminfo. + // For the single procedure case, the user interface code in vlntreeview will update the tree. + if (newItemInfo.MyParent != null) + newItemInfo.MyParent.OnNewChild(new ItemInfoInsertEventArgs(newItemInfo, ItemInfo.EAddpingPart.Child)); + } + return newItemInfo; } - else + catch (Exception ex) { - // B2024-045, 049 and 050: if not a single procedure replace, update user interface by using the 'OnNewChild'. Single - // procedure's MyParent is null because its parent is a working draft (docversion) since MyParent's type is iteminfo. - // For the single procedure case, the user interface code in vlntreeview will update the tree. - if (newItemInfo.MyParent != null) - newItemInfo.MyParent.OnNewChild(new ItemInfoInsertEventArgs(newItemInfo, ItemInfo.EAddpingPart.Child)); + ItemInfo iii = itemInfo.HandleSqlExceptionOnDelete(ex); + if (iii == itemInfo) return null;// If self returned then return null + if (iii != null) + { + firstTrans = true; // B2017-179 set the firstTrans to true and return the itminfo of the first transition location that needs resolved + return iii; + } + if (!HandleSqlExceptionOnCopy(ex)) + { + if (ex.Message.Contains("has External Transitions and has no next step") + || ex.Message.Contains("has External Transitions to Procedure") + || ex.Message.Contains("has External Transitions to it's children") + || ex.Message.Contains("This step has been deleted")) + throw ex; + + FlexibleMessageBox.Show("Details were written to the Error Log.", "Paste Replace Failed", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error); + return itemInfo; + } + else + return itemInfo; } - return newItemInfo; - } - catch (Exception ex) - { - ItemInfo iii = itemInfo.HandleSqlExceptionOnDelete(ex); - if (iii == itemInfo) return null;// If self returned then return null - if (iii != null) - { - firstTrans = true; // B2017-179 set the firstTrans to true and return the itminfo of the first transition location that needs resolved - return iii; - } - if (!HandleSqlExceptionOnCopy(ex)) - { - if (ex.Message.Contains("has External Transitions and has no next step") - || ex.Message.Contains("has External Transitions to Procedure") - || ex.Message.Contains("has External Transitions to it's children") - || ex.Message.Contains("This step has been deleted") - ) - throw ex; - FlexibleMessageBox.Show("Details were written to the Error Log.", "Paste Replace Failed", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error); - return itemInfo; - } - else - return itemInfo; } } #endregion diff --git a/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs b/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs index 4b57bcbc..8232a8d6 100644 --- a/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs +++ b/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs @@ -2173,6 +2173,7 @@ namespace VEPROMS.CSLA.Library } } } + #endregion #region CheckOff [TypeConverter(typeof(ExpandableObjectConverter))] @@ -2284,6 +2285,49 @@ namespace VEPROMS.CSLA.Library } } #endregion + #region ShwRplWds + // C2029-025 Show or hide replace words. Can highlight replace words in editor. + public class ShwRplWds : vlnFormatItem, IVlnIndexedFormatItem + { + public ShwRplWds(XmlNode xmlNode) : base(xmlNode) { } + public ShwRplWds() : base() { } + private LazyLoad _Index; + public int? Index + { + get + { + return LazyLoad(ref _Index, "@Index"); + } + } + + // User Interface Mark (UIMark) is the deimal number of an ASCII character that is desplayed in the step editor + // to indicate the selected checkoff + private LazyLoad _UIMark; + public int? UIMark + { + get + { + return LazyLoad(ref _UIMark, "@UIMark"); + } + } + + + //Descriptive text shown in the checkoff selection list + private LazyLoad _MenuItem; + public string MenuItem + { + get + { + return LazyLoad(ref _MenuItem, "@MenuItem"); + } + } + + public override string ToString() + { + return MenuItem; + } + } +#endregion #region CheckOffList [TypeConverter(typeof(vlnIndexedListConverter))] public class CheckOffList : vlnIndexedFormatList diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/Item.cs b/PROMS/VEPROMS.CSLA.Library/Generated/Item.cs index 94168c79..91c6263d 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/Item.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/Item.cs @@ -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); } @@ -1148,8 +1148,7 @@ namespace VEPROMS.CSLA.Library } catch (Exception ex) { - //if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemExt.DeactivateStateDisplayTabTmp", ex); - throw new DbCslaException("ItemExt.DeactivateStateDisplayTabTmp", ex); + Database.LogException("ItemExt.DeactivateStateDisplayTabTmp", ex); } } @@ -1176,8 +1175,7 @@ namespace VEPROMS.CSLA.Library } catch (Exception ex) { - //if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemExt.AddDisplayTabsState", ex); - throw new DbCslaException("ItemExt.AddDisplayTabsState", ex); + Database.LogException("ItemExt.AddDisplayTabsState", ex); } } } @@ -1194,13 +1192,8 @@ namespace VEPROMS.CSLA.Library cm.CommandType = CommandType.StoredProcedure; cm.CommandText = "GetDisplayTabdata"; cm.CommandTimeout = Database.DefaultTimeout; - cm.Parameters.AddWithValue("@UserID", UserID); - //cm.ExecuteNonQuery(); + cm.Parameters.AddWithValue("@UserID", UserID); SqlDataAdapter da = new SqlDataAdapter(cm); - //da.Fill(dt); - //cn.Close(); - //da.Dispose(); - //return dt; // fix SqlDataReader reader = cm.ExecuteReader(); DataTable dt = new DataTable(); @@ -1210,8 +1203,10 @@ namespace VEPROMS.CSLA.Library } catch (Exception ex) { - //if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemExt.DeactivateStateDisplayTabTmp", ex); - throw new DbCslaException("ItemExt.DeactivateStateDisplayTabTmp", ex); + //B2025-004 + //if it fails loading previously open tabs, simply treat it as if no tabs were open + //instead of crashing + return new DataTable(); } } diff --git a/PROMS/VEPROMS.CSLA.Library/Minimal/UserSettings.cs b/PROMS/VEPROMS.CSLA.Library/Minimal/UserSettings.cs index 3c93d77f..80e56972 100644 --- a/PROMS/VEPROMS.CSLA.Library/Minimal/UserSettings.cs +++ b/PROMS/VEPROMS.CSLA.Library/Minimal/UserSettings.cs @@ -48,7 +48,6 @@ namespace VEPROMS.CSLA.Library catch (Exception ex) { Database.LogException("UserSettings_GetData", ex); - throw new DbCslaException("UserSettings_GetData", ex); } } diff --git a/PROMS/VEPROMS.CSLA.Library/VEPROMS.CSLA.Library.csproj b/PROMS/VEPROMS.CSLA.Library/VEPROMS.CSLA.Library.csproj index 36cf1765..27ab4591 100644 --- a/PROMS/VEPROMS.CSLA.Library/VEPROMS.CSLA.Library.csproj +++ b/PROMS/VEPROMS.CSLA.Library/VEPROMS.CSLA.Library.csproj @@ -103,6 +103,9 @@ + + Properties\Settings.Designer.cs + @@ -419,6 +422,7 @@ frmRofstLoadStatus.cs +