Compare commits
111 Commits
Author | SHA1 | Date | |
---|---|---|---|
0b40569727 | |||
afb0247d87 | |||
bce8461a7e | |||
9d5cc43d71 | |||
bc1370ab29 | |||
eaf2b14cfc | |||
1cf7d81aa5 | |||
f11a9536f0 | |||
c7bdcf0104 | |||
df026499d5 | |||
a3aa4157b8 | |||
8f3268e1bc | |||
5721d440e9 | |||
505c396283 | |||
643e6bc94f | |||
76502e6d97 | |||
851a0b3810 | |||
fd8dbb4c8b | |||
4ffd994c5e | |||
a34828113a | |||
461329468c | |||
35de5df04d | |||
4f0548fd60 | |||
5c1d96cc51 | |||
57049c0c52 | |||
31326e1c91 | |||
3c60994a0a | |||
773cc42346 | |||
f46a1f39dc | |||
b7175bf77f | |||
ec22232aa8 | |||
f303cd2236 | |||
f40cef4416 | |||
fbca97d38d | |||
28bd2cba5c | |||
4b35f73bbf | |||
f4706eb126 | |||
21bcb90558 | |||
ae48ac0cae | |||
cb4979d5bc | |||
7d3ae74e1f | |||
9d680aa500 | |||
0d50b1c2fe | |||
75e034863f | |||
3b42de1571 | |||
668472286e | |||
e00d34c99d | |||
9fb496dfb3 | |||
f4eaa4a3ef | |||
5d50ed6bdf | |||
d7ace4eaf9 | |||
16a4d335ea | |||
ba69bb0772 | |||
455940caa2 | |||
439344757e | |||
ad912691c9 | |||
237144aff6 | |||
810332d558 | |||
f8431d0ba1 | |||
57c3bfa16a | |||
61f1077608 | |||
8877e968b9 | |||
4575c90bee | |||
21279a87ae | |||
3d5ad4a17e | |||
9bb7b044a8 | |||
dc8f2f7561 | |||
829dbf84da | |||
7b156c17f8 | |||
cbf7cbc164 | |||
b04faa816e | |||
517ebe2902 | |||
03d0d314e3 | |||
3e804c5cce | |||
ee2b8b538e | |||
fdfd34fe92 | |||
2d6fb6523b | |||
3084bf3982 | |||
5ba51e8392 | |||
fb5eb43e34 | |||
b154056276 | |||
c67b8f9ca1 | |||
95e4181360 | |||
32dffbe56b | |||
6b3c8d373b | |||
db29107f47 | |||
355537f2ab | |||
0729ef0c21 | |||
6fe82bfd0f | |||
39bf072363 | |||
da7c384fd8 | |||
95130fd9a0 | |||
978e2344a3 | |||
c9bf45602c | |||
aa160b2036 | |||
f82b32d351 | |||
e519dc9a57 | |||
f020c37db9 | |||
5a4ec3b6b1 | |||
2602d6c9d2 | |||
ff403583d7 | |||
c5577cc2bd | |||
78be6e5dc1 | |||
b954a41375 | |||
0100a11cfe | |||
04cf2e8534 | |||
be00724818 | |||
274d93c61a | |||
7dc4c30436 | |||
028ef4bc31 | |||
42124d65c7 |
Binary file not shown.
Binary file not shown.
@ -164,9 +164,6 @@
|
|||||||
<Compile Include="dlgCheckedOutProcedure.designer.cs">
|
<Compile Include="dlgCheckedOutProcedure.designer.cs">
|
||||||
<DependentUpon>dlgCheckedOutProcedure.cs</DependentUpon>
|
<DependentUpon>dlgCheckedOutProcedure.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="dlgExportImportEP.cs">
|
|
||||||
<SubType>Form</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="dlgMSWordMessage.cs">
|
<Compile Include="dlgMSWordMessage.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
@ -29,7 +29,6 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
private bool _ConvertROsToTextDuringImport = false;
|
private bool _ConvertROsToTextDuringImport = false;
|
||||||
private bool _ConvertROsAndTransitionsToText = false; // set to true when Approval creates an Export file
|
private bool _ConvertROsAndTransitionsToText = false; // set to true when Approval creates an Export file
|
||||||
protected bool _ExportBothConvertedandNot = false; // set to true when Electronic Procedure export
|
|
||||||
|
|
||||||
// B2016-225 notify user when Transitions and/or ROs are converted to text
|
// B2016-225 notify user when Transitions and/or ROs are converted to text
|
||||||
private bool _DidConvertTransitionsToText = false;
|
private bool _DidConvertTransitionsToText = false;
|
||||||
@ -65,7 +64,7 @@ namespace VEPROMS
|
|||||||
private FolderInfo MyFolder = null;
|
private FolderInfo MyFolder = null;
|
||||||
private DocVersionInfo MyDocVersion = null;
|
private DocVersionInfo MyDocVersion = null;
|
||||||
private ProcedureInfo MyProcedure = null;
|
private ProcedureInfo MyProcedure = null;
|
||||||
protected XmlAttribute AddAttribute(XmlDocument xd, string name, string value)
|
private XmlAttribute AddAttribute(XmlDocument xd, string name, string value)
|
||||||
{
|
{
|
||||||
XmlAttribute xa = xd.CreateAttribute(name);
|
XmlAttribute xa = xd.CreateAttribute(name);
|
||||||
xa.InnerText = value;
|
xa.InnerText = value;
|
||||||
@ -2424,17 +2423,9 @@ namespace VEPROMS
|
|||||||
if (ii.ItemAnnotationCount > 0)
|
if (ii.ItemAnnotationCount > 0)
|
||||||
foreach (AnnotationInfo ai in ii.ItemAnnotations)
|
foreach (AnnotationInfo ai in ii.ItemAnnotations)
|
||||||
ExportAnnotation(xe, ai, "annotation");
|
ExportAnnotation(xe, ai, "annotation");
|
||||||
|
|
||||||
ExportEPAnnotationInfo(xe, ii);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual void ExportEPAnnotationInfo(XmlElement xe, ItemInfo ii)
|
private void ExportItemAudits(XmlElement xn, ItemInfo ii)
|
||||||
{
|
|
||||||
//do nothing - this will be for Electronic procedures only
|
|
||||||
//and handled/overridden in dlgExportEP.cs
|
|
||||||
}
|
|
||||||
|
|
||||||
private void ExportItemAudits(XmlElement xn, ItemInfo ii)
|
|
||||||
{
|
{
|
||||||
if (cbxExportAudits.Checked)
|
if (cbxExportAudits.Checked)
|
||||||
{
|
{
|
||||||
@ -2575,7 +2566,6 @@ namespace VEPROMS
|
|||||||
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "dts", ci.DTS.ToString("MM/dd/yyyy HH:mm:ss.fff")));
|
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "dts", ci.DTS.ToString("MM/dd/yyyy HH:mm:ss.fff")));
|
||||||
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "userid", ci.UserID.ToString()));
|
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "userid", ci.UserID.ToString()));
|
||||||
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "formatfilename", formatFileName));
|
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "formatfilename", formatFileName));
|
||||||
if (_ExportBothConvertedandNot) xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "textwithlinks", ci.Text));
|
|
||||||
|
|
||||||
//content audits
|
//content audits
|
||||||
ExportContentAudits(xe, ci);
|
ExportContentAudits(xe, ci);
|
||||||
@ -2662,7 +2652,6 @@ namespace VEPROMS
|
|||||||
MyWriter.WriteAttributeString("dts", ci.DTS.ToString("MM/dd/yyyy HH:mm:ss.fff"));
|
MyWriter.WriteAttributeString("dts", ci.DTS.ToString("MM/dd/yyyy HH:mm:ss.fff"));
|
||||||
MyWriter.WriteAttributeString("userid", ci.UserID.ToString());
|
MyWriter.WriteAttributeString("userid", ci.UserID.ToString());
|
||||||
MyWriter.WriteAttributeString("formatfilename", formatFileName);
|
MyWriter.WriteAttributeString("formatfilename", formatFileName);
|
||||||
if (_ExportBothConvertedandNot) MyWriter.WriteAttributeString("textwithlinks", ci.Text);
|
|
||||||
|
|
||||||
if (ci.ContentTransitionCount > 0)
|
if (ci.ContentTransitionCount > 0)
|
||||||
foreach (TransitionInfo ti in ci.ContentTransitions)
|
foreach (TransitionInfo ti in ci.ContentTransitions)
|
||||||
@ -2710,8 +2699,7 @@ namespace VEPROMS
|
|||||||
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "config", gi.Config));
|
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "config", gi.Config));
|
||||||
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "dts", gi.DTS.ToString("MM/dd/yyyy HH:mm:ss.fff")));
|
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "dts", gi.DTS.ToString("MM/dd/yyyy HH:mm:ss.fff")));
|
||||||
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "userid", gi.UserID.ToString()));
|
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "userid", gi.UserID.ToString()));
|
||||||
if (_ExportBothConvertedandNot) xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "datawithlinks", gi.Data));
|
|
||||||
|
|
||||||
//grid audits
|
//grid audits
|
||||||
ExportGridAudits(xe, gi);
|
ExportGridAudits(xe, gi);
|
||||||
xn.AppendChild(xe);
|
xn.AppendChild(xe);
|
||||||
@ -2770,7 +2758,6 @@ namespace VEPROMS
|
|||||||
MyWriter.WriteAttributeString("config", gi.Config);
|
MyWriter.WriteAttributeString("config", gi.Config);
|
||||||
MyWriter.WriteAttributeString("dts", gi.DTS.ToString("MM/dd/yyyy HH:mm:ss.fff"));
|
MyWriter.WriteAttributeString("dts", gi.DTS.ToString("MM/dd/yyyy HH:mm:ss.fff"));
|
||||||
MyWriter.WriteAttributeString("userid", gi.UserID.ToString());
|
MyWriter.WriteAttributeString("userid", gi.UserID.ToString());
|
||||||
if (_ExportBothConvertedandNot) MyWriter.WriteAttributeString("datawithlinks", gi.Data);
|
|
||||||
MyWriter.WriteEndElement();
|
MyWriter.WriteEndElement();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2945,8 +2932,7 @@ namespace VEPROMS
|
|||||||
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "dts", di.DTS.ToString("MM/dd/yyyy HH:mm:ss.fff")));
|
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "dts", di.DTS.ToString("MM/dd/yyyy HH:mm:ss.fff")));
|
||||||
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "userid", di.UserID.ToString()));
|
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "userid", di.UserID.ToString()));
|
||||||
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "fileextension", di.FileExtension));
|
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "fileextension", di.FileExtension));
|
||||||
if (_ExportBothConvertedandNot) xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "doccontentwithlinks", Convert.ToBase64String(di.DocContent)));
|
|
||||||
|
|
||||||
//document audits
|
//document audits
|
||||||
ExportDocumentAudits(xe, di);
|
ExportDocumentAudits(xe, di);
|
||||||
xn.AppendChild(xe);
|
xn.AppendChild(xe);
|
||||||
@ -3012,7 +2998,6 @@ namespace VEPROMS
|
|||||||
MyWriter.WriteAttributeString("dts", di.DTS.ToString("MM/dd/yyyy HH:mm:ss.fff"));
|
MyWriter.WriteAttributeString("dts", di.DTS.ToString("MM/dd/yyyy HH:mm:ss.fff"));
|
||||||
MyWriter.WriteAttributeString("userid", di.UserID.ToString());
|
MyWriter.WriteAttributeString("userid", di.UserID.ToString());
|
||||||
MyWriter.WriteAttributeString("fileextension", di.FileExtension);
|
MyWriter.WriteAttributeString("fileextension", di.FileExtension);
|
||||||
if (_ExportBothConvertedandNot) MyWriter.WriteAttributeString("doccontentwithlinks", Convert.ToBase64String(di.DocContent));
|
|
||||||
MyWriter.WriteEndElement();
|
MyWriter.WriteEndElement();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,202 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Text.RegularExpressions;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using System.Xml;
|
|
||||||
using VEPROMS.CSLA.Library;
|
|
||||||
|
|
||||||
namespace VEPROMS
|
|
||||||
{
|
|
||||||
//C2025-024 Electronic Procedures - Phase 2 (PROMS XML output)
|
|
||||||
//class inherits from normal import/export form
|
|
||||||
//then adds additional functionality
|
|
||||||
public partial class dlgExportImportEP : dlgExportImport
|
|
||||||
{
|
|
||||||
private readonly AnnotationTypeInfo _AnnotationType;
|
|
||||||
|
|
||||||
private string multiseparator = ",";
|
|
||||||
|
|
||||||
private static Regex _ROAccPageTokenPattern = new Regex("[<][^<>-]+-[^<>]+[>]");
|
|
||||||
|
|
||||||
public dlgExportImportEP(string mode, FolderInfo folderInfo, frmVEPROMS myFrmVEPROMS, int annotationTypeId) : base(mode, folderInfo, myFrmVEPROMS, (E_UCFImportOptions) 0)
|
|
||||||
{
|
|
||||||
_AnnotationType = AnnotationTypeInfo.Get(annotationTypeId);
|
|
||||||
_ExportBothConvertedandNot = true;
|
|
||||||
DocReplace = new Dictionary<int, byte[]>();
|
|
||||||
FormClosed += OnClose;
|
|
||||||
Text = $"{mode} Electronic Procedure ({_AnnotationType.Name}) Dialog for {folderInfo.Name}";
|
|
||||||
}
|
|
||||||
|
|
||||||
public dlgExportImportEP(string mode, DocVersionInfo docVersionInfo, frmVEPROMS myFrmVEPROMS, int annotationTypeId) : base(mode, docVersionInfo, myFrmVEPROMS, (E_UCFImportOptions)0)
|
|
||||||
{
|
|
||||||
_AnnotationType = AnnotationTypeInfo.Get(annotationTypeId);
|
|
||||||
_ExportBothConvertedandNot = true;
|
|
||||||
DocReplace = new Dictionary<int, byte[]>();
|
|
||||||
FormClosed += OnClose;
|
|
||||||
Text = $"{mode} Electronic Procedure ({_AnnotationType.Name}) Dialog for {docVersionInfo.Name} of {docVersionInfo.MyFolder.Name}";
|
|
||||||
}
|
|
||||||
public dlgExportImportEP(string mode, ProcedureInfo procedureInfo, frmVEPROMS myFrmVEPROMS, int annotationTypeId) : base(mode, procedureInfo, myFrmVEPROMS, (E_UCFImportOptions)0)
|
|
||||||
{
|
|
||||||
_AnnotationType = AnnotationTypeInfo.Get(annotationTypeId);
|
|
||||||
_ExportBothConvertedandNot = true;
|
|
||||||
DocReplace = new Dictionary<int, byte[]>();
|
|
||||||
FormClosed += OnClose;
|
|
||||||
Text = $"{mode} Electronic Procedure ({_AnnotationType.Name}) Dialog for {procedureInfo.DisplayNumber}";
|
|
||||||
}
|
|
||||||
|
|
||||||
//Overridden function to handle export of EP data
|
|
||||||
protected override void ExportEPAnnotationInfo(XmlElement xe, ItemInfo ii)
|
|
||||||
{
|
|
||||||
//switch to handle customizations for different formats
|
|
||||||
switch (ii.ActiveFormat.PlantFormat.EPFormatFiles.Find(x => x.AnnotationTypeID == _AnnotationType.TypeID)?.Name)
|
|
||||||
{
|
|
||||||
default:
|
|
||||||
ExportEPAnnotationInfo_Default(xe, ii);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//default export of EP Data
|
|
||||||
private void ExportEPAnnotationInfo_Default(XmlElement xe, ItemInfo ii)
|
|
||||||
{
|
|
||||||
//Add tab text to item
|
|
||||||
string steptab = Volian.Print.Library.PDFReport.BuildStepTab(ii);
|
|
||||||
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "StepTab", steptab));
|
|
||||||
|
|
||||||
//get first transition in item and add it as an xml element
|
|
||||||
if (ii.MyContent.ContentTransitionCount > 0)
|
|
||||||
{
|
|
||||||
TransitionInfo ct = ii.MyContent.ContentTransitions[0];
|
|
||||||
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "TransitionToItemID", ct.ToID.ToString()));
|
|
||||||
}
|
|
||||||
|
|
||||||
//export EP annotation details under an EPInfo node
|
|
||||||
if (ii.ItemAnnotations != null)
|
|
||||||
{
|
|
||||||
XmlElement xepinfo = xe.OwnerDocument.CreateElement("EPInfo");
|
|
||||||
|
|
||||||
EPFields myEPFields = ii.GetValidEPFields(_AnnotationType.TypeID);
|
|
||||||
|
|
||||||
ROFSTLookup lookup = ii.MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(ii.MyDocVersion);
|
|
||||||
|
|
||||||
//For each annotation in the item that is of the current EP Annotation type
|
|
||||||
foreach (var EPAnnotation in ii.ItemAnnotations.Where(x => x.TypeID == _AnnotationType.TypeID))
|
|
||||||
{
|
|
||||||
var EPAnnotationConfig = new AnnotationConfig(EPAnnotation.Config);
|
|
||||||
|
|
||||||
XmlElement xepdetails = xe.OwnerDocument.CreateElement("Details");
|
|
||||||
//include the annotation ID for reference
|
|
||||||
xepdetails.Attributes.SetNamedItem(AddAttribute(xepdetails.OwnerDocument, "AnnotationID", EPAnnotation.AnnotationID.ToString()));
|
|
||||||
|
|
||||||
//loop through each EP Field - name the xml elements the EP.name
|
|
||||||
foreach (EPField EP in myEPFields)
|
|
||||||
{
|
|
||||||
string val = EPAnnotationConfig.GetValue("EP", EP.name);
|
|
||||||
|
|
||||||
XmlElement xindivid = xe.OwnerDocument.CreateElement(EP.name);
|
|
||||||
|
|
||||||
//need to resolve ROs ROSingle, ROMulti, in text
|
|
||||||
//get values
|
|
||||||
//should we export blank?
|
|
||||||
//
|
|
||||||
switch (EP.type.ToLower())
|
|
||||||
{
|
|
||||||
case "text":
|
|
||||||
|
|
||||||
//for text, check if any embedded ROs
|
|
||||||
//if none, set the xml element to the text
|
|
||||||
//otherwise resolve the Ros
|
|
||||||
MatchCollection matches = _ROAccPageTokenPattern.Matches(val);
|
|
||||||
if (matches.Count == 0)
|
|
||||||
{
|
|
||||||
xindivid.InnerText = val;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//resolve ROs
|
|
||||||
//text ROs will replace the AccID key in the text
|
|
||||||
//for binary objects like images,
|
|
||||||
//we will keep the AccID in the text and output the binary as a separate child
|
|
||||||
//XML element with the same xml name as the AccID
|
|
||||||
foreach (Match m in matches)
|
|
||||||
{
|
|
||||||
ROFSTLookup.rochild roc = lookup.GetROChildByAccPageID(m.Groups[1].Value);
|
|
||||||
|
|
||||||
|
|
||||||
if (roc.type == 8) // Exclude replacing Images since are binary - for those, add a sub item
|
|
||||||
{
|
|
||||||
XmlElement xroid = xindivid.OwnerDocument.CreateElement(m.Groups[1].Value);
|
|
||||||
xroid.InnerText = roc.value;
|
|
||||||
xindivid.AppendChild(xroid);
|
|
||||||
}
|
|
||||||
else if (!string.IsNullOrEmpty(roc.value))
|
|
||||||
{
|
|
||||||
bool convertCaretToDeltaSymbol = (ii.ActiveSection != null) && ii.ActiveSection.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta;
|
|
||||||
|
|
||||||
string rocvalue = roc.value.Replace("`", "\xB0");
|
|
||||||
rocvalue = rocvalue.Replace("\xF8", "\xB0");
|
|
||||||
rocvalue = rocvalue.Replace("\x7F", "\x394"); //delta
|
|
||||||
if (convertCaretToDeltaSymbol) rocvalue = rocvalue.Replace("^", "\x394"); // delta
|
|
||||||
val = val.Replace($"<{m.Groups[1].Value}>", rocvalue);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
xindivid.InnerText = val;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "rosingle":
|
|
||||||
//Get the output columns from the EPFormatFile
|
|
||||||
//set the "Item" nodes value = to those resolved items
|
|
||||||
//separated by multiseparator
|
|
||||||
XmlElement xindivid_rosingle = xindivid.OwnerDocument.CreateElement("Item");
|
|
||||||
xindivid_rosingle.Attributes.SetNamedItem(AddAttribute(xindivid_rosingle.OwnerDocument, "ROID", val));
|
|
||||||
List<string> ro_single_tmp = EP.getROValuesList(EPAnnotation, val);
|
|
||||||
xindivid_rosingle.InnerText = String.Join(multiseparator, ro_single_tmp.ToArray());
|
|
||||||
xindivid.AppendChild(xindivid_rosingle);
|
|
||||||
break;
|
|
||||||
case "romulti":
|
|
||||||
//Get the output columns from the EPFormatFile
|
|
||||||
//create an "Item" subnode for each selected RO
|
|
||||||
//set the nodes value = to those resolved items
|
|
||||||
//separated by multiseparator
|
|
||||||
foreach (string ival in val.Split(multiseparator.ToCharArray()))
|
|
||||||
{
|
|
||||||
XmlElement xindivid_romulti = xindivid.OwnerDocument.CreateElement("Item");
|
|
||||||
xindivid_romulti.Attributes.SetNamedItem(AddAttribute(xindivid_romulti.OwnerDocument, "ROID", ival));
|
|
||||||
List<string> ro_multi_tmp = EP.getROValuesList(EPAnnotation, ival);
|
|
||||||
xindivid_romulti.InnerText = String.Join(multiseparator, ro_multi_tmp.ToArray());
|
|
||||||
xindivid.AppendChild(xindivid_romulti);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "tableinput":
|
|
||||||
xindivid.InnerText = val;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
xindivid.InnerText = val;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
xepdetails.AppendChild(xindivid);
|
|
||||||
}
|
|
||||||
|
|
||||||
xepinfo.AppendChild(xepdetails);
|
|
||||||
}
|
|
||||||
|
|
||||||
xe.AppendChild(xepinfo);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//clear objects to release memory
|
|
||||||
private void OnClose(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
DocReplace.Clear();
|
|
||||||
DocReplace = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -708,32 +708,15 @@ namespace VEPROMS
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
int ownerid = MySessionInfo.CheckOutItem(fi.FolderID, CheckOutType.Session);
|
int ownerid = MySessionInfo.CheckOutItem(fi.FolderID, CheckOutType.Session);
|
||||||
|
|
||||||
|
dlgExportImport dlg = new dlgExportImport(args.Index == 0 ? "Export" : "Import", fi, this, (E_UCFImportOptions)Properties.Settings.Default.UCFImportOpt);//Added frmVEPROMS Parameter
|
||||||
|
dlg.ShowDialog(this);
|
||||||
|
|
||||||
//C2025-024 Electronic Procedures - Phase 2 (PROMS XML output)
|
MySessionInfo.CheckInItem(ownerid);
|
||||||
//form for exporting Electronic Procedures from FolderInfo
|
|
||||||
if (args.AnnotationTypeId > 0)
|
if (args.Index == 1 && dlg.MyNewFolder != null)
|
||||||
{
|
{
|
||||||
dlgExportImportEP dlg = new dlgExportImportEP(args.Index == 0 ? "Export" : "Import", fi, this, args.AnnotationTypeId);
|
tv.AddNewNode(dlg.MyNewFolder);
|
||||||
dlg.ShowDialog(this);
|
|
||||||
|
|
||||||
MySessionInfo.CheckInItem(ownerid);
|
|
||||||
|
|
||||||
if (args.Index == 1 && dlg.MyNewFolder != null)
|
|
||||||
{
|
|
||||||
tv.AddNewNode(dlg.MyNewFolder);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
dlgExportImport dlg = new dlgExportImport(args.Index == 0 ? "Export" : "Import", fi, this, (E_UCFImportOptions)Properties.Settings.Default.UCFImportOpt);//Added frmVEPROMS Parameter
|
|
||||||
dlg.ShowDialog(this);
|
|
||||||
|
|
||||||
MySessionInfo.CheckInItem(ownerid);
|
|
||||||
|
|
||||||
if (args.Index == 1 && dlg.MyNewFolder != null)
|
|
||||||
{
|
|
||||||
tv.AddNewNode(dlg.MyNewFolder);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -759,40 +742,18 @@ namespace VEPROMS
|
|||||||
|
|
||||||
int ownerid = MySessionInfo.CheckOutItem(dvi.VersionID, CheckOutType.DocVersion);
|
int ownerid = MySessionInfo.CheckOutItem(dvi.VersionID, CheckOutType.DocVersion);
|
||||||
|
|
||||||
//C2025-024 Electronic Procedures - Phase 2 (PROMS XML output)
|
dlgExportImport dlg = new dlgExportImport("Import", dvi, this, (E_UCFImportOptions)Properties.Settings.Default.UCFImportOpt);//Added frmVEPROMS Parameter
|
||||||
//form for exporting Electronic Procedures from DocVersionInfo
|
dlg.MyNewProcedure = null;
|
||||||
if (args.AnnotationTypeId > 0)
|
dlg.ExternalTransitionItem = null;
|
||||||
{
|
dlg.ShowDialog(this);
|
||||||
dlgExportImportEP dlg = new dlgExportImportEP(args.Index == 0 ? "Export" : "Import", dvi, this, args.AnnotationTypeId);
|
|
||||||
dlg.MyNewProcedure = null;
|
|
||||||
dlg.ExternalTransitionItem = null;
|
|
||||||
dlg.ShowDialog(this);
|
|
||||||
|
|
||||||
MySessionInfo.CheckInItem(ownerid);
|
MySessionInfo.CheckInItem(ownerid);
|
||||||
|
|
||||||
if (dlg.MyNewProcedure != null)
|
if (dlg.MyNewProcedure != null)
|
||||||
tv.AddNewNode(dlg.MyNewProcedure);
|
tv.AddNewNode(dlg.MyNewProcedure);
|
||||||
|
|
||||||
if (dlg.ExternalTransitionItem != null)
|
|
||||||
tc.OpenItem(dlg.ExternalTransitionItem);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
|
|
||||||
dlgExportImport dlg = new dlgExportImport("Import", dvi, this, (E_UCFImportOptions)Properties.Settings.Default.UCFImportOpt);//Added frmVEPROMS Parameter
|
|
||||||
dlg.MyNewProcedure = null;
|
|
||||||
dlg.ExternalTransitionItem = null;
|
|
||||||
dlg.ShowDialog(this);
|
|
||||||
|
|
||||||
MySessionInfo.CheckInItem(ownerid);
|
|
||||||
|
|
||||||
if (dlg.MyNewProcedure != null)
|
|
||||||
tv.AddNewNode(dlg.MyNewProcedure);
|
|
||||||
|
|
||||||
if (dlg.ExternalTransitionItem != null)
|
|
||||||
tc.OpenItem(dlg.ExternalTransitionItem);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if (dlg.ExternalTransitionItem != null)
|
||||||
|
tc.OpenItem(dlg.ExternalTransitionItem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -808,24 +769,10 @@ namespace VEPROMS
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
int ownerid = MySessionInfo.CheckOutItem(pi.ItemID, CheckOutType.Procedure);
|
int ownerid = MySessionInfo.CheckOutItem(pi.ItemID, CheckOutType.Procedure);
|
||||||
|
dlgExportImport dlg = new dlgExportImport("Export", pi, this, (E_UCFImportOptions)0);//Added frmVEPROMS Parameter
|
||||||
|
dlg.ShowDialog(this);
|
||||||
|
|
||||||
//C2025-024 Electronic Procedures - Phase 2 (PROMS XML output)
|
MySessionInfo.CheckInItem(ownerid);
|
||||||
//form for exporting Electronic Procedures from ProcedureInfo
|
|
||||||
if (args.AnnotationTypeId > 0)
|
|
||||||
{
|
|
||||||
dlgExportImportEP dlg = new dlgExportImportEP("Export", pi, this, args.AnnotationTypeId);
|
|
||||||
dlg.ShowDialog(this);
|
|
||||||
|
|
||||||
MySessionInfo.CheckInItem(ownerid);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
|
|
||||||
dlgExportImport dlg = new dlgExportImport("Export", pi, this, (E_UCFImportOptions)0);//Added frmVEPROMS Parameter
|
|
||||||
dlg.ShowDialog(this);
|
|
||||||
|
|
||||||
MySessionInfo.CheckInItem(ownerid);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1269,7 +1216,7 @@ namespace VEPROMS
|
|||||||
|
|
||||||
//Print Section
|
//Print Section
|
||||||
//C2025-028 Add a Quick Print Section option
|
//C2025-028 Add a Quick Print Section option
|
||||||
|
|
||||||
void tv_PrintSection(object sender, vlnTreeEventArgs args)
|
void tv_PrintSection(object sender, vlnTreeEventArgs args)
|
||||||
{
|
{
|
||||||
PrintSection(sender, args, false);
|
PrintSection(sender, args, false);
|
||||||
@ -1279,7 +1226,7 @@ namespace VEPROMS
|
|||||||
PrintSection(sender, args, true);
|
PrintSection(sender, args, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PrintSection(object sender, vlnTreeEventArgs args, bool quickprint)
|
void PrintSection(object sender, vlnTreeEventArgs args, bool quickprint)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@ -2248,7 +2195,7 @@ namespace VEPROMS
|
|||||||
this.superTooltip1.SetSuperTooltip(btnResetSecurity, new SuperTooltipInfo("Reset Security", "", "WARNING this will \nREMOVE ALL PROMS USERS and Reset to the\nOriginal Volian Defaults", null, null, eTooltipColor.Gray));
|
this.superTooltip1.SetSuperTooltip(btnResetSecurity, new SuperTooltipInfo("Reset Security", "", "WARNING this will \nREMOVE ALL PROMS USERS and Reset to the\nOriginal Volian Defaults", null, null, eTooltipColor.Gray));
|
||||||
this.superTooltip1.SetSuperTooltip(btnAdministrativeTools, new SuperTooltipInfo("Administrative Tools", "", "Open the PROMS Adminstration Tools Window", null, null, eTooltipColor.Gray));
|
this.superTooltip1.SetSuperTooltip(btnAdministrativeTools, new SuperTooltipInfo("Administrative Tools", "", "Open the PROMS Adminstration Tools Window", null, null, eTooltipColor.Gray));
|
||||||
this.superTooltip1.SetSuperTooltip(btnUpdateFormats, new SuperTooltipInfo("Update Formats", "", "Install New Formats \n or Re-Install Formats", null, null, eTooltipColor.Gray));
|
this.superTooltip1.SetSuperTooltip(btnUpdateFormats, new SuperTooltipInfo("Update Formats", "", "Install New Formats \n or Re-Install Formats", null, null, eTooltipColor.Gray));
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
MyUserInfo = UserInfo.GetByUserID(VlnSettings.UserID);
|
MyUserInfo = UserInfo.GetByUserID(VlnSettings.UserID);
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -524,55 +524,7 @@ namespace Volian.Controls.Library
|
|||||||
ItemInfo secitm = (ItemInfo)cbTranSects.SelectedItem;
|
ItemInfo secitm = (ItemInfo)cbTranSects.SelectedItem;
|
||||||
bool hasMetaSubs = secitm.IsSection && secitm.Sections != null && secitm.Sections.Count > 0;
|
bool hasMetaSubs = secitm.IsSection && secitm.Sections != null && secitm.Sections.Count > 0;
|
||||||
bool editSteps = !hasMetaSubs || (secitm.MyConfig is SectionConfig && (secitm.MyConfig as SectionConfig).SubSection_Edit == "Y");
|
bool editSteps = !hasMetaSubs || (secitm.MyConfig is SectionConfig && (secitm.MyConfig as SectionConfig).SubSection_Edit == "Y");
|
||||||
if (!editSteps)
|
if (!editSteps) return;
|
||||||
{
|
|
||||||
if (secitm.Sections != null)
|
|
||||||
{
|
|
||||||
// if the transition to point is a section or procedure, just return
|
|
||||||
if (startitm.MyContent.Type < 20000) return;
|
|
||||||
groupPanelTranstionSteps.Style.BackColor = Color.Cornsilk;
|
|
||||||
// For the tree view, use parent, unless already at HLS. If at HLS, use this level.
|
|
||||||
//ItemInfo selitm2 = startitm.MyHLS;
|
|
||||||
ItemInfo selSubSec = secitm.Sections[0];
|
|
||||||
|
|
||||||
// The commented out code below is for displaying the steps from the first sub-section B2025-035
|
|
||||||
//ItemInfo subSelStep = selSubSec.Steps[0];
|
|
||||||
//E_TransUI etm2 = (E_TransUI)_CurItemFrom.ActiveFormat.PlantFormat.FormatData.TransData.TransTypeList[listBoxTranFmt.SelectedIndex].TransUI;
|
|
||||||
//if (subSelStep.IsInRNO)
|
|
||||||
// startitm = subSelStep.FirstSibling; // if in RNO tree, start out with HLS
|
|
||||||
//else
|
|
||||||
// startitm = subSelStep != null ? subSelStep.FirstSibling : startitm.FirstSibling;
|
|
||||||
|
|
||||||
// B2025-035
|
|
||||||
ItemInfo subSelStep = secitm.Sections[0];
|
|
||||||
E_TransUI etm2 = (E_TransUI)_CurItemFrom.ActiveFormat.PlantFormat.FormatData.TransData.TransTypeList[listBoxTranFmt.SelectedIndex].TransUI;
|
|
||||||
if (subSelStep.IsInRNO)
|
|
||||||
startitm = subSelStep.FirstSibling; // if in RNO tree, start out with HLS
|
|
||||||
else
|
|
||||||
startitm = subSelStep != null ? subSelStep.FirstSibling : startitm.FirstSibling;
|
|
||||||
|
|
||||||
// B2025-035
|
|
||||||
bool setsel2 = false;
|
|
||||||
while (startitm != null)
|
|
||||||
{
|
|
||||||
VETreeNode tvn = new VETreeNode(startitm, false);
|
|
||||||
tvn.Tag = startitm;
|
|
||||||
int active = this.tvTran.Nodes.Add(tvn);
|
|
||||||
if (subSelStep != null && startitm.ItemID == subSelStep.ItemID)
|
|
||||||
{
|
|
||||||
tvTran.SelectedNode = tvTran.Nodes[active];
|
|
||||||
setsel2 = true;
|
|
||||||
}
|
|
||||||
startitm = startitm.GetNext();
|
|
||||||
}
|
|
||||||
if (!setsel2) tvTran.SelectedNode = tvTran.Nodes[0];
|
|
||||||
tvTran.BeforeExpand += new TreeViewCancelEventHandler(tvTran_BeforeExpand);
|
|
||||||
// bug fix. TreeView needs the next two lines to properly display the bottom node. jsj 01/08/2010
|
|
||||||
tvTran.ItemHeight++;
|
|
||||||
tvTran.ItemHeight--;
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// if the transition to point is a section or procedure, just return
|
// if the transition to point is a section or procedure, just return
|
||||||
if (startitm.MyContent.Type < 20000) return;
|
if (startitm.MyContent.Type < 20000) return;
|
||||||
@ -982,13 +934,7 @@ namespace Volian.Controls.Library
|
|||||||
// a different section was selected, if step section, update step list, otherwise, empty
|
// a different section was selected, if step section, update step list, otherwise, empty
|
||||||
// it & disable.
|
// it & disable.
|
||||||
ItemInfo secitm = (ItemInfo)cbTranSects.SelectedItem;
|
ItemInfo secitm = (ItemInfo)cbTranSects.SelectedItem;
|
||||||
|
if (!secitm.IsStepSection)
|
||||||
//if (secitm.IsStepSection)
|
|
||||||
//{
|
|
||||||
// cbTranSects.SelectedItem.Sections[0];
|
|
||||||
|
|
||||||
//}
|
|
||||||
if (!secitm.IsStepSection)
|
|
||||||
{
|
{
|
||||||
tvTran.Nodes.Clear();
|
tvTran.Nodes.Clear();
|
||||||
tvTran.Enabled = false;
|
tvTran.Enabled = false;
|
||||||
|
@ -22,11 +22,11 @@ namespace Volian.Controls.Library
|
|||||||
public delegate void vlnTreeViewEvent(object sender, vlnTreeEventArgs args);
|
public delegate void vlnTreeViewEvent(object sender, vlnTreeEventArgs args);
|
||||||
public delegate void vlnTreeViewTimeEvent(object sender, vlnTreeTimeEventArgs args);
|
public delegate void vlnTreeViewTimeEvent(object sender, vlnTreeTimeEventArgs args);
|
||||||
public delegate void vlnTreeViewStatusEvent(object sender, vlnTreeStatusEventArgs args);
|
public delegate void vlnTreeViewStatusEvent(object sender, vlnTreeStatusEventArgs args);
|
||||||
public delegate ItemInfo vlnTreeViewClipboardStatusEvent(object sender, vlnTreeEventArgs args);
|
public delegate ItemInfo vlnTreeViewClipboardStatusEvent(object sender, vlnTreeEventArgs args);
|
||||||
public delegate void vlnTreeViewItemInfoEvent(object sender, vlnTreeItemInfoEventArgs args);
|
public delegate void vlnTreeViewItemInfoEvent(object sender, vlnTreeItemInfoEventArgs args);
|
||||||
public delegate bool vlnTreeViewBoolEvent(object sender, vlnTreeEventArgs args);
|
public delegate bool vlnTreeViewBoolEvent(object sender, vlnTreeEventArgs args);
|
||||||
public delegate bool vlnTreeViewItemInfoDeleteEvent(object sender, vlnTreeItemInfoEventArgs args);
|
public delegate bool vlnTreeViewItemInfoDeleteEvent(object sender, vlnTreeItemInfoEventArgs args);
|
||||||
|
|
||||||
public delegate bool vlnTreeViewItemInfoInsertEvent(object sender, vlnTreeItemInfoInsertEventArgs args);
|
public delegate bool vlnTreeViewItemInfoInsertEvent(object sender, vlnTreeItemInfoInsertEventArgs args);
|
||||||
public delegate bool vlnTreeViewItemInfoDeleteFolderEvent(object sender, vlnTreeFolderDeleteEventArgs args);
|
public delegate bool vlnTreeViewItemInfoDeleteFolderEvent(object sender, vlnTreeFolderDeleteEventArgs args);
|
||||||
public delegate bool vlnTreeViewItemInfoPasteEvent(object sender, vlnTreeItemInfoPasteEventArgs args);
|
public delegate bool vlnTreeViewItemInfoPasteEvent(object sender, vlnTreeItemInfoPasteEventArgs args);
|
||||||
@ -152,15 +152,6 @@ namespace Volian.Controls.Library
|
|||||||
get { return _Index; }
|
get { return _Index; }
|
||||||
set { _Index = value; }
|
set { _Index = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
//C2025-024 Electronic Procedures - Phase 2 (PROMS XML output)
|
|
||||||
//AnnotationType that would be doing an export for
|
|
||||||
private int _AnnotationTypeId = -1;
|
|
||||||
public int AnnotationTypeId
|
|
||||||
{
|
|
||||||
get { return _AnnotationTypeId; }
|
|
||||||
set { _AnnotationTypeId = value; }
|
|
||||||
}
|
|
||||||
//jcb multiunit
|
//jcb multiunit
|
||||||
private string _Unit;
|
private string _Unit;
|
||||||
public string Unit
|
public string Unit
|
||||||
@ -188,13 +179,6 @@ namespace Volian.Controls.Library
|
|||||||
_Destination = destination;
|
_Destination = destination;
|
||||||
_Index = index;
|
_Index = index;
|
||||||
}
|
}
|
||||||
public vlnTreeEventArgs(TreeNode node, TreeNode destination, int index, int annTypeId)
|
|
||||||
{
|
|
||||||
_Node = node;
|
|
||||||
_Destination = destination;
|
|
||||||
_Index = index;
|
|
||||||
_AnnotationTypeId = annTypeId;
|
|
||||||
}
|
|
||||||
//jcb multiunit
|
//jcb multiunit
|
||||||
public vlnTreeEventArgs(TreeNode node, TreeNode destination, int index, string unit, int unitIndex)
|
public vlnTreeEventArgs(TreeNode node, TreeNode destination, int index, string unit, int unitIndex)
|
||||||
{
|
{
|
||||||
@ -204,20 +188,11 @@ namespace Volian.Controls.Library
|
|||||||
_Unit = unit;
|
_Unit = unit;
|
||||||
_UnitIndex = unitIndex;
|
_UnitIndex = unitIndex;
|
||||||
}
|
}
|
||||||
public vlnTreeEventArgs(TreeNode node, TreeNode destination, int index, string unit, int unitIndex, int annTypeId)
|
|
||||||
{
|
|
||||||
_Node = node;
|
|
||||||
_Destination = destination;
|
|
||||||
_Index = index;
|
|
||||||
_Unit = unit;
|
|
||||||
_UnitIndex = unitIndex;
|
|
||||||
_AnnotationTypeId = annTypeId;
|
|
||||||
}
|
|
||||||
//end jcb multiunit
|
//end jcb multiunit
|
||||||
#endregion
|
#endregion
|
||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
return string.Format("Node={0},Destination={1},Index={2},Unit={3},UnitIndex={4}", NodePath(this.Node), this.Destination, this.Index, this.Unit, this.UnitIndex);
|
return string.Format("Node={0},Destination={1},Index={2},Unit={3},UnitIndex={4}", NodePath(this.Node), this.Destination, this.Index, this.Unit, this.UnitIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
private string NodePath(TreeNode node)
|
private string NodePath(TreeNode node)
|
||||||
@ -347,7 +322,7 @@ namespace Volian.Controls.Library
|
|||||||
_PasteType = pasteType;
|
_PasteType = pasteType;
|
||||||
_Type = type;
|
_Type = type;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
@ -598,16 +573,16 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
if (ProcedureCheckedOutTo != null) ProcedureCheckedOutTo(sender, args);
|
if (ProcedureCheckedOutTo != null) ProcedureCheckedOutTo(sender, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public event vlnTreeViewEvent ExportImportProcedureSets;
|
public event vlnTreeViewEvent ExportImportProcedureSets;
|
||||||
private void OnExportImportProcedureSets(object sender, vlnTreeEventArgs args)
|
private void OnExportImportProcedureSets(object sender, vlnTreeEventArgs args)
|
||||||
{
|
{
|
||||||
if (ExportImportProcedureSets != null) ExportImportProcedureSets(sender, args);
|
if (ExportImportProcedureSets != null) ExportImportProcedureSets(sender, args);
|
||||||
}
|
}
|
||||||
public event vlnTreeViewEvent PrintTransitionReport;
|
public event vlnTreeViewEvent PrintTransitionReport;
|
||||||
private void OnPrintTransitionReport(object sender, vlnTreeEventArgs args)
|
private void OnPrintTransitionReport(object sender, vlnTreeEventArgs args)
|
||||||
{
|
{
|
||||||
@ -659,7 +634,7 @@ namespace Volian.Controls.Library
|
|||||||
// This event was added to update the Step Properties/RO & Tools/Search RO & Reports
|
// This event was added to update the Step Properties/RO & Tools/Search RO & Reports
|
||||||
// when an update of ro.fst is done & the ro trees on those panels needs refreshed.
|
// when an update of ro.fst is done & the ro trees on those panels needs refreshed.
|
||||||
// (bug fix B2015-226)
|
// (bug fix B2015-226)
|
||||||
public event StepPanelTabDisplayEvent TabDisplay;
|
public event StepPanelTabDisplayEvent TabDisplay;
|
||||||
private void OnTabDisplay(object sender, StepPanelTabDisplayEventArgs args)
|
private void OnTabDisplay(object sender, StepPanelTabDisplayEventArgs args)
|
||||||
{
|
{
|
||||||
if (TabDisplay != null) TabDisplay(sender, args);
|
if (TabDisplay != null) TabDisplay(sender, args);
|
||||||
@ -736,10 +711,7 @@ namespace Volian.Controls.Library
|
|||||||
if (ui.IsAdministrator() || ui.IsSetAdministrator(fi))// && fi.MyParent == null) //VEPROMS level
|
if (ui.IsAdministrator() || ui.IsSetAdministrator(fi))// && fi.MyParent == null) //VEPROMS level
|
||||||
{
|
{
|
||||||
if (fi.HasWorkingDraft)
|
if (fi.HasWorkingDraft)
|
||||||
{
|
|
||||||
cm.MenuItems.Add("Export Procedure Set", new EventHandler(mi_Click));
|
cm.MenuItems.Add("Export Procedure Set", new EventHandler(mi_Click));
|
||||||
//AddEPExport(cm.MenuItems, 0, null);
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
cm.MenuItems.Add("Import Procedure Set", new EventHandler(mi_Click));
|
cm.MenuItems.Add("Import Procedure Set", new EventHandler(mi_Click));
|
||||||
if (DoSpecificInfo)
|
if (DoSpecificInfo)
|
||||||
@ -759,12 +731,12 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// B2020-111 only allow Set Administrator to add new folders inside folders they admininstrate
|
// B2020-111 only allow Set Administrator to add new folders inside folders they admininstrate
|
||||||
if ((ui.IsAdministrator() || ui.IsSetAdministrator(fi.MyParent)) && fi.FolderDocVersionCount == 0)
|
if ((ui.IsAdministrator() || ui.IsSetAdministrator(fi.MyParent)) && fi.FolderDocVersionCount == 0)
|
||||||
cm.MenuItems.Add("New Folder", new EventHandler(mi_Click));
|
cm.MenuItems.Add("New Folder", new EventHandler(mi_Click));
|
||||||
if (fi.ChildFolderCount == 0 && !fi.HasWorkingDraft)
|
if (fi.ChildFolderCount == 0 && !fi.HasWorkingDraft)
|
||||||
cm.MenuItems.Add("Create Working Draft", new EventHandler(mi_Click));
|
cm.MenuItems.Add("Create Working Draft", new EventHandler(mi_Click));
|
||||||
}
|
}
|
||||||
if (fi.HasWorkingDraft)
|
if (fi.HasWorkingDraft)
|
||||||
cm.MenuItems.Add("Print Transition Report", new EventHandler(mi_Click));
|
cm.MenuItems.Add("Print Transition Report", new EventHandler(mi_Click));
|
||||||
}
|
}
|
||||||
else if (tn.VEObject as DocVersionInfo != null) // DocVersions can only contain procs
|
else if (tn.VEObject as DocVersionInfo != null) // DocVersions can only contain procs
|
||||||
@ -773,14 +745,14 @@ namespace Volian.Controls.Library
|
|||||||
//_MyLog.WarnFormat("Context Menu 1c - {0}", GC.GetTotalMemory(true));
|
//_MyLog.WarnFormat("Context Menu 1c - {0}", GC.GetTotalMemory(true));
|
||||||
DocVersionInfo dvi = tn.VEObject as DocVersionInfo;
|
DocVersionInfo dvi = tn.VEObject as DocVersionInfo;
|
||||||
if (ui.IsAdministrator() || ui.IsSetAdministrator(dvi))
|
if (ui.IsAdministrator() || ui.IsSetAdministrator(dvi))
|
||||||
{
|
{
|
||||||
cm.MenuItems.Add("Import Procedure", mi_Click);
|
cm.MenuItems.Add("Import Procedure", mi_Click);
|
||||||
}
|
}
|
||||||
if (ui.IsAdministrator() || ui.IsSetAdministrator(dvi) || ui.IsWriter(dvi))
|
if (ui.IsAdministrator() || ui.IsSetAdministrator(dvi) || ui.IsWriter(dvi))
|
||||||
{
|
{
|
||||||
OwnerInfoList.Reset();
|
OwnerInfoList.Reset();
|
||||||
oil = OwnerInfoList.GetByVersionID(dvi.VersionID);
|
oil = OwnerInfoList.GetByVersionID(dvi.VersionID);
|
||||||
if (dvi.ActiveFormat.PlantFormat.FormatData.SpecificInfo)
|
if (dvi.ActiveFormat.PlantFormat.FormatData.SpecificInfo)
|
||||||
cm.MenuItems.Add("Procedure Set Specific Information", new EventHandler(mi_Click));
|
cm.MenuItems.Add("Procedure Set Specific Information", new EventHandler(mi_Click));
|
||||||
cm.MenuItems.Add("Refresh Checked Out Procedures", new EventHandler(mi_Click));
|
cm.MenuItems.Add("Refresh Checked Out Procedures", new EventHandler(mi_Click));
|
||||||
cm.MenuItems.Add("New Procedure", new EventHandler(mi_Click));
|
cm.MenuItems.Add("New Procedure", new EventHandler(mi_Click));
|
||||||
@ -874,8 +846,7 @@ namespace Volian.Controls.Library
|
|||||||
oi = OwnerInfo.GetByItemID(pri.ItemID, CheckOutType.Procedure);
|
oi = OwnerInfo.GetByItemID(pri.ItemID, CheckOutType.Procedure);
|
||||||
if (ui.IsAdministrator() || ui.IsSetAdministrator(pri.MyDocVersion))
|
if (ui.IsAdministrator() || ui.IsSetAdministrator(pri.MyDocVersion))
|
||||||
{
|
{
|
||||||
cm.MenuItems.Add("Export Procedure", mi_Click);
|
cm.MenuItems.Add("Export Procedure", mi_Click);
|
||||||
AddEPExport(cm.MenuItems, pri.MyDocVersion.MultiUnitCount, pri.MyDocVersion.UnitNames);
|
|
||||||
}
|
}
|
||||||
if (ui.IsAdministrator() || ui.IsSetAdministrator(pri.MyDocVersion) || ui.IsWriter(pri.MyDocVersion))
|
if (ui.IsAdministrator() || ui.IsSetAdministrator(pri.MyDocVersion) || ui.IsWriter(pri.MyDocVersion))
|
||||||
{
|
{
|
||||||
@ -927,7 +898,7 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
cm.MenuItems.Add(micas);
|
cm.MenuItems.Add(micas);
|
||||||
cm.MenuItems.Add(mitcas);
|
cm.MenuItems.Add(mitcas);
|
||||||
cm.MenuItems.Add(mip);
|
cm.MenuItems.Add(mip);
|
||||||
cm.MenuItems.Add(miqp);
|
cm.MenuItems.Add(miqp);
|
||||||
//cm.MenuItems.Add(mips);
|
//cm.MenuItems.Add(mips);
|
||||||
AddShowChangeBarsAfterMenuItem(cm.MenuItems, pri);
|
AddShowChangeBarsAfterMenuItem(cm.MenuItems, pri);
|
||||||
@ -1161,35 +1132,35 @@ namespace Volian.Controls.Library
|
|||||||
|
|
||||||
#region Menu_Delete
|
#region Menu_Delete
|
||||||
if (ok)
|
if (ok)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
// Add delete to the menu unless at the very 'top' node, on a grouping (partinfo)
|
||||||
|
// node (RNOs, Steps, Cautions, Notes) or Folder/DocVersion that contains any items.
|
||||||
|
PartInfo pi = tn.VEObject as PartInfo;
|
||||||
|
if (pi == null && tn.Parent != null) // it's not a part and it's not the top....
|
||||||
{
|
{
|
||||||
// Add delete to the menu unless at the very 'top' node, on a grouping (partinfo)
|
fi = tn.VEObject as FolderInfo;
|
||||||
// node (RNOs, Steps, Cautions, Notes) or Folder/DocVersion that contains any items.
|
if (fi == null || tn.Nodes.Count == 0) // it's not a folder or it has no children
|
||||||
PartInfo pi = tn.VEObject as PartInfo;
|
|
||||||
if (pi == null && tn.Parent != null) // it's not a part and it's not the top....
|
|
||||||
{
|
{
|
||||||
fi = tn.VEObject as FolderInfo;
|
DocVersionInfo di = tn.VEObject as DocVersionInfo;
|
||||||
if (fi == null || tn.Nodes.Count == 0) // it's not a folder or it has no children
|
if (di == null || tn.Nodes.Count == 0) // it's not a docversion or it has no children
|
||||||
{
|
{
|
||||||
DocVersionInfo di = tn.VEObject as DocVersionInfo;
|
// if it's an enhanced step that was linked from a source, don't allow delete
|
||||||
if (di == null || tn.Nodes.Count == 0) // it's not a docversion or it has no children
|
bool canDoDel = true;
|
||||||
{
|
ItemInfo iienh = tn.VEObject as ItemInfo;
|
||||||
// if it's an enhanced step that was linked from a source, don't allow delete
|
if (iienh != null && iienh.IsProcedure && iienh.IsEnhancedProcedure) canDoDel = false;
|
||||||
bool canDoDel = true;
|
if (iienh != null && iienh.IsSection && iienh.IsEnhancedSection && !iienh.IsEnhancedSectionTitleOnly) canDoDel = false;
|
||||||
ItemInfo iienh = tn.VEObject as ItemInfo;
|
if (iienh != null && iienh.IsEnhancedStep) canDoDel = false;
|
||||||
if (iienh != null && iienh.IsProcedure && iienh.IsEnhancedProcedure) canDoDel = false;
|
if (canDoDel) cm.MenuItems.Add("Delete", new EventHandler(mi_Click));
|
||||||
if (iienh != null && iienh.IsSection && iienh.IsEnhancedSection && !iienh.IsEnhancedSectionTitleOnly) canDoDel = false;
|
|
||||||
if (iienh != null && iienh.IsEnhancedStep) canDoDel = false;
|
|
||||||
if (canDoDel) cm.MenuItems.Add("Delete", new EventHandler(mi_Click));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
//_MyLog.WarnFormat("Context Menu 6 - {0}", GC.GetTotalMemory(true));
|
//_MyLog.WarnFormat("Context Menu 6 - {0}", GC.GetTotalMemory(true));
|
||||||
#region Menu_ExternalTransitions
|
#region Menu_ExternalTransitions
|
||||||
@ -1253,8 +1224,8 @@ namespace Volian.Controls.Library
|
|||||||
// node (RNOs, Steps, Cautions, Notes) or at the step level.
|
// node (RNOs, Steps, Cautions, Notes) or at the step level.
|
||||||
// B2020-105 Allow Set Administrators to rename folder's (sets of procedures) to which they have been given access.
|
// B2020-105 Allow Set Administrators to rename folder's (sets of procedures) to which they have been given access.
|
||||||
if (tn.VEObject is FolderInfo) ok = (ui.IsAdministrator() || ui.IsSetAdministrator(tn.VEObject as FolderInfo));
|
if (tn.VEObject is FolderInfo) ok = (ui.IsAdministrator() || ui.IsSetAdministrator(tn.VEObject as FolderInfo));
|
||||||
else ok = (tn.VEObject is DocVersionInfo) ? (ui.IsAdministrator() || ui.IsSetAdministrator(tn.VEObject as DocVersionInfo))
|
else ok = (tn.VEObject is DocVersionInfo) ? (ui.IsAdministrator() || ui.IsSetAdministrator(tn.VEObject as DocVersionInfo))
|
||||||
: (ui.IsAdministrator() || (tn.VEObject is ItemInfo) && (ui.IsSetAdministrator((tn.VEObject as ItemInfo).MyProcedure.MyDocVersion)
|
: (ui.IsAdministrator() || (tn.VEObject is ItemInfo) && (ui.IsSetAdministrator((tn.VEObject as ItemInfo).MyProcedure.MyDocVersion)
|
||||||
|| ui.IsWriter((tn.VEObject as ItemInfo).MyProcedure.MyDocVersion)));
|
|| ui.IsWriter((tn.VEObject as ItemInfo).MyProcedure.MyDocVersion)));
|
||||||
PartInfo pia = tn.VEObject as PartInfo;
|
PartInfo pia = tn.VEObject as PartInfo;
|
||||||
ItemInfo ii = tn.VEObject as ItemInfo;
|
ItemInfo ii = tn.VEObject as ItemInfo;
|
||||||
@ -1335,7 +1306,7 @@ namespace Volian.Controls.Library
|
|||||||
itm.Text == "Procedure Set Specific Information" || itm.Text == "Approve All Procedures for" ||
|
itm.Text == "Procedure Set Specific Information" || itm.Text == "Approve All Procedures for" ||
|
||||||
itm.Text == "Approve Some Procedures" || itm.Text == "Approve Some Procedures for")
|
itm.Text == "Approve Some Procedures" || itm.Text == "Approve Some Procedures for")
|
||||||
itm.Enabled = false;
|
itm.Enabled = false;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1364,9 +1335,9 @@ namespace Volian.Controls.Library
|
|||||||
// F2022-024 added Time Critical Action Summary option
|
// F2022-024 added Time Critical Action Summary option
|
||||||
foreach (MenuItem itm in cm.MenuItems)
|
foreach (MenuItem itm in cm.MenuItems)
|
||||||
{
|
{
|
||||||
if (itm.Text == "Procedure Specific Information" || itm.Text == "New Section" || itm.Text == "Approve" || itm.Text == "Open" ||
|
if (itm.Text == "Procedure Specific Information" || itm.Text == "New Section" || itm.Text == "Approve" || itm.Text == "Open" ||
|
||||||
itm.Text == "Copy" || itm.Text == "Delete" || itm.Text == "Properties..." || itm.Text == "Replace Existing Procedure" ||
|
itm.Text == "Copy" || itm.Text == "Delete" || itm.Text == "Properties..." || itm.Text == "Replace Existing Procedure" ||
|
||||||
itm.Text.StartsWith("Showing Change Bars Starting") || itm.Text == "Create Continuous Action Summary" ||
|
itm.Text.StartsWith("Showing Change Bars Starting") || itm.Text == "Create Continuous Action Summary" ||
|
||||||
itm.Text == "Create Time Critical Action Summary" || itm.Text == "Export Procedure")
|
itm.Text == "Create Time Critical Action Summary" || itm.Text == "Export Procedure")
|
||||||
itm.Enabled = false;
|
itm.Enabled = false;
|
||||||
}
|
}
|
||||||
@ -1388,53 +1359,7 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//C2025-024 Electronic Procedures - Phase 2 (PROMS XML output)
|
private void AddApprovedRevisionsMultiUnit(Menu.MenuItemCollection menuItemCollection, ProcedureInfo pri)
|
||||||
// Add context menu for exporting Electronic Procedures
|
|
||||||
// if has an Electronic procedure
|
|
||||||
// then loop through and add an Export for each EP Viewer
|
|
||||||
private void AddEPExport(Menu.MenuItemCollection menuItems, int MultiUnitCount, string[] UnitNames)
|
|
||||||
{
|
|
||||||
//get EP Annotations
|
|
||||||
AnnotationTypeInfoList annotations = AnnotationTypeInfoList.Get();
|
|
||||||
List<AnnotationTypeInfo> epAnnotations = new List<AnnotationTypeInfo>();
|
|
||||||
foreach (AnnotationTypeInfo tmp in annotations)
|
|
||||||
{
|
|
||||||
if (tmp.IsEPAnnotationType) epAnnotations.Add(tmp);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (epAnnotations.Count == 0) return; // no Electronic Procedures
|
|
||||||
|
|
||||||
//add outer menu
|
|
||||||
MenuItem mi = menuItems.Add("Electronic Procedure Viewer Export");
|
|
||||||
foreach (AnnotationTypeInfo epAnn in epAnnotations)
|
|
||||||
{
|
|
||||||
//Add item for each individual EP Viewer
|
|
||||||
MenuItem mv = mi.MenuItems.Add(epAnn.Name);
|
|
||||||
|
|
||||||
//tag will be of format:
|
|
||||||
//{EP Annotation Type ID},{Unit}
|
|
||||||
//if not multi-unit, unit will be zero.
|
|
||||||
if (MultiUnitCount > 1)
|
|
||||||
{
|
|
||||||
//if multi-unit, add menu item for each unit
|
|
||||||
int k = 0;
|
|
||||||
foreach (string s in UnitNames)
|
|
||||||
{
|
|
||||||
k++;
|
|
||||||
MenuItem multiunit_mv = mv.MenuItems.Add(s);
|
|
||||||
multiunit_mv.Tag = $"{epAnn.TypeID},{k}";
|
|
||||||
multiunit_mv.Click += new EventHandler(miEP_Click);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
mv.Tag = $"{epAnn.TypeID},0";
|
|
||||||
mv.Click += new EventHandler(miEP_Click);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void AddApprovedRevisionsMultiUnit(Menu.MenuItemCollection menuItemCollection, ProcedureInfo pri)
|
|
||||||
{
|
{
|
||||||
_currentPri = pri;
|
_currentPri = pri;
|
||||||
RevisionInfoList ril = RevisionInfoList.GetByItemID(pri.ItemID);
|
RevisionInfoList ril = RevisionInfoList.GetByItemID(pri.ItemID);
|
||||||
@ -1485,11 +1410,11 @@ namespace Volian.Controls.Library
|
|||||||
ril = null;
|
ril = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void AddNewNode(IVEDrillDownReadOnly o)
|
public void AddNewNode(IVEDrillDownReadOnly o)
|
||||||
{
|
{
|
||||||
VETreeNode tn = new VETreeNode(o);
|
VETreeNode tn = new VETreeNode(o);
|
||||||
SelectedNode.Nodes.Add(tn);
|
SelectedNode.Nodes.Add(tn);
|
||||||
}
|
}
|
||||||
private void AddApprovedRevisions(Menu.MenuItemCollection menuItemCollection, ProcedureInfo pri)
|
private void AddApprovedRevisions(Menu.MenuItemCollection menuItemCollection, ProcedureInfo pri)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@ -1498,7 +1423,7 @@ namespace Volian.Controls.Library
|
|||||||
_currentPri = pri;
|
_currentPri = pri;
|
||||||
using (RevisionInfoList ril = RevisionInfoList.GetByItemID(pri.ItemID))
|
using (RevisionInfoList ril = RevisionInfoList.GetByItemID(pri.ItemID))
|
||||||
{
|
{
|
||||||
//_MyLog.WarnFormat("Context Menu 1 After GET - {0}", GC.GetTotalMemory(true));
|
//_MyLog.WarnFormat("Context Menu 1 After GET - {0}", GC.GetTotalMemory(true));
|
||||||
if (ril.Count == 0) return; // no versions to list
|
if (ril.Count == 0) return; // no versions to list
|
||||||
MenuItem mi = menuItemCollection.Add("Versions");
|
MenuItem mi = menuItemCollection.Add("Versions");
|
||||||
int lastApprovedRevisionID = 0;
|
int lastApprovedRevisionID = 0;
|
||||||
@ -1632,7 +1557,7 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
vlnTreeViewPdfArgs args = new vlnTreeViewPdfArgs(Volian.Base.Library.TmpFile.CreateFileName(ProcedureInfo.Get(ri.ItemID).PDFNumber), ri.LatestVersion.PDF, superceded ? "Superceded" : "");
|
vlnTreeViewPdfArgs args = new vlnTreeViewPdfArgs(Volian.Base.Library.TmpFile.CreateFileName(ProcedureInfo.Get(ri.ItemID).PDFNumber), ri.LatestVersion.PDF, superceded ? "Superceded" : "");
|
||||||
OnViewPDF(sender, args);
|
OnViewPDF(sender, args);
|
||||||
// System.Diagnostics.Process pp = System.Diagnostics.Process.Start(GetDocPdf(ri, superceded));
|
// System.Diagnostics.Process pp = System.Diagnostics.Process.Start(GetDocPdf(ri, superceded));
|
||||||
}
|
}
|
||||||
void MultiUnitApprovedRevision_Click(object sender, EventArgs e)
|
void MultiUnitApprovedRevision_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
@ -1755,7 +1680,7 @@ namespace Volian.Controls.Library
|
|||||||
// 3) 'to' docversion is 'source' and 'from' procedure is within this docversion
|
// 3) 'to' docversion is 'source' and 'from' procedure is within this docversion
|
||||||
// 4) 'to' docVersion is 'enhanced' and 'from' procedure is not
|
// 4) 'to' docVersion is 'enhanced' and 'from' procedure is not
|
||||||
bool canPaste = false;
|
bool canPaste = false;
|
||||||
|
|
||||||
DocVersionInfo dvi = tn.VEObject as DocVersionInfo;
|
DocVersionInfo dvi = tn.VEObject as DocVersionInfo;
|
||||||
DocVersionConfig dvc = dvi.DocVersionConfig;
|
DocVersionConfig dvc = dvi.DocVersionConfig;
|
||||||
bool docVersionIsEnhanced = dvc.MyEnhancedDocuments != null && dvc.MyEnhancedDocuments.Count > 0 && dvc.MyEnhancedDocuments[0].Type == 0;
|
bool docVersionIsEnhanced = dvc.MyEnhancedDocuments != null && dvc.MyEnhancedDocuments.Count > 0 && dvc.MyEnhancedDocuments[0].Type == 0;
|
||||||
@ -1776,7 +1701,7 @@ namespace Volian.Controls.Library
|
|||||||
if (iiClipboard.IsRtfRaw) canPaste = false; // never paste an equation.
|
if (iiClipboard.IsRtfRaw) canPaste = false; // never paste an equation.
|
||||||
if (canPaste) cm.MenuItems.Add("Paste Procedure", new EventHandler(mi_Click));
|
if (canPaste) cm.MenuItems.Add("Paste Procedure", new EventHandler(mi_Click));
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1994,7 +1919,7 @@ namespace Volian.Controls.Library
|
|||||||
OnQPrintSection(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag));
|
OnQPrintSection(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag));
|
||||||
break;
|
break;
|
||||||
case "Print All Procedures for":
|
case "Print All Procedures for":
|
||||||
OnPrintAllProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag));
|
OnPrintAllProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag));
|
||||||
break;
|
break;
|
||||||
case "Approve":
|
case "Approve":
|
||||||
OnApproveProcedure(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag));
|
OnApproveProcedure(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag));
|
||||||
@ -2055,7 +1980,7 @@ namespace Volian.Controls.Library
|
|||||||
if (hasValidConnectingProc)
|
if (hasValidConnectingProc)
|
||||||
{
|
{
|
||||||
ItemInfo lprc = ItemInfo.Get(seleds[0].ItemID);
|
ItemInfo lprc = ItemInfo.Get(seleds[0].ItemID);
|
||||||
lprc.DoUnlinkEnhanced(lprc, 0, !hasValidConnectingProc);
|
lprc.DoUnlinkEnhanced(lprc, 0, !hasValidConnectingProc);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
selprc.DoUnlinkEnhanced(selprc, seleds[0].Type, !hasValidConnectingProc);
|
selprc.DoUnlinkEnhanced(selprc, seleds[0].Type, !hasValidConnectingProc);
|
||||||
@ -2075,7 +2000,7 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
ItemInfo lprc = ItemInfo.Get(ed.ItemID);
|
ItemInfo lprc = ItemInfo.Get(ed.ItemID);
|
||||||
bool hasValidConnectingProc = CheckForValidEnhLink(lprc);
|
bool hasValidConnectingProc = CheckForValidEnhLink(lprc);
|
||||||
// if there is a valid connection, unlink both. Otherwise, just unlink this selected procedure.
|
// if there is a valid connection, unlink both. Otherwise, just unlink this selected procedure.
|
||||||
if (hasValidConnectingProc)
|
if (hasValidConnectingProc)
|
||||||
lprc.DoUnlinkEnhanced(lprc, ed.Type, !hasValidConnectingProc);
|
lprc.DoUnlinkEnhanced(lprc, ed.Type, !hasValidConnectingProc);
|
||||||
else
|
else
|
||||||
@ -2099,37 +2024,37 @@ namespace Volian.Controls.Library
|
|||||||
OnNodeSI(this, new vlnTreeEventArgs(tn, null, 0));
|
OnNodeSI(this, new vlnTreeEventArgs(tn, null, 0));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (mi.Text.StartsWith("Collapse"))
|
if (mi.Text.StartsWith("Collapse"))
|
||||||
{
|
{
|
||||||
CollapseProcedures();
|
CollapseProcedures();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (mi.Text == "Print Transition Report")
|
if (mi.Text == "Print Transition Report")
|
||||||
{
|
{
|
||||||
OnPrintTransitionReport(this, new vlnTreeEventArgs(SelectedNode as VETreeNode));
|
OnPrintTransitionReport(this, new vlnTreeEventArgs(SelectedNode as VETreeNode));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (mi.Text == "Export Procedure Set" || mi.Text == "Export Procedure")
|
if (mi.Text == "Export Procedure Set" || mi.Text == "Export Procedure")
|
||||||
{
|
{
|
||||||
OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
|
OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (mi.Text == "Import Procedure Set" || mi.Text == "Import Procedure")
|
if (mi.Text == "Import Procedure Set" || mi.Text == "Import Procedure")
|
||||||
{
|
{
|
||||||
OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 1));
|
OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 1));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (mi.Text.StartsWith("Procedure Checked Out to") || mi.Text.StartsWith("Document Checked Out to"))
|
if (mi.Text.StartsWith("Procedure Checked Out to") || mi.Text.StartsWith("Document Checked Out to"))
|
||||||
{
|
{
|
||||||
OnProcedureCheckedOutTo(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
|
OnProcedureCheckedOutTo(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
|
||||||
return;
|
return;
|
||||||
@ -2155,7 +2080,7 @@ namespace Volian.Controls.Library
|
|||||||
break;
|
break;
|
||||||
case "New Folder":
|
case "New Folder":
|
||||||
SelectedNode.Expand();
|
SelectedNode.Expand();
|
||||||
tv_NodeNew(MenuSelections.Folder);
|
tv_NodeNew(MenuSelections.Folder);
|
||||||
break;
|
break;
|
||||||
case "Create Working Draft":
|
case "Create Working Draft":
|
||||||
SelectedNode.Expand();
|
SelectedNode.Expand();
|
||||||
@ -2199,7 +2124,7 @@ namespace Volian.Controls.Library
|
|||||||
tv_NodeCopy();
|
tv_NodeCopy();
|
||||||
break;
|
break;
|
||||||
// lots of paste options:
|
// lots of paste options:
|
||||||
case "Paste Procedure":
|
case "Paste Procedure":
|
||||||
case "Paste Procedure Before":
|
case "Paste Procedure Before":
|
||||||
case "Paste Procedure After":
|
case "Paste Procedure After":
|
||||||
case "Paste Section":
|
case "Paste Section":
|
||||||
@ -2233,7 +2158,7 @@ namespace Volian.Controls.Library
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
case "Delete":
|
case "Delete":
|
||||||
if (tv_NodeDelete())
|
if (tv_NodeDelete())
|
||||||
{
|
{
|
||||||
@ -2301,12 +2226,12 @@ namespace Volian.Controls.Library
|
|||||||
case "Create Continuous Action Summary":
|
case "Create Continuous Action Summary":
|
||||||
OnCreateContinuousActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
|
OnCreateContinuousActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
|
||||||
break;
|
break;
|
||||||
// F2022-024 Time Critical Action Summary
|
// F2022-024 Time Critical Action Summary
|
||||||
case "Create Time Critical Action Summary":
|
case "Create Time Critical Action Summary":
|
||||||
OnCreateTimeCriticalActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
|
OnCreateTimeCriticalActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
|
||||||
break;
|
break;
|
||||||
// B2017-243 added the following two Cannot Paste items when dealing with enhanced documents
|
// B2017-243 added the following two Cannot Paste items when dealing with enhanced documents
|
||||||
// when then user selects these menu items a message box will appear giving more information as to why it cannot be pasted
|
// when then user selects these menu items a message box will appear giving more information as to why it cannot be pasted
|
||||||
case "CANNOT PASTE HERE. Click for more information...":
|
case "CANNOT PASTE HERE. Click for more information...":
|
||||||
FlexibleMessageBox.Show("You have copied a document that is linked to an Enhanced Document.\n\n" +
|
FlexibleMessageBox.Show("You have copied a document that is linked to an Enhanced Document.\n\n" +
|
||||||
"It can only be pasted before or after another document, within the set, that is linked to an Enhanced Document.", "Cannot Paste Here");
|
"It can only be pasted before or after another document, within the set, that is linked to an Enhanced Document.", "Cannot Paste Here");
|
||||||
@ -2330,23 +2255,6 @@ namespace Volian.Controls.Library
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//C2025-024 Electronic Procedures - Phase 2 (PROMS XML output)
|
|
||||||
// Handles clicking of items in the context menu
|
|
||||||
// for exporting Electronic Procedures
|
|
||||||
// tag will be of format:
|
|
||||||
// {EP Annotation Type ID},{Unit}
|
|
||||||
// if not multi-unit, unit will be zero.
|
|
||||||
void miEP_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
MenuItem mi = sender as MenuItem;
|
|
||||||
int annTypeid = int.Parse(((string)mi.Tag).Split(',')[0]);
|
|
||||||
int unit = int.Parse(((string)mi.Tag).Split(',')[1]);
|
|
||||||
if (unit == 0)
|
|
||||||
OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, annTypeid));
|
|
||||||
else
|
|
||||||
OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, "", unit, annTypeid));
|
|
||||||
}
|
|
||||||
private bool _doingCollapseNode = false; // B2016-058 when collapse is done, it always calls the drag node event which doesn't appear to be needed
|
private bool _doingCollapseNode = false; // B2016-058 when collapse is done, it always calls the drag node event which doesn't appear to be needed
|
||||||
private void CollapseProcedures()
|
private void CollapseProcedures()
|
||||||
{
|
{
|
||||||
@ -2365,7 +2273,7 @@ namespace Volian.Controls.Library
|
|||||||
foreach (VETreeNode tnc in tn.Nodes)
|
foreach (VETreeNode tnc in tn.Nodes)
|
||||||
CollapseProcedures(tnc);
|
CollapseProcedures(tnc);
|
||||||
if (tn.VEObject as DocVersionInfo == null && tn.VEObject as FolderInfo == null)
|
if (tn.VEObject as DocVersionInfo == null && tn.VEObject as FolderInfo == null)
|
||||||
tn.Collapse();
|
tn.Collapse();
|
||||||
_doingCollapseNode = true; // B2016-058 this will prevent a Drag Node error when collapsing an RNOs, Cautions, or Notes tree node
|
_doingCollapseNode = true; // B2016-058 this will prevent a Drag Node error when collapsing an RNOs, Cautions, or Notes tree node
|
||||||
}
|
}
|
||||||
private void tv_RemoveChgIds()
|
private void tv_RemoveChgIds()
|
||||||
@ -2425,7 +2333,7 @@ namespace Volian.Controls.Library
|
|||||||
using (DocVersion dv = DocVersion.Get(MyDVI.VersionID))
|
using (DocVersion dv = DocVersion.Get(MyDVI.VersionID))
|
||||||
{
|
{
|
||||||
swROUpdate = new System.IO.StreamWriter(ROFstInfo.ROUpdateResultsPath(MyDVI)); // RO changes placed in file in the Documents\VEPROMS folder
|
swROUpdate = new System.IO.StreamWriter(ROFstInfo.ROUpdateResultsPath(MyDVI)); // RO changes placed in file in the Documents\VEPROMS folder
|
||||||
// B2022-026 RO Memory Reduction code - first load the new ro.fst so that we can assign the ROTableUpdate event to the correct roFstInfo
|
// B2022-026 RO Memory Reduction code - first load the new ro.fst so that we can assign the ROTableUpdate event to the correct roFstInfo
|
||||||
if (dv.ROfstLoadingFigures || dv.NewerRoFst) // B2017-125 see if loading figures was completed
|
if (dv.ROfstLoadingFigures || dv.NewerRoFst) // B2017-125 see if loading figures was completed
|
||||||
{
|
{
|
||||||
// only load the RO.fst
|
// only load the RO.fst
|
||||||
@ -2566,7 +2474,7 @@ namespace Volian.Controls.Library
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// C2017-003: ro data in sql server, check for sql connection string
|
// C2017-003: ro data in sql server, check for sql connection string
|
||||||
if (MyDVI.DocVersionAssociations[0].MyROFst.MyRODb.DBConnectionString != "cstring")
|
if (MyDVI.DocVersionAssociations[0].MyROFst.MyRODb.DBConnectionString != "cstring")
|
||||||
roloc = roloc + " \"" + MyDVI.DocVersionAssociations[0].MyROFst.MyRODb.DBConnectionString + "\"";
|
roloc = roloc + " \"" + MyDVI.DocVersionAssociations[0].MyROFst.MyRODb.DBConnectionString + "\"";
|
||||||
// C2021-026 pass in Parent/Child information (list of the children)
|
// C2021-026 pass in Parent/Child information (list of the children)
|
||||||
// B2022-019 look at all DocVersions to find ParentChild information
|
// B2022-019 look at all DocVersions to find ParentChild information
|
||||||
@ -2617,7 +2525,7 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
VETreeNode tn = SelectedNode as VETreeNode;
|
VETreeNode tn = SelectedNode as VETreeNode;
|
||||||
|
|
||||||
DocVersionInfo dvi = tn.VEObject as DocVersionInfo;
|
DocVersionInfo dvi = tn.VEObject as DocVersionInfo;
|
||||||
// Check for paste into a docversion - queries/code is different than paste related to an item (into a proc or section)
|
// Check for paste into a docversion - queries/code is different than paste related to an item (into a proc or section)
|
||||||
if (dvi != null)
|
if (dvi != null)
|
||||||
@ -2667,7 +2575,7 @@ namespace Volian.Controls.Library
|
|||||||
if (OnlyProc && repitem != null && tmp != null)
|
if (OnlyProc && repitem != null && tmp != null)
|
||||||
{
|
{
|
||||||
VETreeNode tn1 = new VETreeNode(repitem);
|
VETreeNode tn1 = new VETreeNode(repitem);
|
||||||
tmp.Nodes.Add(tn1);
|
tmp.Nodes.Add(tn1);
|
||||||
SelectedNode = tn1;
|
SelectedNode = tn1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2676,7 +2584,7 @@ namespace Volian.Controls.Library
|
|||||||
|
|
||||||
|
|
||||||
//if (p.IndexOf("Replace") <= -1)
|
//if (p.IndexOf("Replace") <= -1)
|
||||||
this.Cursor = Cursors.Default;
|
this.Cursor = Cursors.Default;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PasteAsDocVersionChild(VETreeNode tn, int copyStartID)
|
public void PasteAsDocVersionChild(VETreeNode tn, int copyStartID)
|
||||||
@ -2745,7 +2653,7 @@ namespace Volian.Controls.Library
|
|||||||
// the item to be pasted in the step editor and the tree.
|
// the item to be pasted in the step editor and the tree.
|
||||||
ItemInfo newItemInfo = null;
|
ItemInfo newItemInfo = null;
|
||||||
// F2021-009 display a message if pasting step will results in more sub-step levels than are defined in the format
|
// F2021-009 display a message if pasting step will results in more sub-step levels than are defined in the format
|
||||||
if (!ii.IsProcedure)
|
if (!ii.IsProcedure)
|
||||||
ItemInfo.PasteStepIsWithinDefinedSubStepLevels(copyStartID, ii, false);
|
ItemInfo.PasteStepIsWithinDefinedSubStepLevels(copyStartID, ii, false);
|
||||||
if (ii.IsProcedure || !OnPasteItemInfo(this, new vlnTreeItemInfoPasteEventArgs(ii, copyStartID, pasteOpt, ii.MyContent.Type)))
|
if (ii.IsProcedure || !OnPasteItemInfo(this, new vlnTreeItemInfoPasteEventArgs(ii, copyStartID, pasteOpt, ii.MyContent.Type)))
|
||||||
{
|
{
|
||||||
@ -2808,7 +2716,7 @@ namespace Volian.Controls.Library
|
|||||||
SelectedNode.Nodes.Add(tn1); // add tree node to end of list.
|
SelectedNode.Nodes.Add(tn1); // add tree node to end of list.
|
||||||
SelectedNode = tn1;
|
SelectedNode = tn1;
|
||||||
}
|
}
|
||||||
private void tv_NodeCopy()
|
private void tv_NodeCopy()
|
||||||
{
|
{
|
||||||
if (SelectedNode == null) return;
|
if (SelectedNode == null) return;
|
||||||
VETreeNode tn = SelectedNode as VETreeNode;
|
VETreeNode tn = SelectedNode as VETreeNode;
|
||||||
@ -2846,7 +2754,7 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
using (Folder folder = folderInfo.Get())
|
using (Folder folder = folderInfo.Get())
|
||||||
{
|
{
|
||||||
OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(string.Format("{0} Properties", folder.FolderConfig.Name), folder.FolderConfig));
|
OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(string.Format("{0} Properties", folder.FolderConfig.Name), folder.FolderConfig));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void OpenProperties(DocVersionInfo dvInfo)
|
private void OpenProperties(DocVersionInfo dvInfo)
|
||||||
@ -2860,7 +2768,7 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
using (Procedure proc = procInfo.Get())
|
using (Procedure proc = procInfo.Get())
|
||||||
{
|
{
|
||||||
OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(string.Format("{0} {1} Properties", proc.ProcedureConfig.Number, proc.ProcedureConfig.Title), proc.ProcedureConfig));
|
OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(string.Format("{0} {1} Properties", proc.ProcedureConfig.Number, proc.ProcedureConfig.Title), proc.ProcedureConfig));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void OpenProperties(SectionInfo sectInfo)
|
private void OpenProperties(SectionInfo sectInfo)
|
||||||
@ -2873,7 +2781,7 @@ namespace Volian.Controls.Library
|
|||||||
title = string.Format("{0} {1} Properties", sectInfo.SectionConfig.Number, sectInfo.SectionConfig.Title);
|
title = string.Format("{0} {1} Properties", sectInfo.SectionConfig.Number, sectInfo.SectionConfig.Title);
|
||||||
else
|
else
|
||||||
title = string.Format("{0} Properties", sectInfo.SectionConfig.Title);
|
title = string.Format("{0} Properties", sectInfo.SectionConfig.Title);
|
||||||
OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(title, sect.SectionConfig));
|
OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(title, sect.SectionConfig));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void OpenProperties(StepInfo stpinfo)
|
private void OpenProperties(StepInfo stpinfo)
|
||||||
@ -3011,7 +2919,7 @@ namespace Volian.Controls.Library
|
|||||||
procedure.Save();
|
procedure.Save();
|
||||||
tn = new VETreeNode(_LastProcedureInfo);
|
tn = new VETreeNode(_LastProcedureInfo);
|
||||||
SelectedNode.Nodes.Add(tn); // add tree node to end of list.
|
SelectedNode.Nodes.Add(tn); // add tree node to end of list.
|
||||||
// The following line will allow for a refresh of the procedure list on the Working Draft's treenodes docversion (B2016-034)
|
// The following line will allow for a refresh of the procedure list on the Working Draft's treenodes docversion (B2016-034)
|
||||||
if (((SelectedNode as VETreeNode).VEObject as DocVersionInfo) != null) ((SelectedNode as VETreeNode).VEObject as DocVersionInfo).ResetProcedures();
|
if (((SelectedNode as VETreeNode).VEObject as DocVersionInfo) != null) ((SelectedNode as VETreeNode).VEObject as DocVersionInfo).ResetProcedures();
|
||||||
if (procedure.MyProcedureInfo.CreateEnhanced)
|
if (procedure.MyProcedureInfo.CreateEnhanced)
|
||||||
{
|
{
|
||||||
@ -3053,7 +2961,7 @@ namespace Volian.Controls.Library
|
|||||||
else
|
else
|
||||||
p2 = procedure.ItemID;
|
p2 = procedure.ItemID;
|
||||||
}
|
}
|
||||||
if (p2 != -1)
|
if (p2 != -1)
|
||||||
DeleteItemInfoAndChildren(_LastProcedureInfo); // Delete Item and reset Previous and Next
|
DeleteItemInfoAndChildren(_LastProcedureInfo); // Delete Item and reset Previous and Next
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
@ -3063,11 +2971,11 @@ namespace Volian.Controls.Library
|
|||||||
string message = string.Empty;
|
string message = string.Empty;
|
||||||
if (_LastProcedureInfo != null)
|
if (_LastProcedureInfo != null)
|
||||||
if (!MySessionInfo.CanCheckOutItem(_LastProcedureInfo.ItemID, CheckOutType.Procedure, ref message))
|
if (!MySessionInfo.CanCheckOutItem(_LastProcedureInfo.ItemID, CheckOutType.Procedure, ref message))
|
||||||
{
|
{
|
||||||
FlexibleMessageBox.Show(this, message, "Item Already Checked Out", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
FlexibleMessageBox.Show(this, message, "Item Already Checked Out", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||||
OnUnPauseRefresh(this, null);
|
OnUnPauseRefresh(this, null);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int s1 = -1;
|
int s1 = -1;
|
||||||
if (!(_LastProcedureInfo == null) || !(_LastSectionInfo == null))
|
if (!(_LastProcedureInfo == null) || !(_LastSectionInfo == null))
|
||||||
{
|
{
|
||||||
@ -3120,8 +3028,8 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
tn = new VETreeNode(_LastSectionInfo);
|
tn = new VETreeNode(_LastSectionInfo);
|
||||||
SelectedNode.Nodes.Add(tn); // add tree node to end of list.
|
SelectedNode.Nodes.Add(tn); // add tree node to end of list.
|
||||||
// if the new section was flagged as either having an enhanced link for Title or Contents, create the
|
// if the new section was flagged as either having an enhanced link for Title or Contents, create the
|
||||||
// Enhanced section:
|
// Enhanced section:
|
||||||
Section sectiontmp = Section.Get(section.ItemID); // need to do this because of 'caching' problem.
|
Section sectiontmp = Section.Get(section.ItemID); // need to do this because of 'caching' problem.
|
||||||
if (sectiontmp.SectionConfig.LinkEnhanced == "T" || sectiontmp.SectionConfig.LinkEnhanced == "Y")
|
if (sectiontmp.SectionConfig.LinkEnhanced == "T" || sectiontmp.SectionConfig.LinkEnhanced == "Y")
|
||||||
CreateEnhancedForSection(newtype, sectiontmp, savLastSectionInfo, sectiontmp.DisplayNumber, sectiontmp.MyContent.Text);
|
CreateEnhancedForSection(newtype, sectiontmp, savLastSectionInfo, sectiontmp.DisplayNumber, sectiontmp.MyContent.Text);
|
||||||
@ -3149,7 +3057,7 @@ namespace Volian.Controls.Library
|
|||||||
if (s1 != -1)
|
if (s1 != -1)
|
||||||
{
|
{
|
||||||
DeleteItemInfoAndChildren(_LastSectionInfo);// Delete Item and reset Previous and Next
|
DeleteItemInfoAndChildren(_LastSectionInfo);// Delete Item and reset Previous and Next
|
||||||
// B2020-087 refresh the tree node after canceling the creation of the subsection
|
// B2020-087 refresh the tree node after canceling the creation of the subsection
|
||||||
_LastTreeNode.ChildrenLoaded = false;
|
_LastTreeNode.ChildrenLoaded = false;
|
||||||
_LastTreeNode.RefreshNode();
|
_LastTreeNode.RefreshNode();
|
||||||
_LastTreeNode.Collapse();
|
_LastTreeNode.Collapse();
|
||||||
@ -3196,7 +3104,7 @@ namespace Volian.Controls.Library
|
|||||||
if (s2 != -1)
|
if (s2 != -1)
|
||||||
{
|
{
|
||||||
DeleteItemInfoAndChildren(_LastSectionInfo);// Delete Item and reset Previous and Next
|
DeleteItemInfoAndChildren(_LastSectionInfo);// Delete Item and reset Previous and Next
|
||||||
// B2020-087 refresh the tree node after canceling the creation of the subsection
|
// B2020-087 refresh the tree node after canceling the creation of the subsection
|
||||||
_LastTreeNode.ChildrenLoaded = false;
|
_LastTreeNode.ChildrenLoaded = false;
|
||||||
_LastTreeNode.RefreshNode();
|
_LastTreeNode.RefreshNode();
|
||||||
_LastTreeNode.Collapse();
|
_LastTreeNode.Collapse();
|
||||||
@ -3393,7 +3301,7 @@ namespace Volian.Controls.Library
|
|||||||
cs.Save();
|
cs.Save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private Section CreateNewSection()
|
private Section CreateNewSection()
|
||||||
{
|
{
|
||||||
// B2020-087 the config for SubSection_Edit was sometimes set even when there wasn't any subsections,
|
// B2020-087 the config for SubSection_Edit was sometimes set even when there wasn't any subsections,
|
||||||
@ -3433,7 +3341,7 @@ namespace Volian.Controls.Library
|
|||||||
// The parent step was not open in the step editor, just create new step(s) and add treenode.
|
// The parent step was not open in the step editor, just create new step(s) and add treenode.
|
||||||
int newId = -1;
|
int newId = -1;
|
||||||
// B2020-076: if this step has a template, insert template steps.
|
// B2020-076: if this step has a template, insert template steps.
|
||||||
int topType = ii.GetSmartTemplateTopLevelIndxOfThisType(20002);
|
int topType = ii.GetSmartTemplateTopLevelIndxOfThisType(20002);
|
||||||
if (topType != -1)
|
if (topType != -1)
|
||||||
{
|
{
|
||||||
ItemInfo tmp = null;
|
ItemInfo tmp = null;
|
||||||
@ -3653,7 +3561,7 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
foreach (DVEnhancedDocument dve in dvc.MyEnhancedDocuments)
|
foreach (DVEnhancedDocument dve in dvc.MyEnhancedDocuments)
|
||||||
{
|
{
|
||||||
if (dve.Type != 0)
|
if (dve.Type != 0)
|
||||||
DocVersion.Delete(dve.VersionID);
|
DocVersion.Delete(dve.VersionID);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -3699,7 +3607,7 @@ namespace Volian.Controls.Library
|
|||||||
if (ed.Type != 0) enhIds.Add(ed.ItemID);
|
if (ed.Type != 0) enhIds.Add(ed.ItemID);
|
||||||
// always return false because an event gets fired to delete tree nodes.
|
// always return false because an event gets fired to delete tree nodes.
|
||||||
if (!DeleteItemInfoAndChildren(_LastProcedureInfo)) return false;
|
if (!DeleteItemInfoAndChildren(_LastProcedureInfo)) return false;
|
||||||
|
|
||||||
_LastProcedureInfo = null;
|
_LastProcedureInfo = null;
|
||||||
foreach (int enhId in enhIds)
|
foreach (int enhId in enhIds)
|
||||||
{
|
{
|
||||||
@ -3798,7 +3706,7 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RemoveFolder(int folderId)
|
public void RemoveFolder(int folderId)
|
||||||
{
|
{
|
||||||
TreeNode nodeToRemove = FindNodeById(folderId, this.Nodes);
|
TreeNode nodeToRemove = FindNodeById(folderId, this.Nodes);
|
||||||
@ -3872,7 +3780,7 @@ namespace Volian.Controls.Library
|
|||||||
// C2020-033: Support delete to bring up Search/Incoming Transitions panel
|
// C2020-033: Support delete to bring up Search/Incoming Transitions panel
|
||||||
if (ex.Message.Contains("has External Transitions"))
|
if (ex.Message.Contains("has External Transitions"))
|
||||||
{
|
{
|
||||||
ItemInfo iis = ItemInfo.Get(ii.ItemID);
|
ItemInfo iis = ItemInfo.Get(ii.ItemID);
|
||||||
OnSearchIncTransIn(this, new vlnTreeItemInfoEventArgs(iis));
|
OnSearchIncTransIn(this, new vlnTreeItemInfoEventArgs(iis));
|
||||||
iis = ii.HandleSqlExceptionOnDelete(ex);
|
iis = ii.HandleSqlExceptionOnDelete(ex);
|
||||||
}
|
}
|
||||||
@ -3970,7 +3878,7 @@ namespace Volian.Controls.Library
|
|||||||
ItemInfo iidrag = ((VETreeNode)dragNode).VEObject as ItemInfo;
|
ItemInfo iidrag = ((VETreeNode)dragNode).VEObject as ItemInfo;
|
||||||
FolderInfo fdrag = ((VETreeNode)dragNode).VEObject as FolderInfo;
|
FolderInfo fdrag = ((VETreeNode)dragNode).VEObject as FolderInfo;
|
||||||
DocVersionInfo ddrag = ((VETreeNode)dragNode).VEObject as DocVersionInfo;
|
DocVersionInfo ddrag = ((VETreeNode)dragNode).VEObject as DocVersionInfo;
|
||||||
if ((iidrag == null && fdrag == null && ddrag == null))
|
if ((iidrag == null && fdrag == null && ddrag == null))
|
||||||
{
|
{
|
||||||
FlexibleMessageBox.Show("Cannot drag/drop a grouping node.");
|
FlexibleMessageBox.Show("Cannot drag/drop a grouping node.");
|
||||||
return;
|
return;
|
||||||
@ -4021,7 +3929,7 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
get { return _lastScroll; }
|
get { return _lastScroll; }
|
||||||
}
|
}
|
||||||
private string _location = string.Empty;
|
private string _location = string.Empty;
|
||||||
#endregion
|
#endregion
|
||||||
#region Constructors
|
#region Constructors
|
||||||
public DropLocation(TreeView tv, System.Windows.Forms.DragEventArgs e, DateTime lastScroll)
|
public DropLocation(TreeView tv, System.Windows.Forms.DragEventArgs e, DateTime lastScroll)
|
||||||
@ -4138,7 +4046,7 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("Line at {0} Node {1}[{2}] {3}", _location, _dropNode.Text, _index, _position.ToString());
|
//if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("Line at {0} Node {1}[{2}] {3}", _location, _dropNode.Text, _index, _position.ToString());
|
||||||
// Changed the color of the drag indicator to always be red
|
// Changed the color of the drag indicator to always be red
|
||||||
Color lc = (_position == DropPosition.After ? Color.Red : Color.Red);
|
Color lc = (_position == DropPosition.After ? Color.Red : Color.Red);
|
||||||
Brush lb = (_position == DropPosition.After ? Brushes.Red : Brushes.Red);
|
Brush lb = (_position == DropPosition.After ? Brushes.Red : Brushes.Red);
|
||||||
@ -4165,12 +4073,12 @@ namespace Volian.Controls.Library
|
|||||||
//if (e.Effect == DragDropEffects.None) return;
|
//if (e.Effect == DragDropEffects.None) return;
|
||||||
if (_dropNode != null)
|
if (_dropNode != null)
|
||||||
{
|
{
|
||||||
// if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("ShowLocation1 {0} {1}", e.Effect.ToString(), DateTime.Now.Millisecond);
|
// if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("ShowLocation1 {0} {1}", e.Effect.ToString(), DateTime.Now.Millisecond);
|
||||||
DragHelper.ImageList_DragShowNolock(false);
|
DragHelper.ImageList_DragShowNolock(false);
|
||||||
TreeView tv = _dropNode.TreeView;
|
TreeView tv = _dropNode.TreeView;
|
||||||
TreeNode tmp = tv.GetNodeAt(tv.PointToClient(new Point(e.X, e.Y)));
|
TreeNode tmp = tv.GetNodeAt(tv.PointToClient(new Point(e.X, e.Y)));
|
||||||
// if (!ScrollOnly)
|
// if (!ScrollOnly)
|
||||||
// {
|
// {
|
||||||
if (ScrollTreeView(tmp) || !ScrollOnly)
|
if (ScrollTreeView(tmp) || !ScrollOnly)
|
||||||
{
|
{
|
||||||
//if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("ShowLocation2 {0} {1}", e.Effect.ToString(), DateTime.Now.Millisecond);
|
//if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("ShowLocation2 {0} {1}", e.Effect.ToString(), DateTime.Now.Millisecond);
|
||||||
@ -4183,8 +4091,8 @@ namespace Volian.Controls.Library
|
|||||||
if (_position != DropPosition.Child) InsertPointer(tmp, g);
|
if (_position != DropPosition.Child) InsertPointer(tmp, g);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// }
|
// }
|
||||||
// else ScrollTreeView(tmp);
|
// else ScrollTreeView(tmp);
|
||||||
DragHelper.ImageList_DragShowNolock(true);
|
DragHelper.ImageList_DragShowNolock(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4207,10 +4115,10 @@ namespace Volian.Controls.Library
|
|||||||
tn.NextVisibleNode.EnsureVisible();// Make sure that the next node is visible
|
tn.NextVisibleNode.EnsureVisible();// Make sure that the next node is visible
|
||||||
else
|
else
|
||||||
if (tn.PrevVisibleNode != null && tn.PrevVisibleNode.PrevVisibleNode != null && tn.PrevVisibleNode.PrevVisibleNode.IsVisible == false)
|
if (tn.PrevVisibleNode != null && tn.PrevVisibleNode.PrevVisibleNode != null && tn.PrevVisibleNode.PrevVisibleNode.IsVisible == false)
|
||||||
tn.PrevVisibleNode.PrevVisibleNode.EnsureVisible();// Make sure that the previous node is visible }
|
tn.PrevVisibleNode.PrevVisibleNode.EnsureVisible();// Make sure that the previous node is visible }
|
||||||
else
|
else
|
||||||
if (tn.PrevVisibleNode != null && tn.PrevVisibleNode.IsVisible == false)
|
if (tn.PrevVisibleNode != null && tn.PrevVisibleNode.IsVisible == false)
|
||||||
tn.PrevVisibleNode.EnsureVisible();// Make sure that the previous node is visible
|
tn.PrevVisibleNode.EnsureVisible();// Make sure that the previous node is visible
|
||||||
retval = (top != tn.Bounds.Top);
|
retval = (top != tn.Bounds.Top);
|
||||||
// if (retval) if(_MyLog.IsInfoEnabled)_MyLog.Info("Scroll");
|
// if (retval) if(_MyLog.IsInfoEnabled)_MyLog.Info("Scroll");
|
||||||
}
|
}
|
||||||
@ -4243,7 +4151,7 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
DragDropEffects ee = e.Effect;
|
DragDropEffects ee = e.Effect;
|
||||||
if (e.KeyState == 13) // Shift and Control Keys to do a move.
|
if (e.KeyState == 13) // Shift and Control Keys to do a move.
|
||||||
ee = DragDropEffects.Move;
|
ee = DragDropEffects.Move;
|
||||||
else
|
else
|
||||||
ee = DragDropEffects.None; // Default - Do nothing
|
ee = DragDropEffects.None; // Default - Do nothing
|
||||||
if (IsChild(dragNode, dl.DropNode)) // Don't copy or move to a child node
|
if (IsChild(dragNode, dl.DropNode)) // Don't copy or move to a child node
|
||||||
@ -4439,28 +4347,28 @@ namespace Volian.Controls.Library
|
|||||||
if (_MyLog.IsErrorEnabled) _MyLog.Error("tv_DragDrop", ex);
|
if (_MyLog.IsErrorEnabled) _MyLog.Error("tv_DragDrop", ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// private void DumpMembers(object o)
|
// private void DumpMembers(object o)
|
||||||
// {
|
// {
|
||||||
// Type t = o.GetType();
|
// Type t = o.GetType();
|
||||||
// //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("\r\n\r\nMembers for type {0}", t.ToString());
|
// //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("\r\n\r\nMembers for type {0}", t.ToString());
|
||||||
// MemberInfo[] mis = t.GetMembers();
|
// MemberInfo[] mis = t.GetMembers();
|
||||||
// int i = 0;
|
// int i = 0;
|
||||||
// foreach (MemberInfo mi in mis)
|
// foreach (MemberInfo mi in mis)
|
||||||
// {
|
// {
|
||||||
// i++;
|
// i++;
|
||||||
// try
|
// try
|
||||||
// {
|
// {
|
||||||
// //if(mi.MemberType != MemberTypes.Method)
|
// //if(mi.MemberType != MemberTypes.Method)
|
||||||
// //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("{0} {1} {2}", i, mi.Name, mi.MemberType);
|
// //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("{0} {1} {2}", i, mi.Name, mi.MemberType);
|
||||||
//// if (fi.Name == "TreeView")
|
//// if (fi.Name == "TreeView")
|
||||||
//// fi.SetValue(o, null);
|
//// fi.SetValue(o, null);
|
||||||
// }
|
// }
|
||||||
// catch (Exception ex)
|
// catch (Exception ex)
|
||||||
// {
|
// {
|
||||||
// if(_MyLog.IsErrorEnabled)_MyLog.Error("DumpMembers", ex);
|
// if(_MyLog.IsErrorEnabled)_MyLog.Error("DumpMembers", ex);
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
private TreeNode Clone(TreeNode tn)
|
private TreeNode Clone(TreeNode tn)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -1688,7 +1688,7 @@ namespace Volian.Print.Library
|
|||||||
System.Windows.Forms.MessageBox.Show(msg.ToString(), "Error during PDF creation for search:", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Exclamation);
|
System.Windows.Forms.MessageBox.Show(msg.ToString(), "Error during PDF creation for search:", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Exclamation);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string BuildStepTab(ItemInfo item)
|
private static string BuildStepTab(ItemInfo item)
|
||||||
{
|
{
|
||||||
if (item == null)
|
if (item == null)
|
||||||
return string.Empty;
|
return string.Empty;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user