Compare commits
18 Commits
F2026-001_
...
C2022-003-
| Author | SHA1 | Date | |
|---|---|---|---|
| 5ce168071c | |||
| d560468f3c | |||
| ac5e49d0fc | |||
| 447d1f510c | |||
| c0651e4e2c | |||
| f8865206e9 | |||
| 5e7d2431b3 | |||
| 99216321a8 | |||
| 5a2c0460aa | |||
| 72c2bd90e4 | |||
| d4ecf28147 | |||
| 751794c1ec | |||
| c561aad661 | |||
| 9023cc76a0 | |||
| 52583a05f6 | |||
| 37b4726925 | |||
| cc66eb5329 | |||
| 563c133676 |
Binary file not shown.
Binary file not shown.
@@ -96,10 +96,10 @@ namespace ROEditor
|
||||
private System.Windows.Forms.Label lblW2;
|
||||
private System.Windows.Forms.Label lblW3;
|
||||
private System.Windows.Forms.Label lblW4;
|
||||
private System.Windows.Forms.TextBox tbSingleTxtWid;
|
||||
private System.Windows.Forms.TextBox tbVariableTxtWid;
|
||||
private System.Windows.Forms.TextBox tbTableWid;
|
||||
private System.Windows.Forms.TextBox tbXYPlotWid;
|
||||
ctlXMLEditLib.roRichTextBox tbSingleTxtWid; // RO Editor add symbols C2022 - 003
|
||||
ctlXMLEditLib.roRichTextBox tbVariableTxtWid;
|
||||
ctlXMLEditLib.roRichTextBox tbTableWid;
|
||||
ctlXMLEditLib.roRichTextBox tbXYPlotWid;
|
||||
private System.Windows.Forms.Button btnOK;
|
||||
private System.Windows.Forms.Button btnCancel;
|
||||
/// <summary>
|
||||
@@ -218,10 +218,10 @@ namespace ROEditor
|
||||
this.lblFieldName = new System.Windows.Forms.Label();
|
||||
this.tbFieldName = new System.Windows.Forms.TextBox();
|
||||
this.gbAlternatives = new System.Windows.Forms.GroupBox();
|
||||
this.tbXYPlotWid = new System.Windows.Forms.TextBox();
|
||||
this.tbTableWid = new System.Windows.Forms.TextBox();
|
||||
this.tbVariableTxtWid = new System.Windows.Forms.TextBox();
|
||||
this.tbSingleTxtWid = new System.Windows.Forms.TextBox();
|
||||
this.tbXYPlotWid = new ctlXMLEditLib.roRichTextBox(); // RO Editor add symbols C2022 - 003
|
||||
this.tbTableWid = new ctlXMLEditLib.roRichTextBox();
|
||||
this.tbVariableTxtWid = new ctlXMLEditLib.roRichTextBox ();
|
||||
this.tbSingleTxtWid = new ctlXMLEditLib.roRichTextBox();
|
||||
this.lblW4 = new System.Windows.Forms.Label();
|
||||
this.lblW3 = new System.Windows.Forms.Label();
|
||||
this.lblW2 = new System.Windows.Forms.Label();
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -109,6 +109,10 @@
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="DevComponents.DotNetBar2, Version=14.1.0.37, Culture=neutral, PublicKeyToken=7eb7c3a35b91de04, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.6Build\DevComponents.DotNetBar2.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System">
|
||||
<Name>System</Name>
|
||||
</Reference>
|
||||
@@ -124,10 +128,6 @@
|
||||
<Reference Include="System.Xml">
|
||||
<Name>System.XML</Name>
|
||||
</Reference>
|
||||
<Reference Include="Volian.Base.Library, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\Volian.Base.Library\bin\Debug\Volian.Base.Library.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="AboutROEditor.cs">
|
||||
@@ -168,6 +168,7 @@
|
||||
<Compile Include="RO_FST.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Content Include="Symbols.xml" />
|
||||
<EmbeddedResource Include="AboutROEditor.resx">
|
||||
<SubType>Designer</SubType>
|
||||
<DependentUpon>AboutROEditor.cs</DependentUpon>
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACE
|
||||
CAAAAk1TRnQBSQFMAgEBAgEAASwBAAEsAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
CAAAAk1TRnQBSQFMAgEBAgEAAUQBAAFEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
||||
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
||||
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
||||
@@ -175,7 +175,7 @@
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAe
|
||||
CwAAAk1TRnQBSQFMAgEBBgEAASwBAAEsAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
CwAAAk1TRnQBSQFMAgEBBgEAAUQBAAFEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
||||
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
||||
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
||||
|
||||
@@ -101,7 +101,6 @@ using System.Runtime.InteropServices;
|
||||
using VlnStatus;
|
||||
using System.Collections.Specialized;
|
||||
using ROFST_FILE;
|
||||
using Volian.Base.Library;
|
||||
|
||||
//using VlnProfiler; //don't forget to add VlnProfiler to the reference list
|
||||
|
||||
|
||||
@@ -263,6 +263,7 @@ using System.Collections.Specialized;
|
||||
using Org.Mentalis.Files;
|
||||
using System.Data.SqlClient;
|
||||
using System.Collections.Generic;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
|
||||
namespace RODBInterface
|
||||
@@ -1909,6 +1910,8 @@ namespace RODBInterface
|
||||
string Info = DBE.GetString(3);
|
||||
//B2022-043 &pos; was missing the ;
|
||||
Info = Info.Replace("'", "\'"); // B2021-071: crash when getting/saving field names
|
||||
Info = Regex.Replace(Info, @"\\u([0-9]{1,4})\?", m => Convert.ToChar(int.Parse(m.Groups[1].Value)).ToString()); // RO Editor add symbols C2022 - 003
|
||||
|
||||
node.SetAttribute("HasChild", "True");
|
||||
|
||||
// Store data in the VlnXmlElement as a subgroup
|
||||
@@ -2182,10 +2185,13 @@ namespace RODBInterface
|
||||
parent.SetAttribute("ChildLoaded", "True");
|
||||
}
|
||||
string xmlstr = GenerateXmlString(ro, false);
|
||||
|
||||
string wraccid = null;
|
||||
if (ro.HasAttribute("AccPageID"))
|
||||
{
|
||||
string accid = ro.GetAttribute("AccPageID");
|
||||
|
||||
|
||||
int quote = accid.IndexOf("'");
|
||||
if (quote >= 0)
|
||||
wraccid = accid.Insert(quote, "'");
|
||||
@@ -2251,7 +2257,7 @@ namespace RODBInterface
|
||||
// select all of the field definition records in this table.
|
||||
// strGetFields = "SELECT RecID, Info from " + elem.GetAttribute("Table");
|
||||
strGetFields = "SELECT RecID, Info from " + TableName;
|
||||
strGetFields = strGetFields + " where RecType = 2"; // + rtype.ToString();
|
||||
strGetFields = strGetFields + " where RecType = 2";
|
||||
DBE.Command(strGetFields);
|
||||
DBE.Reader();
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace ctlXMLEditLib
|
||||
{
|
||||
private System.Windows.Forms.Button btnSave;
|
||||
private System.Windows.Forms.Button btnCancel;
|
||||
private System.Windows.Forms.TextBox tbZoom;
|
||||
private ctlXMLEditLib.roRichTextBox tbZoom; // RO Editor add symbols C2022 - 003
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
@@ -88,7 +88,7 @@ namespace ctlXMLEditLib
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.tbZoom = new System.Windows.Forms.TextBox();
|
||||
this.tbZoom = new ctlXMLEditLib.roRichTextBox(); // RO Editor add symbols C2022 - 003
|
||||
this.btnSave = new System.Windows.Forms.Button();
|
||||
this.btnCancel = new System.Windows.Forms.Button();
|
||||
this.SuspendLayout();
|
||||
@@ -99,7 +99,7 @@ namespace ctlXMLEditLib
|
||||
this.tbZoom.Location = new System.Drawing.Point(24, 16);
|
||||
this.tbZoom.Multiline = true;
|
||||
this.tbZoom.Name = "tbZoom";
|
||||
this.tbZoom.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
|
||||
this.tbZoom.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.Vertical; // RO Editor add symbols C2022 - 003
|
||||
this.tbZoom.Size = new System.Drawing.Size(576, 392);
|
||||
this.tbZoom.TabIndex = 0;
|
||||
//
|
||||
|
||||
@@ -200,7 +200,10 @@ using System.Xml.Schema;
|
||||
using System.Text;
|
||||
using RODBInterface;
|
||||
using Org.Mentalis.Files;
|
||||
//using IniFileIO;
|
||||
using System.Windows;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Linq;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -221,6 +224,7 @@ namespace ctlXMLEditLib
|
||||
///
|
||||
///
|
||||
/// </summary>
|
||||
|
||||
public class ctlXMLEdit : System.Windows.Forms.UserControl
|
||||
{
|
||||
/// <summary>
|
||||
@@ -237,12 +241,12 @@ namespace ctlXMLEditLib
|
||||
private bool dosaveflag;
|
||||
private VlnXmlElement editelem;
|
||||
private XmlDocument editdoc;
|
||||
private TextBox zoomtextbox;
|
||||
private roRichTextBox zoomtextbox;
|
||||
// the following is used for handling images. Note that if we want to have more
|
||||
// than one image defined in an ro, this should be become a list.
|
||||
private TextBox GraphicsFiletextbox;
|
||||
private TextBox GraphicsWdtextbox;
|
||||
private TextBox GraphicsHttextbox;
|
||||
private roRichTextBox GraphicsFiletextbox;
|
||||
private roRichTextBox GraphicsWdtextbox;
|
||||
private roRichTextBox GraphicsHttextbox;
|
||||
private System.Windows.Forms.Button btnFindFile;
|
||||
private string GraphicsText;
|
||||
private ToolTip zmtooltip;
|
||||
@@ -265,6 +269,19 @@ namespace ctlXMLEditLib
|
||||
private GroupBox pcGrpBox = null;
|
||||
/** end C2021-026 **/
|
||||
|
||||
public string _RO_IDEN;
|
||||
public string RO_IDEN
|
||||
{
|
||||
get
|
||||
{
|
||||
return _RO_IDEN;
|
||||
}
|
||||
set
|
||||
{
|
||||
_RO_IDEN = value;
|
||||
}
|
||||
}
|
||||
|
||||
// use this struct to define attributes for the text box fields, storing
|
||||
// the pattern, radio button association, required field flag, etc.
|
||||
struct TextBoxAttrTag
|
||||
@@ -311,10 +328,19 @@ namespace ctlXMLEditLib
|
||||
public string GetParentHTId { get { return parenthtid; } }
|
||||
public void SetParentHTId(string id) { this.parenthtid = id; }
|
||||
}
|
||||
|
||||
private roRichTextBox _TextBoxFocus; // RO Editor add symbols C2022 - 003
|
||||
public roRichTextBox TextBoxFocus
|
||||
{
|
||||
get { return _TextBoxFocus; }
|
||||
set
|
||||
{
|
||||
_TextBoxFocus = value;
|
||||
}
|
||||
}
|
||||
public ctlXMLEdit(VlnXmlElement myelem, XmlSchema myschema, ArrayList reqfields, ArrayList fldsWithApplic, string [] pckids)
|
||||
{
|
||||
// This call is required by the Windows.Forms Form Designer.
|
||||
|
||||
InitializeComponent();
|
||||
FieldsWithApplic = fldsWithApplic;
|
||||
PCChildren = pckids; //C2021-026 list of Parent/Child children
|
||||
@@ -359,11 +385,12 @@ namespace ctlXMLEditLib
|
||||
// Set required fields based on list. (can add message later).
|
||||
SetRequiredFields(reqfields);
|
||||
dosaveflag=true;
|
||||
RO_IDEN = myelem.GetAccPageIDTemplate();
|
||||
}
|
||||
|
||||
// set the required fields tag on those fields which are included in the passed
|
||||
// in required fields list.
|
||||
private void DoSet(TextBox hwnd, string msg)
|
||||
private void DoSet(roRichTextBox hwnd, string msg) // RO Editor add symbols C2022 - 003
|
||||
{
|
||||
if (hwnd == null) return;
|
||||
if (hwnd.Tag != null)
|
||||
@@ -378,7 +405,7 @@ namespace ctlXMLEditLib
|
||||
private void SetRequiredFields(ArrayList reqfields)
|
||||
{
|
||||
Object o;
|
||||
TextBox hwnd;
|
||||
roRichTextBox hwnd;
|
||||
string field, msg;
|
||||
int indx;
|
||||
foreach (string strfld in reqfields)
|
||||
@@ -397,15 +424,15 @@ namespace ctlXMLEditLib
|
||||
o = myHT[field+"a"];
|
||||
if (o != null) // set all combo types required, the checker
|
||||
{
|
||||
DoSet((TextBox)o,msg);
|
||||
DoSet((TextBox)myHT[field+"b"],msg);
|
||||
DoSet((TextBox)myHT[field+"c"],msg);
|
||||
DoSet((TextBox)myHT[field+"d"],msg);
|
||||
DoSet((roRichTextBox)o,msg);
|
||||
DoSet((roRichTextBox)myHT[field+"b"],msg);
|
||||
DoSet((roRichTextBox)myHT[field+"c"],msg);
|
||||
DoSet((roRichTextBox)myHT[field+"d"],msg);
|
||||
}
|
||||
}
|
||||
else if (o != null)
|
||||
{
|
||||
hwnd = (TextBox) o;
|
||||
hwnd = (roRichTextBox) o;
|
||||
if (hwnd.Tag != null)
|
||||
{
|
||||
TextBoxAttrTag tag = (TextBoxAttrTag) hwnd.Tag;
|
||||
@@ -419,7 +446,7 @@ namespace ctlXMLEditLib
|
||||
|
||||
// C2021-026 If this is a Parent/Child field that has no value saved in the database
|
||||
// then use the parent's value and display it as grey colored text.
|
||||
private void GetDefaultParentValue(TextBox tb, XmlNode node, string chldName)
|
||||
private void GetDefaultParentValue(roRichTextBox tb, XmlNode node, string chldName)
|
||||
{
|
||||
XmlNode parentNode = null;
|
||||
// PCChildren contains a list strings reprenting the Children setup in the current Working Draft Parent/Child property
|
||||
@@ -463,21 +490,23 @@ namespace ctlXMLEditLib
|
||||
private void DisplayFieldContents(XmlNode node)
|
||||
{
|
||||
Object o;
|
||||
TextBox hwnd;
|
||||
roRichTextBox hwnd;
|
||||
XmlNode nd;
|
||||
// if we have an image, check it for validity, i.e. file exists, etc.??
|
||||
foreach (string str in myHT.Keys)
|
||||
{
|
||||
o = myHT[str];
|
||||
hwnd = (TextBox) o;
|
||||
hwnd = (roRichTextBox)o;
|
||||
nd = node.SelectSingleNode(str);
|
||||
// if not found with just the string, search the tree.
|
||||
if (nd==null)nd = node.SelectSingleNode("*/"+str);
|
||||
if (nd == null || nd.InnerText.Length==0) // B2024-004 use Parent value if Child text length is zero
|
||||
GetDefaultParentValue(hwnd, node, str); // C2021-026 Parent/Child Field has no value so use parent's value
|
||||
else
|
||||
{
|
||||
hwnd.Text = nd.InnerText; // set the field's text from XML
|
||||
{
|
||||
|
||||
hwnd.Text = Regex.Replace(nd.InnerText, @"\\u([0-9]{1,4})\?", m => Convert.ToChar(int.Parse(m.Groups[1].Value)).ToString()); // set the field's text from XML
|
||||
Size size = hwnd.Size;
|
||||
|
||||
// check if this window has a button name as part of its tag. If
|
||||
// so it's a combo type & the radio button/visibility may need to
|
||||
@@ -546,7 +575,7 @@ namespace ctlXMLEditLib
|
||||
// height/width data of the image.
|
||||
if (GraphicsFiletextbox != null && GraphicsFiletextbox.Text != "") UpdateHtWd();
|
||||
}
|
||||
public TextBox GetGraphicsFiletextbox()
|
||||
public roRichTextBox GetGraphicsFiletextbox()
|
||||
{
|
||||
return GraphicsFiletextbox;
|
||||
}
|
||||
@@ -585,13 +614,13 @@ namespace ctlXMLEditLib
|
||||
{
|
||||
dosaveflag=false;
|
||||
mysavexml=false;
|
||||
TextBox hwnd;
|
||||
roRichTextBox hwnd;
|
||||
// first, clear out all of the text boxes.
|
||||
|
||||
foreach (string str in myHT.Keys)
|
||||
{
|
||||
object o = myHT[str];
|
||||
hwnd = (TextBox) o;
|
||||
hwnd = (roRichTextBox) o;
|
||||
hwnd.Text = "";
|
||||
TextBoxAttrTag tag = (TextBoxAttrTag) hwnd.Tag;
|
||||
RadioButton radio;
|
||||
@@ -623,7 +652,7 @@ namespace ctlXMLEditLib
|
||||
// to the parent's value, then clear the child's textbox so that nothing is saved
|
||||
// to the database. This allow us to know that a specific value was not set
|
||||
// for this Parent/Child child
|
||||
private void RemovePCChildTextIfSameAsParent(XmlNode node, TextBox tb, string chldName)
|
||||
private void RemovePCChildTextIfSameAsParent(XmlNode node, roRichTextBox tb, string chldName)
|
||||
{
|
||||
XmlNode parentNode = null;
|
||||
// if this is a child node get the parent's value
|
||||
@@ -656,22 +685,42 @@ namespace ctlXMLEditLib
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// SaveData saves the data in the element which had been sent to the control. Return
|
||||
// true if success, false if fail.
|
||||
// Note that the Parent and Child XML node variables below are not coding for Parent/Child Applicabily Fields
|
||||
public bool SaveData()
|
||||
|
||||
{
|
||||
if (mysavexml)
|
||||
{
|
||||
TextBox hwnd;
|
||||
roRichTextBox hwnd;
|
||||
TextBoxAttrTag tag;
|
||||
string imgdate;
|
||||
|
||||
//go thru the hash table to get textboxes. Find the ones that have text.
|
||||
foreach (string str in myHT.Keys)
|
||||
foreach (string str in myHT.Keys) // RO Editor add symbols C2022 - 003
|
||||
{
|
||||
object o = myHT[str];
|
||||
hwnd = (TextBox) o;
|
||||
hwnd = (roRichTextBox) o;
|
||||
|
||||
StringBuilder result1 = new StringBuilder();
|
||||
char[] chrAry = hwnd.Text.ToCharArray();
|
||||
foreach (int chr in chrAry)
|
||||
{
|
||||
if (chr > 166)
|
||||
{
|
||||
result1.Append($"\\u{(int)chr}?");
|
||||
}
|
||||
else
|
||||
{
|
||||
result1.Append((char)chr);
|
||||
}
|
||||
}
|
||||
hwnd.Text = result1.ToString();
|
||||
|
||||
imgdate = null;
|
||||
// if this is a required field and there is no text, put out an error
|
||||
// message and get out of here.
|
||||
@@ -788,6 +837,7 @@ namespace ctlXMLEditLib
|
||||
return (false);
|
||||
}
|
||||
|
||||
|
||||
#region Component Designer generated code
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
@@ -858,7 +908,7 @@ namespace ctlXMLEditLib
|
||||
// 'normalizedString') or a multiline text box(type is 'string'). Also, a radio
|
||||
// button is passed in if this was called to handle an element within a combo type.
|
||||
// This button is saved for a given text box so that initialization of these combo types can occur.
|
||||
private string DisplayXmlSchemaSimpleType(XmlSchemaSimpleType simpleType, TextBox mytextbox, RadioButton radio,
|
||||
private string DisplayXmlSchemaSimpleType(XmlSchemaSimpleType simpleType, roRichTextBox mytextbox, RadioButton radio,
|
||||
bool img, string imgname)
|
||||
{
|
||||
// set up for text box tag, which stores whether field is required and
|
||||
@@ -888,12 +938,17 @@ namespace ctlXMLEditLib
|
||||
if (getannot.IndexOf("Lines")>=0)
|
||||
{
|
||||
GraphicsHttextbox = mytextbox;
|
||||
|
||||
Size size = GraphicsHttextbox.Size;
|
||||
mytextbox.LostFocus += new System.EventHandler(this.GraphicsHt_lostfocus);
|
||||
|
||||
}
|
||||
if (getannot.IndexOf("Character")>=0)
|
||||
{
|
||||
GraphicsWdtextbox = mytextbox;
|
||||
|
||||
mytextbox.LostFocus += new System.EventHandler(this.GraphicsWd_lostfocus);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -904,14 +959,17 @@ namespace ctlXMLEditLib
|
||||
{
|
||||
// A Schema Type Restriction is used to define single or multi-line boxes.
|
||||
XmlSchemaSimpleTypeRestriction myRestrictions = (XmlSchemaSimpleTypeRestriction) simpleType.Content;
|
||||
if (myRestrictions.BaseTypeName.Name == "normalizedString")
|
||||
if (myRestrictions.BaseTypeName.Name == "normalizedString")
|
||||
{
|
||||
mytextbox.Multiline = false;
|
||||
mytextbox.Size = new Size(300, 40);
|
||||
}
|
||||
else
|
||||
{
|
||||
mytextbox.Multiline = true;
|
||||
mytextbox.AcceptsReturn = true;
|
||||
mytextbox.Height = (int) mytextbox.Font.GetHeight() * 4;
|
||||
mytextbox.ScrollBars = ScrollBars.Vertical;
|
||||
mytextbox.AcceptsTab = true;
|
||||
mytextbox.Height = (int)mytextbox.Font.GetHeight() * 4;
|
||||
mytextbox.ScrollBars = RichTextBoxScrollBars.Vertical;
|
||||
zmtooltip.SetToolTip(mytextbox, "Press Shift F2 To Zoom");
|
||||
}
|
||||
|
||||
@@ -992,7 +1050,8 @@ namespace ctlXMLEditLib
|
||||
radio.CheckedChanged += new System.EventHandler(this.radiocheckchg);
|
||||
gbox.Controls.Add(radio);
|
||||
|
||||
TextBox tb = new TextBox();
|
||||
roRichTextBox tb = new roRichTextBox();
|
||||
Size size3 = tb.Size;
|
||||
tb.Location = new Point(boxx+20, y+25);
|
||||
if (!first) tb.Visible = false;
|
||||
myHT.Add(element.Name,tb);
|
||||
@@ -1001,7 +1060,7 @@ namespace ctlXMLEditLib
|
||||
// the groupbox.
|
||||
Controls.Add(tb);
|
||||
tb.TextChanged += new System.EventHandler(this.textbox_change);
|
||||
tb.GotFocus += new System.EventHandler(this.textbox_zoombtn);
|
||||
tb.GotFocus += new System.EventHandler(this.currentTextBox);
|
||||
tb.KeyDown += new KeyEventHandler(MyOnKeyDown);
|
||||
gbox.Contains(tb);
|
||||
// the following will set attributes on the text boxes such as maxlength, multiline, etc.
|
||||
@@ -1144,8 +1203,9 @@ namespace ctlXMLEditLib
|
||||
}
|
||||
else
|
||||
{
|
||||
TextBox mytextbox;
|
||||
mytextbox = new TextBox();
|
||||
roRichTextBox mytextbox;
|
||||
mytextbox = new roRichTextBox();
|
||||
Size size3 = mytextbox.Size;
|
||||
mytextbox.Location = new Point(screenx+indent, screeny);
|
||||
string tFieldName = (pcChildIdx == 0) ? CvtUserFldToFld(element.Name) : CvtUserFldToFld(pcChildFldName);
|
||||
mytextbox.Name = tFieldName;
|
||||
@@ -1155,7 +1215,7 @@ namespace ctlXMLEditLib
|
||||
screeny = screeny + 10;
|
||||
mytextbox.TextChanged += new System.EventHandler(this.textbox_change);
|
||||
mytextbox.Validating += new System.ComponentModel.CancelEventHandler(this.textbox_Validating);
|
||||
mytextbox.GotFocus += new System.EventHandler(this.textbox_zoombtn);
|
||||
mytextbox.GotFocus += new System.EventHandler(this.currentTextBox);
|
||||
mytextbox.KeyDown += new KeyEventHandler(MyOnKeyDown);
|
||||
if (pcChildIdx > 0)
|
||||
{
|
||||
@@ -1192,9 +1252,18 @@ namespace ctlXMLEditLib
|
||||
// the following is needed to load the control.
|
||||
private void ctlXMLEdit_Load(object sender, System.EventArgs e)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public delegate void ctlXMLEditEvent(object sender, ctlXMLEditEventArgs args); // RO Editor add symbols C2022 - 003 for turning off symbols btn for RO ID field.
|
||||
public event ctlXMLEditEvent EnableDisableSymbolsBtn;
|
||||
private void OnEnableDisableSymbolsBtn(ctlXMLEditEventArgs args)
|
||||
{
|
||||
if (EnableDisableSymbolsBtn != null)
|
||||
EnableDisableSymbolsBtn(this, args);
|
||||
}
|
||||
|
||||
// when data in a text box has changed, flag it (except for when this
|
||||
// happens during loading of original data). This flag will be used
|
||||
// later to know whether to save data.
|
||||
@@ -1210,7 +1279,7 @@ namespace ctlXMLEditLib
|
||||
// When leaving the textbox
|
||||
private void txtBox_Leave(object sender, EventArgs e)
|
||||
{
|
||||
TextBox tb = sender as TextBox;
|
||||
roRichTextBox tb = sender as roRichTextBox;
|
||||
string dfTxt = "";
|
||||
try
|
||||
{
|
||||
@@ -1219,7 +1288,7 @@ namespace ctlXMLEditLib
|
||||
{
|
||||
object o = myHT[parentid];
|
||||
if (o != null)
|
||||
dfTxt = (o as TextBox).Text; // set to use the parent's value (default)
|
||||
dfTxt = (o as roRichTextBox).Text; // set to use the parent's value (default)
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1227,7 +1296,7 @@ namespace ctlXMLEditLib
|
||||
string parName = pcGrpBox.Name.Substring(5);
|
||||
object o = myHT[parName];
|
||||
if (o != null)
|
||||
dfTxt = (o as TextBox).Text; // set to use the parent's value (default)
|
||||
dfTxt = (o as roRichTextBox).Text; // set to use the parent's value (default)
|
||||
}
|
||||
}
|
||||
catch
|
||||
@@ -1235,7 +1304,7 @@ namespace ctlXMLEditLib
|
||||
string parName = pcGrpBox.Name.Substring(5);
|
||||
object o = myHT[parName];
|
||||
if (o != null)
|
||||
dfTxt = (o as TextBox).Text; // set to use the parent's value (default)
|
||||
dfTxt = (o as roRichTextBox).Text; // set to use the parent's value (default)
|
||||
}
|
||||
|
||||
if (dosaveflag) mysavexml = true;
|
||||
@@ -1251,7 +1320,7 @@ namespace ctlXMLEditLib
|
||||
// so clear the textbox so that user can enter the value for that child
|
||||
private void txtBox_Enter(object sender, EventArgs e)
|
||||
{
|
||||
TextBox tb = sender as TextBox;
|
||||
roRichTextBox tb = sender as roRichTextBox;
|
||||
if (tb.ForeColor == SystemColors.GrayText) // currently no value set - using parent's value
|
||||
{
|
||||
tb.Text = "";
|
||||
@@ -1264,7 +1333,7 @@ namespace ctlXMLEditLib
|
||||
private void radiocheckchg(object sender, System.EventArgs e)
|
||||
{
|
||||
RadioButton btnsel = (RadioButton) sender;
|
||||
TextBox assocbox;
|
||||
roRichTextBox assocbox;
|
||||
string btntext, str;
|
||||
|
||||
if(dosaveflag)mysavexml = true;
|
||||
@@ -1277,7 +1346,7 @@ namespace ctlXMLEditLib
|
||||
str = btnsel.Name.Replace(btntext,"");
|
||||
object o = myHT[str];
|
||||
if (o == null) return;
|
||||
assocbox = (TextBox) o;
|
||||
assocbox = (roRichTextBox) o;
|
||||
// make the text box visible if checked, otherwise, invisible
|
||||
assocbox.Visible = btnsel.Checked;
|
||||
// C2021-026 show or hide the Parent/Child appicability group box
|
||||
@@ -1299,7 +1368,7 @@ namespace ctlXMLEditLib
|
||||
c.Visible = vsblState; // show or hide the lable inside the group box
|
||||
object oo = myHT[c.Name];
|
||||
if (oo != null)
|
||||
(oo as TextBox).Visible = vsblState; // show or hide the associated text box
|
||||
(oo as roRichTextBox).Visible = vsblState; // show or hide the associated text box
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1391,7 +1460,7 @@ namespace ctlXMLEditLib
|
||||
|
||||
// The following can be used to validate the text, i.e. check the text against
|
||||
// the pattern. this needs written yet (5/16/02)
|
||||
private void MyValidatingCode(TextBox tb)
|
||||
private void MyValidatingCode(roRichTextBox tb)
|
||||
{
|
||||
//get the text box's tag which contains a flag for whether this is required &
|
||||
//if it has a pattern. If it has a pattern, validate the field against the pattern.
|
||||
@@ -1420,20 +1489,35 @@ namespace ctlXMLEditLib
|
||||
}
|
||||
|
||||
// save which box we're on, for zoom processing.
|
||||
private void textbox_zoombtn(object sender, System.EventArgs e)
|
||||
private void currentTextBox(object sender, System.EventArgs e)
|
||||
{
|
||||
TextBox textbox = (TextBox) sender;
|
||||
roRichTextBox textbox = (roRichTextBox) sender;
|
||||
if (textbox.Multiline == true || textbox == GraphicsFiletextbox)
|
||||
zoomtextbox = textbox;
|
||||
else
|
||||
zoomtextbox = null;
|
||||
|
||||
TextBoxFocus = textbox;
|
||||
|
||||
string RO_IDENDITY = RO_IDEN.Substring(1, RO_IDEN.Length - 2); // RO Editor add symbols C2022 - 003 for turning off symbols btn for RO ID.
|
||||
if (textbox.Name == RO_IDENDITY)
|
||||
{
|
||||
//ROEditor.rbtnSymbols.Enabled = false;
|
||||
OnEnableDisableSymbolsBtn(new ctlXMLEditEventArgs(DisplaySymBolBtn:false));
|
||||
}
|
||||
else
|
||||
{
|
||||
//ROEditor.rbtnSymbols.Enabled = true;
|
||||
OnEnableDisableSymbolsBtn(new ctlXMLEditEventArgs(DisplaySymBolBtn:true));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void textbox_Validating(object sender, System.ComponentModel.CancelEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
MyValidatingCode((TextBox) sender);
|
||||
MyValidatingCode((roRichTextBox) sender);
|
||||
}
|
||||
|
||||
catch(Exception ex)
|
||||
@@ -1460,10 +1544,9 @@ namespace ctlXMLEditLib
|
||||
btnZoom_click(null, null);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void btnZoom_click(object sender, System.EventArgs e)
|
||||
{
|
||||
//TextBox tb = (TextBox) sender;
|
||||
TextBoxAttrTag tag;
|
||||
bool doimage = false;
|
||||
if (zoomtextbox.Tag != null)
|
||||
@@ -1507,7 +1590,7 @@ namespace ctlXMLEditLib
|
||||
// file local & keep width/height of file proportional.
|
||||
private void GraphicText_lostfocus(object sender, System.EventArgs e)
|
||||
{
|
||||
TextBox fnamebox = (TextBox) sender;
|
||||
roRichTextBox fnamebox = (roRichTextBox) sender;
|
||||
if (fnamebox.Text != "" && fnamebox.Modified == true)
|
||||
{
|
||||
FileInfo ifi = new FileInfo(fnamebox.Text);
|
||||
@@ -1716,7 +1799,7 @@ namespace ctlXMLEditLib
|
||||
// if changed height, calculate associated width
|
||||
private void GraphicsHt_lostfocus(object sender, System.EventArgs e)
|
||||
{
|
||||
TextBox ht = (TextBox) sender;
|
||||
roRichTextBox ht = (roRichTextBox) sender;
|
||||
if (ht.Modified == true)
|
||||
{
|
||||
try
|
||||
@@ -1733,7 +1816,7 @@ namespace ctlXMLEditLib
|
||||
// if changed width, calculate associated height
|
||||
private void GraphicsWd_lostfocus(object sender, System.EventArgs e)
|
||||
{
|
||||
TextBox wd = (TextBox) sender;
|
||||
roRichTextBox wd = (roRichTextBox) sender;
|
||||
if (wd.Modified == true)
|
||||
{
|
||||
try
|
||||
@@ -1888,7 +1971,7 @@ namespace ctlXMLEditLib
|
||||
* and overload a couple of it's functions in order to use it.
|
||||
* - called in CalculatePromsDate() above.
|
||||
*/
|
||||
public class ThisTimeZone : TimeZone
|
||||
public class ThisTimeZone : TimeZone
|
||||
{
|
||||
private TimeZone curTZ;
|
||||
public TimeSpan SpanTZ;
|
||||
@@ -1929,5 +2012,30 @@ namespace ctlXMLEditLib
|
||||
return curTZ.GetDaylightChanges(year);
|
||||
}
|
||||
}
|
||||
public class ctlXMLEditEventArgs : EventArgs // RO Editor add symbols C2022 - 003 for turning off symbols btn for RO ID.
|
||||
{
|
||||
public ctlXMLEditEventArgs() {; }
|
||||
public ctlXMLEditEventArgs(bool DisplaySymBolBtn)
|
||||
{
|
||||
_DisplaySymBolBtn = DisplaySymBolBtn;
|
||||
}
|
||||
private bool _DisplaySymBolBtn;
|
||||
|
||||
public bool DisplaySymBolBtn
|
||||
{
|
||||
get { return _DisplaySymBolBtn; }
|
||||
set { _DisplaySymBolBtn = value; }
|
||||
}
|
||||
}
|
||||
|
||||
public enum E_FontStyle : byte
|
||||
{
|
||||
FS_NONE = 0,
|
||||
FS_BOLD = 0x01,
|
||||
FS_UNDERLINE = 0x02,
|
||||
FS_ITALIC = 0x04,
|
||||
FS_SUPERSCRIPT = 0x08,
|
||||
FS_SUBSCRIPT = 0x10
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -137,6 +137,12 @@
|
||||
<Compile Include="ImageDialog.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="roRichTextBox.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="roRichTextBox.Designer.cs">
|
||||
<DependentUpon>roRichTextBox.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ZoomDialog.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
|
||||
40
PROMS/ReferencedObjects/LibSource/ctlXMLEditLib/roRichTextBox.Designer.cs
generated
Normal file
40
PROMS/ReferencedObjects/LibSource/ctlXMLEditLib/roRichTextBox.Designer.cs
generated
Normal file
@@ -0,0 +1,40 @@
|
||||
|
||||
namespace ctlXMLEditLib
|
||||
{
|
||||
partial class roRichTextBox
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
System.Windows.Forms.AutoScaleMode AutoScaleMode;
|
||||
private void InitializeComponent()
|
||||
{
|
||||
|
||||
components = new System.ComponentModel.Container();
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace ctlXMLEditLib
|
||||
{
|
||||
public partial class roRichTextBox : RichTextBox // C2022-003 Symbols in RO Editor. Customized RichTextBox for RO Editor.
|
||||
{
|
||||
public roRichTextBox()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public void InsertSymbol( int symbcode)
|
||||
{
|
||||
int position = this.SelectionStart;
|
||||
string sym = string.Format(symbcode < 256 ? "\'{0:X2}" : @"\u{0}", symbcode);
|
||||
string RtfPrefixForSymbols = @"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 FreeMono; } {\f1\fnil\fcharset0 FreeMono; } } {\colortbl;\red255\green0\blue0;\red0\green0\blue255; } \viewkind4\uc1\pard\fs24 \f1\fs24 ";
|
||||
this.SelectedRtf = RtfPrefixForSymbols + sym + @"}";
|
||||
this.SelectedRtf = @"{\rtf1\ansi\ansicpg1252\deff0\deflang1033\uc1 }";
|
||||
this.Select(position, 0); this.SelectedRtf = @"{\rtf1\ansi\ansicpg1252\deff0\deflang1033\uc1 }";
|
||||
this.Select(position, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -24432,89 +24432,6 @@ ELSE PRINT 'Procedure Creation: [vesp_GetOtherActiveSessions] Error on Creation'
|
||||
GO
|
||||
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_GetROsNotUsed]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||
DROP PROCEDURE [vesp_GetROsNotUsed];
|
||||
|
||||
GO
|
||||
|
||||
/****** Object: StoredProcedure [dbo].[vesp_GetROsNotUsed] ******/
|
||||
|
||||
-- =============================================
|
||||
-- Author: Matthew Schill
|
||||
-- Create date: 1/5/2026
|
||||
-- Description: Returns ROs that are not Used in PROMS
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[vesp_GetROsNotUsed]
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
Create table #notused (RofstChildID int NULL, roid [varchar](50) NULL, ID int NOT NULL, ParentID int NOT NULL, dbID int NOT NULL, title varchar(max) not null);
|
||||
|
||||
|
||||
DECLARE @FSTs table (RofstID int primary key NOT NULL, RODbID int NOT NULL)
|
||||
|
||||
INSERT INTO @FSTs
|
||||
Select max(RoFSTID), RODbID from ROFsts
|
||||
GROUP BY RODbID
|
||||
|
||||
--insert the not used ROs
|
||||
INSERT INTO #notused
|
||||
SELECT RofstChild.RofstChildID, RofstChild.roid, RofstChild.ID, RofstChild.ParentID, RofstChild.dbiID,
|
||||
RofstChild.title + Case When (Not RofstChild.[value] is null) Then ' (' + fstdb.dbiAP + '-' + RofstChild.appid + ')' Else '' End --Add in Accessory Page ID if it exists
|
||||
FROM RofstChild
|
||||
INNER JOIN RofstDatabase fstdb on fstdb.RofstID = RofstChild.RofstID and fstdb.dbiID = RofstChild.dbiID
|
||||
INNER JOIN @FSTs fst on fst.RofstID = fstdb.RofstID AND RofstChild.RofstID = fst.RofstID
|
||||
LEFT OUTER JOIN RofstChild subchild ON subChild.ParentID = RofstChild.ID --make sure it is not a parent of something else
|
||||
LEFT OUTER JOIN DRoUsages ON [DRoUsages].[ROID] like RofstChild.[ROID] + '%' AND fst.RODbID = DROUsages.RODbID --not used in documents
|
||||
LEFT OUTER JOIN RoUsages ON [RoUsages].[ROID] like RofstChild.[ROID] + '%' AND fst.RODbID = ROUsages.RODbID --not used in regular ROs
|
||||
where
|
||||
subchild.RofstChildID IS NULL --make sure it is not a parent of something else
|
||||
AND DRoUsages.DROUsageID IS NULL --not used in documents
|
||||
AND RoUsages.ROUsageID IS NULL --not used in regular ROs
|
||||
|
||||
--insert thier parents
|
||||
--if they are not already in @notused
|
||||
INSERT INTO #notused
|
||||
SELECT DISTINCT RofstChild.RofstChildID, RofstChild.roid, RofstChild.ID, RofstChild.ParentID, RofstChild.dbiID, RofstChild.title
|
||||
FROM RofstChild
|
||||
INNER JOIN #notused notusedgetparents on notusedgetparents.ParentID = RofstChild.ID AND RofstChild.dbiID = notusedgetparents.dbID
|
||||
INNER JOIN @FSTs fst on RofstChild.RofstID = fst.RofstID
|
||||
LEFT OUTER JOIN #notused notused on notused.RofstChildID = RofstChild.RofstChildID
|
||||
WHERE notused.RofstChildID IS NULL
|
||||
|
||||
--insert parent dbs
|
||||
--if they are not already in @notused
|
||||
INSERT INTO #notused
|
||||
SELECT DISTINCT NULL, NULL, RofstDatabase.ID, RofstDatabase.ParentID, RofstDatabase.dbiID, RofstDatabase.dbiTitle
|
||||
FROM RofstDatabase
|
||||
INNER JOIN @FSTs fst on fst.RofstID = RofstDatabase.RofstID
|
||||
|
||||
select *
|
||||
FROM #notused notused
|
||||
order by RofstChildID, dbID
|
||||
|
||||
drop table #notused
|
||||
|
||||
RETURN
|
||||
END
|
||||
|
||||
IF (@@Error = 0) PRINT 'Procedure Creation: [vesp_GetROsNotUsed] Succeeded'
|
||||
ELSE PRINT 'Procedure Creation: [vesp_GetROsNotUsed] Error on Creation'
|
||||
GO
|
||||
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysIndexes WHERE name like 'IX_tblROUsagesRODbIDDeleteStatusROID')
|
||||
DROP INDEX [IX_tblROUsagesRODbIDDeleteStatusROID] ON [dbo].[tblROUsages];
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX IX_tblROUsagesRODbIDDeleteStatusROID
|
||||
ON [dbo].[tblROUsages] ([RODbID],[DeleteStatus],[ROID])
|
||||
INCLUDE([ROUsageID],[ContentID],[Config],[DTS],[UserID],[LastChanged]) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
PRINT 'Added IX_tblROUsagesRODbIDDeleteStatusROID Index. Speeds up RO queries'
|
||||
GO
|
||||
|
||||
/*
|
||||
---------------------------------------------------------------------------
|
||||
| ADD New Code Before this Block |
|
||||
@@ -24548,8 +24465,8 @@ BEGIN TRY -- Try Block
|
||||
DECLARE @RevDate varchar(255)
|
||||
DECLARE @RevDescription varchar(255)
|
||||
|
||||
set @RevDate = '1/12/2026 2:00 PM'
|
||||
set @RevDescription = 'Added Method to get ROs that are not used in PROMS'
|
||||
set @RevDate = '09/16/2025 7:00 AM'
|
||||
set @RevDescription = 'Added Purge Change History and Index Maintenance functions to Admin Tools'
|
||||
|
||||
Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription
|
||||
PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
|
||||
|
||||
@@ -13,8 +13,6 @@ using System.Text.RegularExpressions;
|
||||
using System.Globalization;
|
||||
using DevComponents.DotNetBar;
|
||||
using JR.Utils.GUI.Forms;
|
||||
using Volian.Controls.Library;
|
||||
using System.Linq;
|
||||
|
||||
namespace VEPROMS
|
||||
{
|
||||
@@ -1323,26 +1321,6 @@ namespace VEPROMS
|
||||
|
||||
// Clear the change bar override for this procedure:
|
||||
pi.ClearChangeBarOverrides();
|
||||
|
||||
//B2019-140 Change bars do not get refreshed when approval is run.
|
||||
ProcedureInfo newproc = ItemInfo.ResetProcedure(pi.ItemID);
|
||||
|
||||
//// Refresh the StepPanel for the current Procedure
|
||||
//// so change bars update
|
||||
//// on any open StepPanel
|
||||
DisplayTabItem dti = MyFrmVEPROMS.GetTabContainingProcedure(pi.ItemID);
|
||||
if (dti != null)
|
||||
{
|
||||
if (!dti.MyStepTabPanel.MyStepPanel.ContainsFocus)
|
||||
dti.MyStepTabPanel.MyStepPanel.Focus();
|
||||
|
||||
foreach (EditItem eitm in dti.MyStepTabPanel.MyStepPanel.Controls.OfType<EditItem>())
|
||||
eitm.ChangeBar = eitm.MyItemInfo.HasChangeBar;
|
||||
}
|
||||
|
||||
//since in a separate form, need to update the tree view
|
||||
//so "Showing Change Bars" Content Menu Item is correct
|
||||
MyFrmVEPROMS.RefreshProcedureNode(newproc);
|
||||
}
|
||||
else
|
||||
UpdateProcedureConfig(pi, ap.RevNumber, ap.RevDate, myDTS, selectedSlave);
|
||||
|
||||
272
PROMS/VEPROMS User Interface/frmBatchRefresh.Designer.cs
generated
272
PROMS/VEPROMS User Interface/frmBatchRefresh.Designer.cs
generated
@@ -52,16 +52,6 @@
|
||||
this.expandableSplitter1 = new DevComponents.DotNetBar.ExpandableSplitter();
|
||||
this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
|
||||
this.sideNav1 = new DevComponents.DotNetBar.Controls.SideNav();
|
||||
this.sideNavPanel5 = new DevComponents.DotNetBar.Controls.SideNavPanel();
|
||||
this.itemPanel1 = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnPurgeChange = new DevComponents.DotNetBar.ButtonX();
|
||||
this.dtePurge = new System.Windows.Forms.DateTimePicker();
|
||||
this.warningBox3 = new DevComponents.DotNetBar.Controls.WarningBox();
|
||||
this.warningBox6 = new DevComponents.DotNetBar.Controls.WarningBox();
|
||||
this.itemPanel2 = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnIndexMaint = new DevComponents.DotNetBar.ButtonX();
|
||||
this.itemPanel3 = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnROsNotUsed = new DevComponents.DotNetBar.ButtonX();
|
||||
this.sideNavPanel2 = new DevComponents.DotNetBar.Controls.SideNavPanel();
|
||||
this.swRefreshTblsForSrch = new DevComponents.DotNetBar.Controls.SwitchButton();
|
||||
this.lblRefreshTblForSrch = new DevComponents.DotNetBar.LabelX();
|
||||
@@ -85,6 +75,13 @@
|
||||
this.labelX14 = new DevComponents.DotNetBar.LabelX();
|
||||
this.myTVdel = new System.Windows.Forms.TreeView();
|
||||
this.btnDeleteItems = new DevComponents.DotNetBar.ButtonX();
|
||||
this.sideNavPanel5 = new DevComponents.DotNetBar.Controls.SideNavPanel();
|
||||
this.btnIndexMaint = new DevComponents.DotNetBar.ButtonX();
|
||||
this.itemPanel1 = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnPurgeChange = new DevComponents.DotNetBar.ButtonX();
|
||||
this.dtePurge = new System.Windows.Forms.DateTimePicker();
|
||||
this.warningBox3 = new DevComponents.DotNetBar.Controls.WarningBox();
|
||||
this.warningBox6 = new DevComponents.DotNetBar.Controls.WarningBox();
|
||||
this.sideNavPanel3 = new DevComponents.DotNetBar.Controls.SideNavPanel();
|
||||
this.swCheckROLinks = new DevComponents.DotNetBar.Controls.SwitchButton();
|
||||
this.labelX12 = new DevComponents.DotNetBar.LabelX();
|
||||
@@ -123,12 +120,10 @@
|
||||
this.pnlLater.SuspendLayout();
|
||||
this.panelEx1.SuspendLayout();
|
||||
this.sideNav1.SuspendLayout();
|
||||
this.sideNavPanel5.SuspendLayout();
|
||||
this.itemPanel1.SuspendLayout();
|
||||
this.itemPanel2.SuspendLayout();
|
||||
this.itemPanel3.SuspendLayout();
|
||||
this.sideNavPanel2.SuspendLayout();
|
||||
this.sideNavPanel4.SuspendLayout();
|
||||
this.sideNavPanel5.SuspendLayout();
|
||||
this.itemPanel1.SuspendLayout();
|
||||
this.sideNavPanel3.SuspendLayout();
|
||||
this.panelEx4.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
@@ -351,7 +346,7 @@
|
||||
this.pnlLater.Controls.Add(this.dtpDate);
|
||||
this.pnlLater.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.pnlLater.Enabled = false;
|
||||
this.pnlLater.Location = new System.Drawing.Point(6, 25);
|
||||
this.pnlLater.Location = new System.Drawing.Point(6, 23);
|
||||
this.pnlLater.Name = "pnlLater";
|
||||
this.pnlLater.Padding = new System.Windows.Forms.Padding(6);
|
||||
this.pnlLater.Size = new System.Drawing.Size(279, 37);
|
||||
@@ -362,7 +357,7 @@
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(105, 15);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(19, 15);
|
||||
this.label5.Size = new System.Drawing.Size(18, 13);
|
||||
this.label5.TabIndex = 5;
|
||||
this.label5.Text = "@";
|
||||
//
|
||||
@@ -392,7 +387,7 @@
|
||||
this.chkLater.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.chkLater.Location = new System.Drawing.Point(6, 6);
|
||||
this.chkLater.Name = "chkLater";
|
||||
this.chkLater.Size = new System.Drawing.Size(279, 19);
|
||||
this.chkLater.Size = new System.Drawing.Size(279, 17);
|
||||
this.chkLater.TabIndex = 4;
|
||||
this.chkLater.Text = "Process Later";
|
||||
this.chkLater.UseVisualStyleBackColor = true;
|
||||
@@ -465,8 +460,8 @@
|
||||
// sideNav1
|
||||
//
|
||||
this.sideNav1.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.sideNav1.Controls.Add(this.sideNavPanel5);
|
||||
this.sideNav1.Controls.Add(this.sideNavPanel2);
|
||||
this.sideNav1.Controls.Add(this.sideNavPanel5);
|
||||
this.sideNav1.Controls.Add(this.sideNavPanel4);
|
||||
this.sideNav1.Controls.Add(this.sideNavPanel3);
|
||||
this.sideNav1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
@@ -487,138 +482,6 @@
|
||||
this.sideNav1.TabIndex = 3;
|
||||
this.sideNav1.Text = "sideNav1";
|
||||
//
|
||||
// sideNavPanel5
|
||||
//
|
||||
this.sideNavPanel5.Controls.Add(this.itemPanel1);
|
||||
this.sideNavPanel5.Controls.Add(this.itemPanel2);
|
||||
this.sideNavPanel5.Controls.Add(this.itemPanel3);
|
||||
this.sideNavPanel5.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.sideNavPanel5.Location = new System.Drawing.Point(117, 35);
|
||||
this.sideNavPanel5.MinimumSize = new System.Drawing.Size(0, 493);
|
||||
this.sideNavPanel5.Name = "sideNavPanel5";
|
||||
this.sideNavPanel5.Size = new System.Drawing.Size(263, 493);
|
||||
this.sideNavPanel5.TabIndex = 26;
|
||||
//
|
||||
// itemPanel1
|
||||
//
|
||||
this.itemPanel1.Controls.Add(this.btnPurgeChange);
|
||||
this.itemPanel1.Controls.Add(this.dtePurge);
|
||||
this.itemPanel1.Controls.Add(this.warningBox3);
|
||||
this.itemPanel1.Controls.Add(this.warningBox6);
|
||||
this.itemPanel1.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.itemPanel1.Location = new System.Drawing.Point(0, -2);
|
||||
this.itemPanel1.Name = "itemPanel1";
|
||||
this.itemPanel1.Size = new System.Drawing.Size(267, 148);
|
||||
this.itemPanel1.Style.Border = DevComponents.DotNetBar.eBorderType.DoubleLine;
|
||||
this.itemPanel1.Style.BorderColor.Color = System.Drawing.Color.DarkGray;
|
||||
this.itemPanel1.TabIndex = 0;
|
||||
//
|
||||
// btnPurgeChange
|
||||
//
|
||||
this.btnPurgeChange.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||
this.btnPurgeChange.Checked = true;
|
||||
this.btnPurgeChange.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
|
||||
this.btnPurgeChange.Location = new System.Drawing.Point(18, 32);
|
||||
this.btnPurgeChange.Name = "btnPurgeChange";
|
||||
this.btnPurgeChange.Size = new System.Drawing.Size(227, 23);
|
||||
this.btnPurgeChange.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnPurgeChange.TabIndex = 1;
|
||||
this.btnPurgeChange.Text = "Purge Change History";
|
||||
this.btnPurgeChange.Tooltip = resources.GetString("btnPurgeChange.Tooltip");
|
||||
this.btnPurgeChange.Click += new System.EventHandler(this.btnPurgeChange_Click);
|
||||
//
|
||||
// dtePurge
|
||||
//
|
||||
this.dtePurge.Format = System.Windows.Forms.DateTimePickerFormat.Short;
|
||||
this.dtePurge.Location = new System.Drawing.Point(92, 7);
|
||||
this.dtePurge.Name = "dtePurge";
|
||||
this.dtePurge.Size = new System.Drawing.Size(87, 20);
|
||||
this.dtePurge.TabIndex = 0;
|
||||
//
|
||||
// warningBox3
|
||||
//
|
||||
this.warningBox3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(219)))), ((int)(((byte)(249)))));
|
||||
this.warningBox3.CloseButtonVisible = false;
|
||||
this.warningBox3.Image = ((System.Drawing.Image)(resources.GetObject("warningBox3.Image")));
|
||||
this.warningBox3.Location = new System.Drawing.Point(1, 61);
|
||||
this.warningBox3.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
||||
this.warningBox3.Name = "warningBox3";
|
||||
this.warningBox3.OptionsButtonVisible = false;
|
||||
this.warningBox3.Size = new System.Drawing.Size(264, 32);
|
||||
this.warningBox3.TabIndex = 32;
|
||||
this.warningBox3.Text = "<b>NOTE</b> These tools can take a long time to run";
|
||||
//
|
||||
// warningBox6
|
||||
//
|
||||
this.warningBox6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(219)))), ((int)(((byte)(249)))));
|
||||
this.warningBox6.CloseButtonVisible = false;
|
||||
this.warningBox6.Image = ((System.Drawing.Image)(resources.GetObject("warningBox6.Image")));
|
||||
this.warningBox6.Location = new System.Drawing.Point(1, 97);
|
||||
this.warningBox6.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
||||
this.warningBox6.Name = "warningBox6";
|
||||
this.warningBox6.OptionsButtonVisible = false;
|
||||
this.warningBox6.Size = new System.Drawing.Size(264, 43);
|
||||
this.warningBox6.TabIndex = 31;
|
||||
this.warningBox6.Text = " Be sure there is a current backup of the \r\n database prior to running these func" +
|
||||
"tions";
|
||||
//
|
||||
// itemPanel2
|
||||
//
|
||||
this.itemPanel2.Controls.Add(this.btnIndexMaint);
|
||||
this.itemPanel2.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.itemPanel2.Location = new System.Drawing.Point(0, 145);
|
||||
this.itemPanel2.Name = "itemPanel2";
|
||||
this.itemPanel2.Size = new System.Drawing.Size(267, 73);
|
||||
this.itemPanel2.Style.BackgroundImagePosition = DevComponents.DotNetBar.eBackgroundImagePosition.Tile;
|
||||
this.itemPanel2.Style.Border = DevComponents.DotNetBar.eBorderType.DoubleLine;
|
||||
this.itemPanel2.Style.BorderColor.Color = System.Drawing.Color.DarkGray;
|
||||
this.itemPanel2.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
this.itemPanel2.Style.GradientAngle = 90;
|
||||
this.itemPanel2.TabIndex = 8;
|
||||
//
|
||||
// btnIndexMaint
|
||||
//
|
||||
this.btnIndexMaint.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||
this.btnIndexMaint.Checked = true;
|
||||
this.btnIndexMaint.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
|
||||
this.btnIndexMaint.Location = new System.Drawing.Point(19, 24);
|
||||
this.btnIndexMaint.Name = "btnIndexMaint";
|
||||
this.btnIndexMaint.Size = new System.Drawing.Size(227, 23);
|
||||
this.btnIndexMaint.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnIndexMaint.TabIndex = 4;
|
||||
this.btnIndexMaint.Text = "Perform Index Maintenance";
|
||||
this.btnIndexMaint.Tooltip = resources.GetString("btnIndexMaint.Tooltip");
|
||||
this.btnIndexMaint.Click += new System.EventHandler(this.btnIndexMaint_Click);
|
||||
//
|
||||
// itemPanel3
|
||||
//
|
||||
this.itemPanel3.Controls.Add(this.btnROsNotUsed);
|
||||
this.itemPanel3.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.itemPanel3.Location = new System.Drawing.Point(0, 218);
|
||||
this.itemPanel3.Name = "itemPanel3";
|
||||
this.itemPanel3.Size = new System.Drawing.Size(267, 70);
|
||||
this.itemPanel3.Style.BackgroundImagePosition = DevComponents.DotNetBar.eBackgroundImagePosition.Tile;
|
||||
this.itemPanel3.Style.Border = DevComponents.DotNetBar.eBorderType.DoubleLine;
|
||||
this.itemPanel3.Style.BorderColor.Color = System.Drawing.Color.DarkGray;
|
||||
this.itemPanel3.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
this.itemPanel3.Style.GradientAngle = 90;
|
||||
this.itemPanel3.TabIndex = 12;
|
||||
//
|
||||
// btnROsNotUsed
|
||||
//
|
||||
this.btnROsNotUsed.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||
this.btnROsNotUsed.Checked = true;
|
||||
this.btnROsNotUsed.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
|
||||
this.btnROsNotUsed.Location = new System.Drawing.Point(19, 22);
|
||||
this.btnROsNotUsed.Name = "btnROsNotUsed";
|
||||
this.btnROsNotUsed.Size = new System.Drawing.Size(227, 26);
|
||||
this.btnROsNotUsed.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.superTooltip1.SetSuperTooltip(this.btnROsNotUsed, new DevComponents.DotNetBar.SuperTooltipInfo("ROs Not Used Snapshot", "", "This will Generate an image detailing ROs that exist but are not currently utiliz" +
|
||||
"ed in any steps in PROMS.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray));
|
||||
this.btnROsNotUsed.TabIndex = 2;
|
||||
this.btnROsNotUsed.Text = "Generate Snapshot of ROs Not Used";
|
||||
this.btnROsNotUsed.Click += new System.EventHandler(this.btnROsNotUsed_Click);
|
||||
//
|
||||
// sideNavPanel2
|
||||
//
|
||||
this.sideNavPanel2.Controls.Add(this.swRefreshTblsForSrch);
|
||||
@@ -641,7 +504,6 @@
|
||||
this.sideNavPanel2.Name = "sideNavPanel2";
|
||||
this.sideNavPanel2.Size = new System.Drawing.Size(268, 493);
|
||||
this.sideNavPanel2.TabIndex = 6;
|
||||
this.sideNavPanel2.Visible = false;
|
||||
//
|
||||
// swRefreshTblsForSrch
|
||||
//
|
||||
@@ -681,7 +543,7 @@
|
||||
this.warningBox4.CloseButtonVisible = false;
|
||||
this.warningBox4.Image = ((System.Drawing.Image)(resources.GetObject("warningBox4.Image")));
|
||||
this.warningBox4.Location = new System.Drawing.Point(12, 264);
|
||||
this.warningBox4.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
||||
this.warningBox4.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.warningBox4.Name = "warningBox4";
|
||||
this.warningBox4.OptionsButtonVisible = false;
|
||||
this.warningBox4.Size = new System.Drawing.Size(264, 32);
|
||||
@@ -694,7 +556,7 @@
|
||||
this.warningBox2.CloseButtonVisible = false;
|
||||
this.warningBox2.Image = ((System.Drawing.Image)(resources.GetObject("warningBox2.Image")));
|
||||
this.warningBox2.Location = new System.Drawing.Point(12, 302);
|
||||
this.warningBox2.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
||||
this.warningBox2.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.warningBox2.Name = "warningBox2";
|
||||
this.warningBox2.OptionsButtonVisible = false;
|
||||
this.warningBox2.Size = new System.Drawing.Size(264, 43);
|
||||
@@ -972,6 +834,95 @@
|
||||
this.btnDeleteItems.TabIndex = 35;
|
||||
this.btnDeleteItems.Text = "Process Deletions";
|
||||
this.btnDeleteItems.Click += new System.EventHandler(this.btnDeleteItems_Click);
|
||||
//
|
||||
// sideNavPanel5
|
||||
//
|
||||
this.sideNavPanel5.Controls.Add(this.btnIndexMaint);
|
||||
this.sideNavPanel5.Controls.Add(this.itemPanel1);
|
||||
this.sideNavPanel5.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.sideNavPanel5.Location = new System.Drawing.Point(112, 31);
|
||||
this.sideNavPanel5.MinimumSize = new System.Drawing.Size(0, 493);
|
||||
this.sideNavPanel5.Name = "sideNavPanel5";
|
||||
this.sideNavPanel5.Size = new System.Drawing.Size(268, 493);
|
||||
this.sideNavPanel5.TabIndex = 26;
|
||||
this.sideNavPanel5.Visible = false;
|
||||
//
|
||||
// btnIndexMaint
|
||||
//
|
||||
this.btnIndexMaint.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||
this.btnIndexMaint.Checked = true;
|
||||
this.btnIndexMaint.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
|
||||
this.btnIndexMaint.Location = new System.Drawing.Point(20, 152);
|
||||
this.btnIndexMaint.Name = "btnIndexMaint";
|
||||
this.btnIndexMaint.Size = new System.Drawing.Size(227, 23);
|
||||
this.btnIndexMaint.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnIndexMaint.TabIndex = 4;
|
||||
this.btnIndexMaint.Text = "Perform Index Maintenance";
|
||||
this.btnIndexMaint.Tooltip = resources.GetString("btnIndexMaint.Tooltip");
|
||||
this.btnIndexMaint.Click += new System.EventHandler(this.btnIndexMaint_Click);
|
||||
//
|
||||
// itemPanel1
|
||||
//
|
||||
this.itemPanel1.Controls.Add(this.btnPurgeChange);
|
||||
this.itemPanel1.Controls.Add(this.dtePurge);
|
||||
this.itemPanel1.Controls.Add(this.warningBox3);
|
||||
this.itemPanel1.Controls.Add(this.warningBox6);
|
||||
this.itemPanel1.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.itemPanel1.Location = new System.Drawing.Point(0, -2);
|
||||
this.itemPanel1.Name = "itemPanel1";
|
||||
this.itemPanel1.Size = new System.Drawing.Size(267, 148);
|
||||
this.itemPanel1.Style.Border = DevComponents.DotNetBar.eBorderType.DoubleLine;
|
||||
this.itemPanel1.Style.BorderColor.Color = System.Drawing.Color.DarkGray;
|
||||
this.itemPanel1.TabIndex = 0;
|
||||
//
|
||||
// btnPurgeChange
|
||||
//
|
||||
this.btnPurgeChange.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||
this.btnPurgeChange.Checked = true;
|
||||
this.btnPurgeChange.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
|
||||
this.btnPurgeChange.Location = new System.Drawing.Point(18, 32);
|
||||
this.btnPurgeChange.Name = "btnPurgeChange";
|
||||
this.btnPurgeChange.Size = new System.Drawing.Size(227, 23);
|
||||
this.btnPurgeChange.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnPurgeChange.TabIndex = 1;
|
||||
this.btnPurgeChange.Text = "Purge Change History";
|
||||
this.btnPurgeChange.Tooltip = resources.GetString("btnPurgeChange.Tooltip");
|
||||
this.btnPurgeChange.Click += new System.EventHandler(this.btnPurgeChange_Click);
|
||||
//
|
||||
// dtePurge
|
||||
//
|
||||
this.dtePurge.Format = System.Windows.Forms.DateTimePickerFormat.Short;
|
||||
this.dtePurge.Location = new System.Drawing.Point(92, 7);
|
||||
this.dtePurge.Name = "dtePurge";
|
||||
this.dtePurge.Size = new System.Drawing.Size(87, 20);
|
||||
this.dtePurge.TabIndex = 0;
|
||||
//
|
||||
// warningBox3
|
||||
//
|
||||
this.warningBox3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(219)))), ((int)(((byte)(249)))));
|
||||
this.warningBox3.CloseButtonVisible = false;
|
||||
this.warningBox3.Image = ((System.Drawing.Image)(resources.GetObject("warningBox3.Image")));
|
||||
this.warningBox3.Location = new System.Drawing.Point(1, 61);
|
||||
this.warningBox3.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.warningBox3.Name = "warningBox3";
|
||||
this.warningBox3.OptionsButtonVisible = false;
|
||||
this.warningBox3.Size = new System.Drawing.Size(264, 32);
|
||||
this.warningBox3.TabIndex = 32;
|
||||
this.warningBox3.Text = "<b>NOTE</b> These tools can take a long time to run";
|
||||
//
|
||||
// warningBox6
|
||||
//
|
||||
this.warningBox6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(219)))), ((int)(((byte)(249)))));
|
||||
this.warningBox6.CloseButtonVisible = false;
|
||||
this.warningBox6.Image = ((System.Drawing.Image)(resources.GetObject("warningBox6.Image")));
|
||||
this.warningBox6.Location = new System.Drawing.Point(1, 97);
|
||||
this.warningBox6.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.warningBox6.Name = "warningBox6";
|
||||
this.warningBox6.OptionsButtonVisible = false;
|
||||
this.warningBox6.Size = new System.Drawing.Size(264, 43);
|
||||
this.warningBox6.TabIndex = 31;
|
||||
this.warningBox6.Text = " Be sure there is a current backup of the \r\n database prior to running these func" +
|
||||
"tions";
|
||||
//
|
||||
// sideNavPanel3
|
||||
//
|
||||
@@ -1030,7 +981,7 @@
|
||||
this.warningBox5.CloseButtonVisible = false;
|
||||
this.warningBox5.Image = ((System.Drawing.Image)(resources.GetObject("warningBox5.Image")));
|
||||
this.warningBox5.Location = new System.Drawing.Point(17, 145);
|
||||
this.warningBox5.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
||||
this.warningBox5.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.warningBox5.Name = "warningBox5";
|
||||
this.warningBox5.OptionsButtonVisible = false;
|
||||
this.warningBox5.Size = new System.Drawing.Size(262, 32);
|
||||
@@ -1114,7 +1065,7 @@
|
||||
this.warningBox1.CloseButtonVisible = false;
|
||||
this.warningBox1.Image = ((System.Drawing.Image)(resources.GetObject("warningBox1.Image")));
|
||||
this.warningBox1.Location = new System.Drawing.Point(17, 181);
|
||||
this.warningBox1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
||||
this.warningBox1.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.warningBox1.Name = "warningBox1";
|
||||
this.warningBox1.OptionsButtonVisible = false;
|
||||
this.warningBox1.Size = new System.Drawing.Size(262, 43);
|
||||
@@ -1157,6 +1108,7 @@
|
||||
//
|
||||
// sideNavItmRepair
|
||||
//
|
||||
this.sideNavItmRepair.Checked = true;
|
||||
this.sideNavItmRepair.Name = "sideNavItmRepair";
|
||||
this.sideNavItmRepair.Panel = this.sideNavPanel2;
|
||||
this.sideNavItmRepair.Symbol = "";
|
||||
@@ -1173,7 +1125,6 @@
|
||||
//
|
||||
// sideNavItmMaint
|
||||
//
|
||||
this.sideNavItmMaint.Checked = true;
|
||||
this.sideNavItmMaint.Name = "sideNavItmMaint";
|
||||
this.sideNavItmMaint.Panel = this.sideNavPanel5;
|
||||
this.sideNavItmMaint.Symbol = "58154";
|
||||
@@ -1320,12 +1271,10 @@
|
||||
this.panelEx1.ResumeLayout(false);
|
||||
this.sideNav1.ResumeLayout(false);
|
||||
this.sideNav1.PerformLayout();
|
||||
this.sideNavPanel5.ResumeLayout(false);
|
||||
this.itemPanel1.ResumeLayout(false);
|
||||
this.itemPanel2.ResumeLayout(false);
|
||||
this.itemPanel3.ResumeLayout(false);
|
||||
this.sideNavPanel2.ResumeLayout(false);
|
||||
this.sideNavPanel4.ResumeLayout(false);
|
||||
this.sideNavPanel5.ResumeLayout(false);
|
||||
this.itemPanel1.ResumeLayout(false);
|
||||
this.sideNavPanel3.ResumeLayout(false);
|
||||
this.panelEx4.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
@@ -1414,9 +1363,6 @@
|
||||
private DevComponents.DotNetBar.Controls.WarningBox warningBox3;
|
||||
private DevComponents.DotNetBar.Controls.WarningBox warningBox6;
|
||||
private DevComponents.DotNetBar.ButtonX btnIndexMaint;
|
||||
private DevComponents.DotNetBar.PanelEx itemPanel2;
|
||||
private DevComponents.DotNetBar.PanelEx itemPanel3;
|
||||
private DevComponents.DotNetBar.ButtonX btnROsNotUsed;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1778,44 +1778,7 @@ namespace VEPROMS
|
||||
return true;
|
||||
}
|
||||
|
||||
//CSM - C2025-043 report RO's that are not used in any of the PROMS data.
|
||||
private void btnROsNotUsed_Click(object sender, EventArgs e)
|
||||
{
|
||||
//Get the path to save the Image to
|
||||
SaveFileDialog sfd = new SaveFileDialog();
|
||||
sfd.DefaultExt = "bmp";
|
||||
sfd.AddExtension = true;
|
||||
sfd.Filter = "Image Files (*.bmp)|*.bmp";
|
||||
sfd.FileName = string.Format("ROsNotUsed_{0}", DateTime.Now.ToString("yyyyMMdd_HHmm"));
|
||||
sfd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VEPROMS";
|
||||
DialogResult dr = sfd.ShowDialog();
|
||||
|
||||
if (dr == DialogResult.OK)
|
||||
{
|
||||
//Initial messaging
|
||||
string statmsg = "Generating Snapshot (this may take a few minutes to complete)...";
|
||||
InitialProgressBarMessage = statmsg;
|
||||
txtResults.AppendText(statmsg);
|
||||
txtResults.AppendText(Environment.NewLine);
|
||||
|
||||
//Generate the data for ROs Not Used and save it to a TreeView
|
||||
TreeView tv = TreeViewExtensions.GetROTree(GeneralReports.GetROsNotUsedInPROMS(), true);
|
||||
//Output the TreeView as an Image
|
||||
if (tv.Nodes.Count != 0)
|
||||
tv.SaveTreeViewAsImage(sfd.FileName);
|
||||
|
||||
//Give Messaging demonstrating finished and open file if requested
|
||||
statmsg = "Finished Generating Snapshot of ROs Not Used.";
|
||||
FinalProgressBarMessage = statmsg;
|
||||
txtResults.AppendText(statmsg);
|
||||
txtResults.AppendText(Environment.NewLine);
|
||||
if (tv.Nodes.Count != 0 && MessageBox.Show($"{statmsg}\r\n\r\nDo you wish to open the snapshot now?", "ROs Not Used", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.Yes)
|
||||
System.Diagnostics.Process.Start(sfd.FileName);
|
||||
else if (tv.Nodes.Count == 0)
|
||||
MessageBox.Show("All ROs are currently in use.", "ROs Not Used", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -117,57 +117,6 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnIndexMaint.Tooltip" xml:space="preserve">
|
||||
<value>This will perform Index Maintenance to realign indexes to optimize performance.
|
||||
This function will cause no change to data or records in PROMS.
|
||||
It should however be performed when other users are not in PROMS, as it could
|
||||
cause slowdown or errors for other users while it is running.</value>
|
||||
</data>
|
||||
<metadata name="superTooltip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<data name="btnPurgeChange.Tooltip" xml:space="preserve">
|
||||
<value>Purges all audit information and change history older than the above date.
|
||||
It is recommended that you perform a database backup before performing this action.
|
||||
Note after purging the information, this will automatically perform the Index
|
||||
Maintenance function to realign indexes with the cut down audit data.
|
||||
Only Full PROMS Administrator Users can perform this action.</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="warningBox3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAp5JREFUOE+F
|
||||
k11Ik1Ecxv9zouJ2E4TWnR8V5tAppJmYsLnNlaLTxAoiKIQiibpYSmEEmSSa0IVGISMUw7rpE+yiQiuk
|
||||
/IhROssPyjanpL4udeq29z3nCdcH+Wb1g+fq/zzP+R8Oh+gvPK4kNWujp1IrPek8S5Hy+X9hbXSN9aVC
|
||||
eq1FwEYN8vk/mWqiDPZwI+NOHbhLj8CdDaK7npLlvnWpO0AKqZV62YgO/GMquDMN0rAevkbqlHvXZdlG
|
||||
h6Rn8eATu4GJncB0Fvh8HnwPYuGpJ4vcvwZbGYWJrcpPzGXG8ngGtsZFQJOggrS0B9J0MbwNIR9uHqRQ
|
||||
ee4XPhuVSy814IIB/lk9QkIIanUomFgIzkux0qHB/CUqk+eCtB2jCLEl1M1mLcBSLthKHlQqJaKjw8FZ
|
||||
Mbi/ENKXEizUKD/f2k9h8jz5mumk2K0F9xUAUgE4K0JUVDji4yLBvflgMyYwlxFL9zSYq6ITa8I3DlNY
|
||||
wKZ0soVSgFkAXgwuFSEmJhJJiWqwCR3YSCbY2x0QB4zwnFc6W4p+22KxiY4EXiQF74kf6/L5vdi+TYV0
|
||||
rRpsMB2sPxWsRwvpTTq87QmYOUNHg+HqQlL4ryscbK4UPGD5vu60CWw8G7evbkN7bSykXm0w/FMBew6E
|
||||
CsXQFQMpaLKezP6OLeDL+8AFM5hLBzaciennKcFXUCgI7o7ENQWSfRcWmmPgPEW5tNJIj8QxM9hkDthY
|
||||
FthAGlh/SvAPXC7fjOrjmyC+Sl5TsCpfdzYEK92llUbllDiaD3HEDPG9CaLDCGnI9IdEhwnioBHiOwMC
|
||||
dj38fYbVglHy1FGJt57uL9ZS10IN9cxfJPvXCzTgqSKH5xwNzVXSkFBBDsFKA4KV7IKVegQrda2e7j5N
|
||||
ud8AKwnMnBpmYFAAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="warningBox6.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAp5JREFUOE+F
|
||||
k11Ik1Ecxv9zouJ2E4TWnR8V5tAppJmYsLnNlaLTxAoiKIQiibpYSmEEmSSa0IVGISMUw7rpE+yiQiuk
|
||||
/IhROssPyjanpL4udeq29z3nCdcH+Wb1g+fq/zzP+R8Oh+gvPK4kNWujp1IrPek8S5Hy+X9hbXSN9aVC
|
||||
eq1FwEYN8vk/mWqiDPZwI+NOHbhLj8CdDaK7npLlvnWpO0AKqZV62YgO/GMquDMN0rAevkbqlHvXZdlG
|
||||
h6Rn8eATu4GJncB0Fvh8HnwPYuGpJ4vcvwZbGYWJrcpPzGXG8ngGtsZFQJOggrS0B9J0MbwNIR9uHqRQ
|
||||
ee4XPhuVSy814IIB/lk9QkIIanUomFgIzkux0qHB/CUqk+eCtB2jCLEl1M1mLcBSLthKHlQqJaKjw8FZ
|
||||
Mbi/ENKXEizUKD/f2k9h8jz5mumk2K0F9xUAUgE4K0JUVDji4yLBvflgMyYwlxFL9zSYq6ITa8I3DlNY
|
||||
wKZ0soVSgFkAXgwuFSEmJhJJiWqwCR3YSCbY2x0QB4zwnFc6W4p+22KxiY4EXiQF74kf6/L5vdi+TYV0
|
||||
rRpsMB2sPxWsRwvpTTq87QmYOUNHg+HqQlL4ryscbK4UPGD5vu60CWw8G7evbkN7bSykXm0w/FMBew6E
|
||||
CsXQFQMpaLKezP6OLeDL+8AFM5hLBzaciennKcFXUCgI7o7ENQWSfRcWmmPgPEW5tNJIj8QxM9hkDthY
|
||||
FthAGlh/SvAPXC7fjOrjmyC+Sl5TsCpfdzYEK92llUbllDiaD3HEDPG9CaLDCGnI9IdEhwnioBHiOwMC
|
||||
dj38fYbVglHy1FGJt57uL9ZS10IN9cxfJPvXCzTgqSKH5xwNzVXSkFBBDsFKA4KV7IKVegQrda2e7j5N
|
||||
ud8AKwnMnBpmYFAAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="superTooltip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
@@ -183,6 +132,7 @@ This function will remove all of the saved attachment PDFS stored in the databas
|
||||
This function will remove all of the saved attachment PDFS stored in the database (not the PDFs of the entire procedure that you had previous printed). This will force PROMS to regenerate (and save) the word attachment PDFs the next time the procedure is printed.
|
||||
</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="warningBox4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAp5JREFUOE+F
|
||||
@@ -266,6 +216,12 @@ Should an item become orphaned (disconnected) from the rest of the data, it will
|
||||
|
||||
Should an item become orphaned (disconnected) from the rest of the data, it will no longer be accessible. This tool removes any orphaned items from the database.
|
||||
</value>
|
||||
</data>
|
||||
<data name="btnIndexMaint.Tooltip" xml:space="preserve">
|
||||
<value>This will perform Index Maintenance to realign indexes to optimize performance.
|
||||
This function will cause no change to data or records in PROMS.
|
||||
It should however be performed when other users are not in PROMS, as it could
|
||||
cause slowdown or errors for other users while it is running.</value>
|
||||
</data>
|
||||
<data name="swDeleteFolder.SuperTooltip" xml:space="preserve">
|
||||
<value>This allows the user to remove folders and sub folders as well as their contents.
|
||||
@@ -305,6 +261,47 @@ If more than one working draft is selected, it is recommended that this be perfo
|
||||
Click on the on/off switches to turn on/off each tool.
|
||||
|
||||
Note that only one of these tools can be run at a time.</value>
|
||||
</data>
|
||||
<data name="btnPurgeChange.Tooltip" xml:space="preserve">
|
||||
<value>Purges all audit information and change history older than the above date.
|
||||
It is recommended that you perform a database backup before performing this action.
|
||||
Note after purging the information, this will automatically perform the Index
|
||||
Maintenance function to realign indexes with the cut down audit data.
|
||||
Only Full PROMS Administrator Users can perform this action.</value>
|
||||
</data>
|
||||
<data name="warningBox3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAp5JREFUOE+F
|
||||
k11Ik1Ecxv9zouJ2E4TWnR8V5tAppJmYsLnNlaLTxAoiKIQiibpYSmEEmSSa0IVGISMUw7rpE+yiQiuk
|
||||
/IhROssPyjanpL4udeq29z3nCdcH+Wb1g+fq/zzP+R8Oh+gvPK4kNWujp1IrPek8S5Hy+X9hbXSN9aVC
|
||||
eq1FwEYN8vk/mWqiDPZwI+NOHbhLj8CdDaK7npLlvnWpO0AKqZV62YgO/GMquDMN0rAevkbqlHvXZdlG
|
||||
h6Rn8eATu4GJncB0Fvh8HnwPYuGpJ4vcvwZbGYWJrcpPzGXG8ngGtsZFQJOggrS0B9J0MbwNIR9uHqRQ
|
||||
ee4XPhuVSy814IIB/lk9QkIIanUomFgIzkux0qHB/CUqk+eCtB2jCLEl1M1mLcBSLthKHlQqJaKjw8FZ
|
||||
Mbi/ENKXEizUKD/f2k9h8jz5mumk2K0F9xUAUgE4K0JUVDji4yLBvflgMyYwlxFL9zSYq6ITa8I3DlNY
|
||||
wKZ0soVSgFkAXgwuFSEmJhJJiWqwCR3YSCbY2x0QB4zwnFc6W4p+22KxiY4EXiQF74kf6/L5vdi+TYV0
|
||||
rRpsMB2sPxWsRwvpTTq87QmYOUNHg+HqQlL4ryscbK4UPGD5vu60CWw8G7evbkN7bSykXm0w/FMBew6E
|
||||
CsXQFQMpaLKezP6OLeDL+8AFM5hLBzaciennKcFXUCgI7o7ENQWSfRcWmmPgPEW5tNJIj8QxM9hkDthY
|
||||
FthAGlh/SvAPXC7fjOrjmyC+Sl5TsCpfdzYEK92llUbllDiaD3HEDPG9CaLDCGnI9IdEhwnioBHiOwMC
|
||||
dj38fYbVglHy1FGJt57uL9ZS10IN9cxfJPvXCzTgqSKH5xwNzVXSkFBBDsFKA4KV7IKVegQrda2e7j5N
|
||||
ud8AKwnMnBpmYFAAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="warningBox6.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAp5JREFUOE+F
|
||||
k11Ik1Ecxv9zouJ2E4TWnR8V5tAppJmYsLnNlaLTxAoiKIQiibpYSmEEmSSa0IVGISMUw7rpE+yiQiuk
|
||||
/IhROssPyjanpL4udeq29z3nCdcH+Wb1g+fq/zzP+R8Oh+gvPK4kNWujp1IrPek8S5Hy+X9hbXSN9aVC
|
||||
eq1FwEYN8vk/mWqiDPZwI+NOHbhLj8CdDaK7npLlvnWpO0AKqZV62YgO/GMquDMN0rAevkbqlHvXZdlG
|
||||
h6Rn8eATu4GJncB0Fvh8HnwPYuGpJ4vcvwZbGYWJrcpPzGXG8ngGtsZFQJOggrS0B9J0MbwNIR9uHqRQ
|
||||
ee4XPhuVSy814IIB/lk9QkIIanUomFgIzkux0qHB/CUqk+eCtB2jCLEl1M1mLcBSLthKHlQqJaKjw8FZ
|
||||
Mbi/ENKXEizUKD/f2k9h8jz5mumk2K0F9xUAUgE4K0JUVDji4yLBvflgMyYwlxFL9zSYq6ITa8I3DlNY
|
||||
wKZ0soVSgFkAXgwuFSEmJhJJiWqwCR3YSCbY2x0QB4zwnFc6W4p+22KxiY4EXiQF74kf6/L5vdi+TYV0
|
||||
rRpsMB2sPxWsRwvpTTq87QmYOUNHg+HqQlL4ryscbK4UPGD5vu60CWw8G7evbkN7bSykXm0w/FMBew6E
|
||||
CsXQFQMpaLKezP6OLeDL+8AFM5hLBzaciennKcFXUCgI7o7ENQWSfRcWmmPgPEW5tNJIj8QxM9hkDthY
|
||||
FthAGlh/SvAPXC7fjOrjmyC+Sl5TsCpfdzYEK92llUbllDiaD3HEDPG9CaLDCGnI9IdEhwnioBHiOwMC
|
||||
dj38fYbVglHy1FGJt57uL9ZS10IN9cxfJPvXCzTgqSKH5xwNzVXSkFBBDsFKA4KV7IKVegQrda2e7j5N
|
||||
ud8AKwnMnBpmYFAAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="swCheckROLinks.SuperTooltip" xml:space="preserve">
|
||||
<value>This allows the user to check referenced objects links in procedure step data for multiple working drafts in a batch mode.
|
||||
@@ -392,6 +389,6 @@ If more than one procedure is selected, it is recommended that this be performed
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>25</value>
|
||||
<value>137</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -589,25 +589,6 @@ namespace VEPROMS
|
||||
}
|
||||
}
|
||||
|
||||
//B2019-140 Change bars do not get refreshed when approval is run.
|
||||
// Get the displaytab containing the procedure
|
||||
// if none exists, return null
|
||||
public DisplayTabItem GetTabContainingProcedure(int procid) => tc?.MyBar?.Items?.OfType<DisplayTabItem>().FirstOrDefault(x => x.MyItemInfo?.ItemID == procid);
|
||||
// Refresh Node in Tree
|
||||
// Used for when Change Bar Updates as part of approval.
|
||||
public void RefreshProcedureNode(ProcedureInfo itm)
|
||||
{
|
||||
VETreeNode tn = tv.FindNode(itm, tv.Nodes);
|
||||
var tmp = (ProcedureInfo)tn?.VEObject;
|
||||
if (tmp != null)
|
||||
{
|
||||
tmp.ChangeBarDate = itm.ChangeBarDate;
|
||||
tmp.MyConfig = itm.MyConfig;
|
||||
}
|
||||
|
||||
tn?.RefreshNode();
|
||||
}
|
||||
|
||||
void tv_SelectDateToStartChangeBars(object sender, vlnTreeEventArgs args)
|
||||
{
|
||||
ProcedureInfo pi = (args.Node as VETreeNode).VEObject as ProcedureInfo;
|
||||
@@ -625,23 +606,6 @@ namespace VEPROMS
|
||||
itm.MyContent.Config = pc.ToString();
|
||||
itm.UserID = Volian.Base.Library.VlnSettings.UserID;
|
||||
itm.Save();
|
||||
|
||||
//B2019-140 Change bars do not get refreshed when approval is run.
|
||||
// Reset a Procedure and sub items in the cache
|
||||
ProcedureInfo newproc = ItemInfo.ResetProcedure(pi.ItemID);
|
||||
|
||||
//// Refresh the StepPanel for the current Procedure
|
||||
//// so change bars update
|
||||
//// on any open StepPanel
|
||||
DisplayTabItem dti = GetTabContainingProcedure(pi.ItemID);
|
||||
if (dti != null)
|
||||
{
|
||||
if (!dti.MyStepTabPanel.MyStepPanel.ContainsFocus)
|
||||
dti.MyStepTabPanel.MyStepPanel.Focus();
|
||||
|
||||
foreach (EditItem eitm in dti.MyStepTabPanel.MyStepPanel.Controls.OfType<EditItem>())
|
||||
eitm.ChangeBar = eitm.MyItemInfo.HasChangeBar;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5380,8 +5344,6 @@ namespace VEPROMS
|
||||
private void btnUpdateFormat_Click(object sender, EventArgs e)
|
||||
{
|
||||
UpdateFormats(null);
|
||||
//C2025-060 When format is updated in PROMS, auto-update the format cache so it doesn't require exiting PROMS and going back in.
|
||||
RefreshFormats(sender, null);
|
||||
}
|
||||
|
||||
private void UpdateFormats(string mypath)
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
using Csla.Data;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.ComponentModel;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading;
|
||||
|
||||
using Csla.Data;
|
||||
using static System.Net.Mime.MediaTypeNames;
|
||||
|
||||
|
||||
namespace VEPROMS.CSLA.Library
|
||||
@@ -494,6 +494,8 @@ namespace VEPROMS.CSLA.Library
|
||||
{
|
||||
roid = FormatRoidKey(roid, true);
|
||||
|
||||
|
||||
|
||||
string retval = GetRoChild(roid).value;
|
||||
|
||||
if (string.IsNullOrEmpty(retval))
|
||||
@@ -2153,7 +2155,7 @@ namespace VEPROMS.CSLA.Library
|
||||
return s2;
|
||||
|
||||
s2 = s2.Replace(@"\u160?", "<HSP>"); // convert hard spaces bug fix: B2016-206
|
||||
s2 = s2.Replace(@"\", @"\u9586?"); // convert backslashes to a backslash symbol
|
||||
s2 = Regex.Replace(s2, @"\\(?!u)", @"\u9586?"); // convert backslashes to a backslash symbol
|
||||
s2 = s2.Replace("<HSP>", @"\u160?"); // convert hard spaces bug fix: B2016-206
|
||||
s2 = s2.Replace("`", @"\'b0"); // convert backquote to degree - left over from DOS days.
|
||||
s2 = s2.Replace("\xf8", @"\'b0"); // convert \xf8 to degree.
|
||||
|
||||
@@ -1363,14 +1363,9 @@ namespace VEPROMS.CSLA.Library
|
||||
// An X/Y Plot RO type might have text preceding the Plot Commands
|
||||
int pstart = roValue.IndexOf("<<G"); // find the starting Plot Command
|
||||
|
||||
//B2025-065 When Printing a Word Section containing XY Plot ROs - when there is a title on the XY Plot, only the first line is indented.
|
||||
//get x-offset
|
||||
float fx1 = (float)MyApp.ActiveDocument.Range(sel.Start, sel.Start).get_Information(LBWdInformation.wdHorizontalPositionRelativeToPage);
|
||||
fx1 -= (float)MyApp.ActiveDocument.Range(0, 0).get_Information(LBWdInformation.wdHorizontalPositionRelativeToPage);
|
||||
|
||||
// B2017-217 Added logic so that underscores are not converted to underline
|
||||
// C2018-003 fixed use of getting the active section
|
||||
AddPrecedingText(sel, roValue.Substring(0, pstart), fx1, (sect.ActiveSection != null) ? sect.ActiveSection.ActiveFormat.PlantFormat.FormatData.SectData.ConvertUnderscoreToUnderline : false);// replace the RO token with what's in front of the X/Y Plot
|
||||
AddPrecedingText(sel, roValue.Substring(0, pstart), 0.0F, (sect.ActiveSection != null) ? sect.ActiveSection.ActiveFormat.PlantFormat.FormatData.SectData.ConvertUnderscoreToUnderline : false);// replace the RO token with what's in front of the X/Y Plot
|
||||
roValue = roValue.Substring(pstart); // set rovalue to the start of the plot commands
|
||||
|
||||
pngFile = VlnSettings.TemporaryFolder + @"\XYPlot1.png"; //@"C:\Temp\XYPlot1.png";
|
||||
@@ -1391,10 +1386,6 @@ namespace VEPROMS.CSLA.Library
|
||||
|
||||
float yAdjust = sel.Font.Size;
|
||||
float yyy = yAdjust + y + plotRect.Y;
|
||||
|
||||
//B2025-065 When Printing a Word Section containing XY Plot ROs - when there is a title on the XY Plot, only the first line is indented.
|
||||
xxx += fx1; //shift by x-offset
|
||||
|
||||
LBShape shape = myDoc.Shapes.AddPicture(pngFile, xxx, yyy, sel.Range);
|
||||
|
||||
try
|
||||
|
||||
@@ -3819,51 +3819,6 @@ namespace VEPROMS.CSLA.Library
|
||||
_Tables = null;
|
||||
_SupInfos = null;
|
||||
}
|
||||
|
||||
//B2019-140 Change bars do not get refreshed when approval is run.
|
||||
// Reset a Procedure and sub items in the cache
|
||||
public static ProcedureInfo ResetProcedure(int procID)
|
||||
{
|
||||
// The following lines reload the procedure info cache
|
||||
ProcedureInfo newproc = ProcedureInfo.Get(procID, true);
|
||||
newproc.RefreshConfig();
|
||||
|
||||
//the following is needed to force the ProcedureConfig to reload
|
||||
#pragma warning disable S1656 // Variables should not be self-assigned
|
||||
newproc.MyConfig = newproc.MyConfig;
|
||||
#pragma warning restore S1656 // Variables should not be self-assigned
|
||||
|
||||
//reload the Content Cache for the procedure
|
||||
ContentInfo.Refresh(Content.Get(newproc.MyContent.ContentID, true));
|
||||
|
||||
// The following line actually reloads the item info cache
|
||||
ItemInfo newprocitem = Get(procID, true);
|
||||
newprocitem.RefreshConfig();
|
||||
|
||||
//Reload all the child/sub items
|
||||
#pragma warning disable S2971 // LINQ expressions should be simplified - need initial ToList to force enumeration
|
||||
//otherwise will get a "Collection was modified; enumeration operation may not execute" error
|
||||
List<int> itemIDs = _CacheByPrimaryKey.Values.ToList().SelectMany(y => y).Where(t => t?.ActiveParent != null && (t.ActiveParent is ItemInfo) && t.MyProcedure.ItemID == procID).Select(x => (x.ActiveParent as ItemInfo).ItemID).Distinct().ToList();
|
||||
#pragma warning restore S2971 // LINQ expressions should be simplified
|
||||
for (int index = 0; index < itemIDs.Count; index++)
|
||||
{
|
||||
ResetParts(itemIDs[index]);
|
||||
}
|
||||
|
||||
//reset the procedure config for all items attached to current procedure
|
||||
#pragma warning disable S2971 // LINQ expressions should be simplified - need initial ToList to force enumeration
|
||||
//otherwise will get a "Collection was modified; enumeration operation may not execute" error
|
||||
List<ItemInfo> pconfigrefresh_items = _CacheByPrimaryKey.Values.ToList().SelectMany(y => y).Where(t => t?.MyProcedure?.ItemID == procID).Distinct().ToList();
|
||||
#pragma warning restore S2971 // LINQ expressions should be simplified
|
||||
for (int index = 0; index < pconfigrefresh_items.Count; index++)
|
||||
{
|
||||
pconfigrefresh_items[index].MyProcedure = newproc;
|
||||
}
|
||||
|
||||
//return the changed procedure info
|
||||
return newproc;
|
||||
}
|
||||
|
||||
private ItemInfoList _Procedures;
|
||||
public ItemInfoList Procedures
|
||||
{ get { return Lookup(E_FromType.Procedure, ref _Procedures); } }
|
||||
|
||||
@@ -4341,26 +4341,6 @@ public LeftJustifyList(XmlNodeList xmlNodeList) : base(xmlNodeList) { }
|
||||
return LazyLoad(ref _IncludeSectionNumAndTitle, "@IncludeSectionNumAndTitle");
|
||||
}
|
||||
}
|
||||
|
||||
//F2025-038 default (in base format) is True. The lable "SECTION" will precede the section number an title
|
||||
private LazyLoad<bool> _IncludeSectionLabel;
|
||||
public bool IncludeSectionLabel
|
||||
{
|
||||
get
|
||||
{
|
||||
return LazyLoad(ref _IncludeSectionLabel, "@IncludeSectionLabel");
|
||||
}
|
||||
}
|
||||
//F2026-001 default (in base format) is False. Put in for Vogtle Units 3 & 4.
|
||||
// this will add the parent sub-step tab if the parent is not identified as a continueous action step
|
||||
private LazyLoad<bool> _AddParentTabToSubStepTab;
|
||||
public bool AddParentTabToSubStepTab
|
||||
{
|
||||
get
|
||||
{
|
||||
return LazyLoad(ref _AddParentTabToSubStepTab, "@AddParentTabToSubStepTab");
|
||||
}
|
||||
}
|
||||
// the font and font styles to use for the continuous action summary
|
||||
private VE_Font _Font;
|
||||
public VE_Font Font
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
using System;
|
||||
using Csla.Data;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
//CSM - C2025-043 - Minimal Class for General Reports
|
||||
namespace VEPROMS.CSLA.Library
|
||||
{
|
||||
public static class GeneralReports
|
||||
{
|
||||
|
||||
#region Get General Reports
|
||||
//CSM - C2025-043 report RO's that are not used in any of the PROMS data.
|
||||
public static DataTable GetROsNotUsedInPROMS()
|
||||
{
|
||||
try
|
||||
{
|
||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||
{
|
||||
using (SqlCommand cm = cn.CreateCommand())
|
||||
{
|
||||
cm.CommandType = CommandType.StoredProcedure;
|
||||
cm.CommandText = "vesp_GetROsNotUsed";
|
||||
cm.CommandTimeout = 0;
|
||||
using (SqlDataAdapter da = new SqlDataAdapter(cm))
|
||||
{
|
||||
DataTable dt = new DataTable();
|
||||
da.Fill(dt);
|
||||
return dt;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new DbCslaException("Error in GetROsNotUsedInPROMS Report: retrieving data failed", ex);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
@@ -390,7 +390,6 @@
|
||||
<Compile Include="Generated\ZTransitionInfo.cs" />
|
||||
<Compile Include="Minimal\AnnotationstypeSections.cs" />
|
||||
<Compile Include="Minimal\Maintenance.cs" />
|
||||
<Compile Include="Minimal\GeneralReports.cs" />
|
||||
<Compile Include="Minimal\UserReports.cs" />
|
||||
<Compile Include="Minimal\UserSettings.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
|
||||
@@ -81,7 +81,7 @@ namespace Volian.Controls.Library
|
||||
this.lbROId.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.lbROId.ForeColor = System.Drawing.SystemColors.Highlight;
|
||||
this.lbROId.Location = new System.Drawing.Point(48, 24);
|
||||
this.lbROId.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
this.lbROId.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.lbROId.Name = "lbROId";
|
||||
this.lbROId.Size = new System.Drawing.Size(183, 33);
|
||||
this.superTooltip1.SetSuperTooltip(this.lbROId, new DevComponents.DotNetBar.SuperTooltipInfo("RO ID", "", "The RO ID for the selected RO Value will be displayed here. Double-Click to open" +
|
||||
@@ -97,7 +97,7 @@ namespace Volian.Controls.Library
|
||||
this.lblROID.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
|
||||
this.lblROID.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.lblROID.Location = new System.Drawing.Point(0, 24);
|
||||
this.lblROID.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
this.lblROID.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.lblROID.Name = "lblROID";
|
||||
this.lblROID.Size = new System.Drawing.Size(48, 33);
|
||||
this.superTooltip1.SetSuperTooltip(this.lblROID, new DevComponents.DotNetBar.SuperTooltipInfo("RO ID", "", "The RO ID for the selected RO Value will be displayed here.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(150, 80)));
|
||||
@@ -139,7 +139,7 @@ namespace Volian.Controls.Library
|
||||
this.btnGoToRO.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.btnGoToRO.Enabled = false;
|
||||
this.btnGoToRO.Location = new System.Drawing.Point(0, 55);
|
||||
this.btnGoToRO.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
this.btnGoToRO.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnGoToRO.Name = "btnGoToRO";
|
||||
this.btnGoToRO.Size = new System.Drawing.Size(233, 18);
|
||||
this.btnGoToRO.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
@@ -155,7 +155,7 @@ namespace Volian.Controls.Library
|
||||
this.btnPreviewRO.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.btnPreviewRO.Enabled = false;
|
||||
this.btnPreviewRO.Location = new System.Drawing.Point(0, 37);
|
||||
this.btnPreviewRO.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
this.btnPreviewRO.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnPreviewRO.Name = "btnPreviewRO";
|
||||
this.btnPreviewRO.Size = new System.Drawing.Size(233, 18);
|
||||
this.superTooltip1.SetSuperTooltip(this.btnPreviewRO, new DevComponents.DotNetBar.SuperTooltipInfo("Preview", "", "This will Preview the selected RO Table, X/Y Plot, or Image.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(150, 80)));
|
||||
@@ -263,6 +263,7 @@ namespace Volian.Controls.Library
|
||||
this.Controls.Add(this.tvROFST);
|
||||
this.Controls.Add(this.lbFound);
|
||||
this.Controls.Add(this.panelValue);
|
||||
this.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.Name = "DisplayRO";
|
||||
this.Size = new System.Drawing.Size(233, 507);
|
||||
this.panelValue.ResumeLayout(false);
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
using DevComponents.DotNetBar;
|
||||
using JR.Utils.GUI.Forms;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Windows.Forms;
|
||||
using VEPROMS.CSLA.Library;
|
||||
using XYPlots;
|
||||
using DevComponents.DotNetBar;
|
||||
using System.Text.RegularExpressions;
|
||||
using Volian.Base.Library;
|
||||
using JR.Utils.GUI.Forms;
|
||||
using System.Linq;
|
||||
using XYPlots;
|
||||
|
||||
namespace Volian.Controls.Library
|
||||
{
|
||||
@@ -372,8 +372,7 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
// B2022-088: [JPR] Find Doc Ro button not working in Word Sections
|
||||
// B2022-098: [JPR] ROs not being resolved in Word Sections
|
||||
if (e.Node.Tag is ROFSTLookup.rochild)
|
||||
{
|
||||
if (e.Node.Tag is ROFSTLookup.rochild){
|
||||
ROFSTLookup.rochild chld = (ROFSTLookup.rochild)e.Node.Tag;
|
||||
selectedChld = chld;
|
||||
|
||||
@@ -770,9 +769,15 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
tmp = new TreeNode(roc.title);
|
||||
tmp.Tag = roc;
|
||||
|
||||
if (tmp.Text.IndexOf("\\u") > -1) // RO Editor add symbols C2022 - 003
|
||||
{
|
||||
tmp.Text = Regex.Replace(tmp.Text, @"\\u([0-9]{1,4})\?", m => Convert.ToChar(int.Parse(m.Groups[1].Value)).ToString());
|
||||
}
|
||||
|
||||
if (roc.roid.Length == 16)
|
||||
{
|
||||
tn.Nodes.Add(tmp);
|
||||
@@ -921,11 +926,12 @@ namespace Volian.Controls.Library
|
||||
// Pad to 16 to store in the RoUsage table.
|
||||
string padroid = ROFSTLookup.FormatRoidKey(roc.roid, true);
|
||||
string linktxt = string.Format(@"#Link:ReferencedObject:<NewID> {0} {1}", padroid, MyROFST.RODbID);
|
||||
|
||||
// Resolve symbols and scientific notation in the RO return value
|
||||
string valtxt = MyROFSTLookup.GetTranslatedRoValue(padroid, MyRTB.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta, MyRTB.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseTildaPoundCharsForSuperSubScriptInROValues, false, MyRTB.MyItemInfo);
|
||||
|
||||
MyRTB.OnRoInsert(this, new StepRTBRoEventArgs(valtxt, selectedChld.value, linktxt, padroid, MyROFST.RODbID));
|
||||
// Resolve symbols and scientific notation in the RO return value
|
||||
string valtxt = MyROFSTLookup.GetTranslatedRoValue(padroid, MyRTB.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta, MyRTB.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseTildaPoundCharsForSuperSubScriptInROValues, false, MyRTB.MyItemInfo);
|
||||
|
||||
MyRTB.OnRoInsert(this, new StepRTBRoEventArgs(valtxt, selectedChld.value, linktxt, padroid, MyROFST.RODbID));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -112,20 +112,12 @@
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="superTooltip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<metadata name="superTooltip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<data name="btnSaveRO.SuperTooltip" xml:space="preserve">
|
||||
<value>For Step Editor sections:
|
||||
- This will place the selected RO at the cursor position.
|
||||
- This will replace an RO with the selected RO.
|
||||
|
||||
For Word sections
|
||||
- This will place the needed RO ID on the clipboard.</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -1400,9 +1400,13 @@ namespace Volian.Controls.Library
|
||||
if (SelectionLength > 0)HandleDeleteKeyWithSelectedText(new KeyEventArgs(Keys.None), null);
|
||||
int position = SelectionStart;
|
||||
SelectionLength = 0;
|
||||
linkValue = linkValue.Replace("\\u8209?", "\\f1\\u8209?\\f0 ");
|
||||
linkValue = linkValue.Replace("\\u9586?", "\\f1\\u9586?\\f0 "); // backslash symbol
|
||||
linkValue = linkValue.Replace("\\u916?", "\\f1\\u916?\\f0 ");
|
||||
|
||||
var pattern = @"\\u([0-9]{1,4})\?"; // RO Editor add symbols C2022 - 003
|
||||
foreach (Match match in Regex.Matches(linkValue, pattern, RegexOptions.IgnoreCase))
|
||||
{
|
||||
linkValue = linkValue.Replace(match.Value, "\\f1 " + match.Value + " \\f0");
|
||||
}
|
||||
|
||||
linkValue = linkValue.Replace(@"{", @"\{");
|
||||
linkValue = linkValue.Replace(@"}", @"\}");
|
||||
SelectedRtf = @"{\rtf1\ansi" + FontTable + @"{\colortbl ;\red255\green0\blue0;\red0\green0\blue255;}\v" + FontSize + @" <START]\v0\cf1 " + linkValue + @"\cf0\v " + linkUrl + @"[END>\v0 }";
|
||||
|
||||
@@ -723,6 +723,7 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void SetBtnInsSupInfoVisible()
|
||||
{
|
||||
if (MyItemInfo == null) return;
|
||||
@@ -1667,7 +1668,6 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
}
|
||||
Clipboard.Clear();
|
||||
|
||||
Clipboard.SetDataObject(myDO); // this saves the cleaned up information to the Windows clipboard
|
||||
}
|
||||
iData = Clipboard.GetDataObject();
|
||||
|
||||
BIN
PROMS/Volian.Controls.Library/StepTabRibbon.designer.cs
generated
BIN
PROMS/Volian.Controls.Library/StepTabRibbon.designer.cs
generated
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -1,115 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using System.Data;
|
||||
|
||||
namespace Volian.Controls.Library
|
||||
{
|
||||
//CSM - C2025-043 report RO's that are not used in any of the PROMS data.
|
||||
// extend the TreeView class with a couple added functions
|
||||
// to allow support for what is needed for ROs
|
||||
public static class TreeViewExtensions
|
||||
{
|
||||
#region public functions
|
||||
//Returns a ROTreeView based on the data in the datatable dt
|
||||
// builds tree based on the following:
|
||||
// ParentID = 0 is top level
|
||||
// links (defined parent) based on same dbID and ID = ParentID
|
||||
// nodes will have the text of the title
|
||||
public static TreeView GetROTree(DataTable dt, bool isExpanded = false)
|
||||
{
|
||||
TreeView tv = new TreeView();
|
||||
|
||||
var tempnodes = GetTreeNodes(
|
||||
dt.AsEnumerable(),
|
||||
(r) => r.Field<int?>("ParentID") == 0, //top level of tree
|
||||
(r, s) => s.Where(x => r["ID"].Equals(x["ParentID"]) && r["dbID"].Equals(x["dbID"])), //how to match parents and children
|
||||
(r) => new TreeNode { Text = r.Field<string>("title") } //what to display in the tree
|
||||
);
|
||||
tv.Nodes.AddRange(tempnodes.ToArray());
|
||||
|
||||
//if set to expand, sets the height to the combined height of all nodes + 20
|
||||
//so will show whole tree
|
||||
if (isExpanded)
|
||||
{
|
||||
tv.ExpandAll();
|
||||
tv.SetTreeViewHeighttoFull();
|
||||
tv.Width = 1200;
|
||||
}
|
||||
|
||||
//sorts the tree in alphabetical order to match the way the tree is sorted in the RO Editor
|
||||
tv.Sorted = true;
|
||||
|
||||
return tv;
|
||||
}
|
||||
|
||||
//Saves the Tree to an Image at the specified path
|
||||
public static void SaveTreeViewAsImage(this TreeView tv, string filePath)
|
||||
{
|
||||
// Create a Bitmap with the size of the TreeView
|
||||
Bitmap bitmap = new Bitmap(tv.Width, tv.Height);
|
||||
// Draw the TreeView onto the Bitmap
|
||||
tv.DrawToBitmap(bitmap, new Rectangle(0, 0, bitmap.Width, bitmap.Height));
|
||||
// Save the Bitmap as an image file
|
||||
bitmap.Save(filePath, System.Drawing.Imaging.ImageFormat.Png);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region height functions
|
||||
//This is a function to calculate and set the TreeView Height based
|
||||
//on the height of all sub nodes + 20
|
||||
public static void SetTreeViewHeighttoFull(this TreeView tv)
|
||||
{
|
||||
int totalHeight = 0;
|
||||
foreach (TreeNode node in tv.Nodes)
|
||||
{
|
||||
totalHeight += GetNodeHeight(node);
|
||||
}
|
||||
tv.Height = totalHeight + 20;
|
||||
}
|
||||
|
||||
//This function recursively adds the height of sub nodes to the running total
|
||||
private static int GetNodeHeight(TreeNode node)
|
||||
{
|
||||
int curheight = node.Bounds.Height;
|
||||
foreach (TreeNode child in node.Nodes)
|
||||
{
|
||||
curheight += GetNodeHeight(child);
|
||||
}
|
||||
return curheight;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region generic private tree structure functions
|
||||
//This is a Generic Function to help build the Tree Structure
|
||||
private static IEnumerable<TreeNode> GetTreeNodes<T>(
|
||||
IEnumerable<T> source,
|
||||
Func<T, Boolean> isRoot,
|
||||
Func<T, IEnumerable<T>, IEnumerable<T>> getChilds,
|
||||
Func<T, TreeNode> getItem)
|
||||
{
|
||||
IEnumerable<T> roots = source.Where(x => isRoot(x));
|
||||
foreach (T root in roots)
|
||||
yield return ConvertEntityToTreeNode(root, source, getChilds, getItem); ;
|
||||
}
|
||||
|
||||
//This is a Generic Function to help build the Tree Structure
|
||||
private static TreeNode ConvertEntityToTreeNode<T>(
|
||||
T entity,
|
||||
IEnumerable<T> source,
|
||||
Func<T, IEnumerable<T>, IEnumerable<T>> getChilds,
|
||||
Func<T, TreeNode> getItem)
|
||||
{
|
||||
TreeNode node = getItem(entity);
|
||||
var childs = getChilds(entity, source);
|
||||
foreach (T child in childs)
|
||||
node.Nodes.Add(ConvertEntityToTreeNode(child, source, getChilds, getItem));
|
||||
return node;
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -118,7 +118,6 @@
|
||||
<HintPath>..\..\..\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Design" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
@@ -296,7 +295,6 @@
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="TreeViewExtensions.cs" />
|
||||
<Compile Include="RTBItem.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
|
||||
@@ -47,10 +47,9 @@ namespace Volian.Print.Library
|
||||
AddHeader(doingTimeCriticalSummary); // F2022-024 pass flag when creating a Time Critical Action Summary report
|
||||
foreach (pkParagraph myContAct in myContActSteps)
|
||||
{
|
||||
bool addParentTab = myContAct.MyParagraph.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.ContinuousActionSummaryData.AddParentTabToSubStepTab; // F2026-001 prefix Continuous Action sub-step with parent tab
|
||||
if (myContAct.MyChildren.Count > 0)
|
||||
if (myContAct.MyParagraph.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.ContinuousActionSummaryData.IncludeSectionNumAndTitle) // only print the section title if it has Continuous Action Steps
|
||||
AddSectionHeader(myContAct.MyParagraph.MyItemInfo.DisplayNumber, myContAct.MyParagraph.MyItemInfo.FormattedDisplayText, myContAct.MyParagraph.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.ContinuousActionSummaryData.IncludeSectionLabel);
|
||||
AddSectionHeader(myContAct.MyParagraph.MyItemInfo.DisplayNumber, myContAct.MyParagraph.MyItemInfo.FormattedDisplayText);
|
||||
foreach (pkParagraph pgh in myContAct.MyChildren) // within each section...
|
||||
{
|
||||
ItemInfo hlsii = GetHLSii(pgh.MyParagraph.MyItemInfo);
|
||||
@@ -80,27 +79,8 @@ namespace Volian.Print.Library
|
||||
}
|
||||
else if (!pgh.MyParagraph.MyItemInfo.IsHigh) // if the high level step was not included, adjust the tab for a sub-step/RNO
|
||||
{
|
||||
string tabPre = "";
|
||||
StringBuilder sbTabPre = new StringBuilder();
|
||||
ItemInfo prevItemInfo = pgh.MyParagraph.MyItemInfo.MyParent;
|
||||
// F2026-001 The while loop below will build a sub-step prefix of the continuous action sub-step
|
||||
// if the format flag (AddParentTabToSubStepTab) is set - the base format has this set to false
|
||||
// it will not add the parent tab
|
||||
// - if the parent is a continuous action step or sub-step as that information would be redundant
|
||||
// - if the current is a RNO step type and the Parent is NOT a RNO step type
|
||||
if (prevItemInfo.IncludeOnContActSum || !addParentTab) prevItemInfo = null;
|
||||
while (prevItemInfo != null && !prevItemInfo.IsHigh && !prevItemInfo.IncludeOnContActSum)
|
||||
{
|
||||
sbTabPre.Insert(0, prevItemInfo.MyTab.CleanText.Trim());
|
||||
if ((prevItemInfo.IsInRNO && !prevItemInfo.MyParent.IsInRNO) || prevItemInfo.MyParent.IncludeOnContActSum)
|
||||
prevItemInfo = null;
|
||||
else
|
||||
prevItemInfo = prevItemInfo.MyParent;
|
||||
}
|
||||
if (_FirstLine) // the first of a CAS on the report include the High Level Step tab
|
||||
sbTabPre.Insert(0, (hlsii != null) ? hlsii.MyTab.Text.Trim() + " " : "");
|
||||
tabPre = sbTabPre.ToString();
|
||||
if (!_FirstLine) // if not the first line we indent the size of high level step tab
|
||||
string tabPre = (_FirstLine) ? hlsii.MyTab.Text.Trim() + " " : "";
|
||||
if (!_FirstLine)
|
||||
preTabLen = GetTextWidth(hlsii.MyTab.Text.Trim() + " ") / 72f;
|
||||
if (pgh.MyParagraph.MyItemInfo.IsInRNO)
|
||||
{
|
||||
@@ -123,13 +103,10 @@ namespace Volian.Print.Library
|
||||
|
||||
private void AddChildren(pkParagraph pgh, int level)
|
||||
{
|
||||
StringBuilder sbPreTab = new StringBuilder();
|
||||
bool addParentTab = pgh.MyParagraph.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.ContinuousActionSummaryData.AddParentTabToSubStepTab; // F2026-001 flag to add parent tab to CAS sub-step
|
||||
if (pgh.MyChildren.Count > 0)
|
||||
level++;
|
||||
foreach (pkParagraph cpgh in pgh.MyChildren)
|
||||
{
|
||||
sbPreTab.Clear();
|
||||
if (cpgh.MyCautionsAndNotes.Count > 0)
|
||||
AddNotesOrCautions(cpgh,level);
|
||||
string stpTab = cpgh.MyParagraph.MyItemInfo.MyTab.CleanText.Trim() + (cpgh.MyParagraph.MyItemInfo.IsInRNO ? "[R] ": " ");
|
||||
@@ -137,18 +114,6 @@ namespace Volian.Print.Library
|
||||
{
|
||||
stpTab = string.Format("{0} ", cpgh.MyParagraph.MyParent.MyTab.Text.Trim()) + " " + stpTab;
|
||||
}
|
||||
ItemInfo prevItmInfo = cpgh.MyParagraph.MyItemInfo.MyParent;
|
||||
// F2026-001 the while loop below will add the sub-step's parent tab if applicable
|
||||
if (prevItmInfo.IncludeOnContActSum || !addParentTab) prevItmInfo = null; // don't try to add parent tab
|
||||
while (prevItmInfo != null && !prevItmInfo.IsHigh)
|
||||
{
|
||||
sbPreTab.Insert(0, prevItmInfo.MyTab.CleanText.Trim());
|
||||
if ((prevItmInfo.IsInRNO && !prevItmInfo.MyParent.IsInRNO) || prevItmInfo.MyParent.IncludeOnContActSum)
|
||||
prevItmInfo = null;
|
||||
else
|
||||
prevItmInfo = prevItmInfo.MyParent;
|
||||
}
|
||||
stpTab = sbPreTab.ToString() + stpTab;
|
||||
AddContinuousAction(stpTab, GetContActStepText(cpgh.MyParagraph.MyItemInfo), "", (cpgh.MyParagraph.MyItemInfo.PageNumber + 1).ToString(),level,0);
|
||||
AddChildren(cpgh, level);
|
||||
}
|
||||
@@ -210,7 +175,7 @@ namespace Volian.Print.Library
|
||||
WriteCell("DONE", true, true);
|
||||
WriteCell("PAGE", true, false);
|
||||
}
|
||||
private void AddSectionHeader(string number, string title, bool IncludeSectionLabel)
|
||||
private void AddSectionHeader(string number, string title)
|
||||
{
|
||||
if (!_FirstSection)
|
||||
{
|
||||
@@ -222,10 +187,7 @@ namespace Volian.Print.Library
|
||||
_FirstSection = false;
|
||||
Advance(2);
|
||||
SetIndent(0, 0);
|
||||
if (IncludeSectionLabel)
|
||||
WriteCell("SECTION " + number, true, false);
|
||||
else
|
||||
WriteCell(number, true, false); // F2025-038 don't include the word SECTION before number and title
|
||||
WriteCell("SECTION " + number, true, false);
|
||||
WriteCell(" " + title, false, true);
|
||||
Advance();
|
||||
}
|
||||
|
||||
@@ -6456,11 +6456,8 @@ namespace Volian.Print.Library
|
||||
{
|
||||
if (itemInfo.MyDocStyle.AlignHLSTabWithSect || itemInfo.FormatStepData.AlignHLSTabWithSectOvride)
|
||||
{
|
||||
float orgXOffset = MyTab.XOffset;
|
||||
myTab.XOffset = (float)itemInfo.MyDocStyle.Layout.LeftMargin + (float)formatInfo.PlantFormat.FormatData.SectData.SectionHeader.Pos;
|
||||
XOffset = myTab.XOffset + myTab.Width;
|
||||
// F2025-040 Adjust the Cont Act box position around HLS number
|
||||
if (myTab.MyMacro != null) myTab.MyMacro.XOffset += (MyTab.XOffset - orgXOffset);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user