Compare commits

..

9 Commits

13 changed files with 333 additions and 224 deletions

View File

@ -301,6 +301,7 @@
<Content Include="fmtall\SHESAMall.xml" /> <Content Include="fmtall\SHESAMall.xml" />
<Content Include="fmtall\SHESSDall.xml" /> <Content Include="fmtall\SHESSDall.xml" />
<Content Include="fmtall\SHESSD_00all.xml" /> <Content Include="fmtall\SHESSD_00all.xml" />
<Content Include="fmtall\VEGPBckall.xml" />
<Content Include="fmtall\VEGP1all.xml" /> <Content Include="fmtall\VEGP1all.xml" />
<Content Include="fmtall\VEGP2all.xml" /> <Content Include="fmtall\VEGP2all.xml" />
<Content Include="fmtall\VEGPAlrall.xml" /> <Content Include="fmtall\VEGPAlrall.xml" />
@ -376,7 +377,7 @@
<Content Include="fmtall\wst1all.xml" /> <Content Include="fmtall\wst1all.xml" />
<Content Include="fmtall\wst2all.xml" /> <Content Include="fmtall\wst2all.xml" />
<Content Include="fmtall\wstalrall.xml" /> <Content Include="fmtall\wstalrall.xml" />
<Content Include="fmtall\VEGPBckall.xml" /> <Content Include="fmtall\VEGPBckStpsall.xml" />
<Content Include="fmtall\wstbckall.xml" /> <Content Include="fmtall\wstbckall.xml" />
<Content Include="fmtall\wstcklall.xml" /> <Content Include="fmtall\wstcklall.xml" />
<Content Include="fmtall\wstdcsall.xml" /> <Content Include="fmtall\wstdcsall.xml" />
@ -512,6 +513,7 @@
<Content Include="genmacall\shesam.svg" /> <Content Include="genmacall\shesam.svg" />
<Content Include="genmacall\shessd.svg" /> <Content Include="genmacall\shessd.svg" />
<Content Include="genmacall\VEGPBck.svg" /> <Content Include="genmacall\VEGPBck.svg" />
<Content Include="genmacall\VEGPBckStps.svg" />
<Content Include="genmacall\VEGP1.svg" /> <Content Include="genmacall\VEGP1.svg" />
<Content Include="genmacall\VEGP2.svg" /> <Content Include="genmacall\VEGP2.svg" />
<Content Include="genmacall\VEGPAlr.svg" /> <Content Include="genmacall\VEGPAlr.svg" />

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1091,6 +1091,11 @@ namespace VEPROMS
DoCreatePDF(); DoCreatePDF();
} }
public void QPCreatePDF()
{
DoCreatePDF();
}
private void DoCreatePDF() private void DoCreatePDF()
{ {
if (_AllProcedures) if (_AllProcedures)

View File

@ -512,6 +512,7 @@ namespace VEPROMS
ItemInfo.ItemDeleted += new ItemInfoEvent(RefreshDisplayHistory); ItemInfo.ItemDeleted += new ItemInfoEvent(RefreshDisplayHistory);
tv.PrintProcedure += new vlnTreeViewEvent(tv_PrintProcedure); tv.PrintProcedure += new vlnTreeViewEvent(tv_PrintProcedure);
tv.QPrintProcedure += new vlnTreeViewEvent(tv_QPrintProcedure);
tv.PrintAllProcedures += new vlnTreeViewEvent(tv_PrintAllProcedures); tv.PrintAllProcedures += new vlnTreeViewEvent(tv_PrintAllProcedures);
tv.ApproveProcedure += new vlnTreeViewEvent(tv_ApproveProcedure); tv.ApproveProcedure += new vlnTreeViewEvent(tv_ApproveProcedure);
tv.ApproveAllProcedures += new vlnTreeViewEvent(tv_ApproveAllProcedures); tv.ApproveAllProcedures += new vlnTreeViewEvent(tv_ApproveAllProcedures);
@ -1152,6 +1153,40 @@ namespace VEPROMS
pi.MyDocVersion.DocVersionConfig.SelectedSlave = 0; pi.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
} }
void tv_QPrintProcedure(object sender, vlnTreeEventArgs args) // Quick Print
{
try
{
ProcedureInfo pi = (args.Node as VETreeNode).VEObject as ProcedureInfo;
if (pi == null) return;
tc.SaveCurrentEditItem(pi);
pi.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitIndex;
using (DlgPrintProcedure prnDlg = new DlgPrintProcedure(pi))
{
prnDlg.SelectedSlave = args.UnitIndex;
prnDlg.MySessionInfo = MySessionInfo;
prnDlg.SetupForProcedure(); // Setup filename
prnDlg.QPCreatePDF(); // Create Print report
pi.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
}
}
catch(Exception ex)
{
StringBuilder sb = new StringBuilder();
sb.AppendLine("Could not create PDF Print");
sb.AppendLine();
MessageBox.Show(sb.ToString(), "Error when creating PDF Print", MessageBoxButtons.OK, MessageBoxIcon.Warning);
_MyLog.Warn("Failed to create PDF print", ex);
}
}
void tv_CreateContinuousActionSummary(object sender, vlnTreeEventArgs args) void tv_CreateContinuousActionSummary(object sender, vlnTreeEventArgs args)
{ {
DialogResult dr = System.Windows.Forms.DialogResult.Yes; DialogResult dr = System.Windows.Forms.DialogResult.Yes;

View File

@ -4104,7 +4104,7 @@ namespace VEPROMS.CSLA.Library
ItemInfo srcItem = ItemInfo.Get(eds[0].ItemID); ItemInfo srcItem = ItemInfo.Get(eds[0].ItemID);
if (srcItem == null) return null; if (srcItem == null) return null;
if (srcItem.IsHigh) return srcItem.Ordinal; if (srcItem.IsHigh || srcItem.IsSection || srcItem.IsProcedure) return srcItem.Ordinal;
// B2018-118: the LinkedOrdinal count must take into account cautions versus notes types: // B2018-118: the LinkedOrdinal count must take into account cautions versus notes types:
ItemInfo hls = srcItem.MyHLS; ItemInfo hls = srcItem.MyHLS;
bool enIsCaution = this.IsCaution; bool enIsCaution = this.IsCaution;

View File

@ -172,6 +172,7 @@ namespace VEPROMS.CSLA.Library
DSS_WordContentLandscaped = 0x800000000, // for this section, the word content is landscaped. DSS_WordContentLandscaped = 0x800000000, // for this section, the word content is landscaped.
DSS_ChklstEditSize = 0x100000000, // Westinghouse checklist - edit window size DSS_ChklstEditSize = 0x100000000, // Westinghouse checklist - edit window size
DSS_SameXOffSubsections = 0x2000000000, // print subsections at same offset as section & preceeding subsections,start HLS xoff at section text (not number) DSS_SameXOffSubsections = 0x2000000000, // print subsections at same offset as section & preceeding subsections,start HLS xoff at section text (not number)
DSS_PageListBkgndStpContMsg = 0x4000000000, // Background Step Number printed via Pagelist with "{CM:(Cont)}" which will print "(cont)" next to step number if it's continued to the next page - (VEGPBckStp) F2023-112
}; };
public enum E_DocStyleUse : uint public enum E_DocStyleUse : uint
{ {

View File

@ -501,6 +501,11 @@ namespace Volian.Controls.Library
{ {
if (PrintProcedure != null) PrintProcedure(sender, args); if (PrintProcedure != null) PrintProcedure(sender, args);
} }
public event vlnTreeViewEvent QPrintProcedure;
private void OnQPrintProcedure(object sender, vlnTreeEventArgs args)
{
if (QPrintProcedure != null) QPrintProcedure(sender, args);
}
public event vlnTreeViewEvent PrintAllProcedures; public event vlnTreeViewEvent PrintAllProcedures;
private void OnPrintAllProcedures(object sender, vlnTreeEventArgs args) private void OnPrintAllProcedures(object sender, vlnTreeEventArgs args)
{ {
@ -831,6 +836,7 @@ namespace Volian.Controls.Library
MenuItem micas = new MenuItem("Create Continuous Action Summary"); MenuItem micas = new MenuItem("Create Continuous Action Summary");
MenuItem mitcas = new MenuItem("Create Time Critical Action Summary"); //F2022-024 added menu option MenuItem mitcas = new MenuItem("Create Time Critical Action Summary"); //F2022-024 added menu option
MenuItem mip = new MenuItem("Print"); MenuItem mip = new MenuItem("Print");
MenuItem miqp = new MenuItem("Quick Print");
MenuItem mia = new MenuItem("Approve"); MenuItem mia = new MenuItem("Approve");
int k = 0; int k = 0;
foreach (string s in pri.MyDocVersion.UnitNames) foreach (string s in pri.MyDocVersion.UnitNames)
@ -841,6 +847,9 @@ namespace Volian.Controls.Library
MenuItem mp = mip.MenuItems.Add(s, new EventHandler(miMultiUnit_Click)); MenuItem mp = mip.MenuItems.Add(s, new EventHandler(miMultiUnit_Click));
mp.Enabled = procAppl; mp.Enabled = procAppl;
mp.Tag = k; mp.Tag = k;
MenuItem mqp = miqp.MenuItems.Add(s, new EventHandler(miMultiUnit_Click));
mqp.Enabled = procAppl;
mqp.Tag = k;
MenuItem ma = mia.MenuItems.Add(s, new EventHandler(miMultiUnit_Click)); MenuItem ma = mia.MenuItems.Add(s, new EventHandler(miMultiUnit_Click));
ma.Enabled = procAppl; ma.Enabled = procAppl;
ma.Tag = k; ma.Tag = k;
@ -854,6 +863,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);
AddShowChangeBarsAfterMenuItem(cm.MenuItems, pri); AddShowChangeBarsAfterMenuItem(cm.MenuItems, pri);
cm.MenuItems.Add(mia); cm.MenuItems.Add(mia);
AddApprovedRevisionsMultiUnit(cm.MenuItems, pri); AddApprovedRevisionsMultiUnit(cm.MenuItems, pri);
@ -863,6 +873,8 @@ namespace Volian.Controls.Library
cm.MenuItems.Add("Create Continuous Action Summary", new EventHandler(mi_Click)); cm.MenuItems.Add("Create Continuous Action Summary", new EventHandler(mi_Click));
cm.MenuItems.Add("Create Time Critical Action Summary", new EventHandler(mi_Click)); cm.MenuItems.Add("Create Time Critical Action Summary", new EventHandler(mi_Click));
cm.MenuItems.Add("Print", new EventHandler(mi_Click)); cm.MenuItems.Add("Print", new EventHandler(mi_Click));
cm.MenuItems.Add("Quick Print", new EventHandler(mi_Click));
//MenuItem miqp = new MenuItem("Print");
AddShowChangeBarsAfterMenuItem(cm.MenuItems, pri); AddShowChangeBarsAfterMenuItem(cm.MenuItems, pri);
cm.MenuItems.Add("Approve", new EventHandler(mi_Click)); cm.MenuItems.Add("Approve", new EventHandler(mi_Click));
//_MyLog.WarnFormat("Context Menu 1 before - {0}", GC.GetTotalMemory(true)); //_MyLog.WarnFormat("Context Menu 1 before - {0}", GC.GetTotalMemory(true));
@ -877,19 +889,24 @@ namespace Volian.Controls.Library
if (pri.MyDocVersion.MultiUnitCount > 1) if (pri.MyDocVersion.MultiUnitCount > 1)
{ {
MenuItem mip = new MenuItem("Print"); MenuItem mip = new MenuItem("Print");
MenuItem miqp = new MenuItem("Quick Print");
int k = 0; int k = 0;
foreach (string s in pri.MyDocVersion.UnitNames) foreach (string s in pri.MyDocVersion.UnitNames)
{ {
k++; k++;
MenuItem mp = mip.MenuItems.Add(s, new EventHandler(miMultiUnit_Click)); MenuItem mp = mip.MenuItems.Add(s, new EventHandler(miMultiUnit_Click));
mp.Tag = k; mp.Tag = k;
MenuItem mqp = miqp.MenuItems.Add(s, new EventHandler(miMultiUnit_Click));
mqp.Tag = k;
} }
cm.MenuItems.Add(mip); cm.MenuItems.Add(mip);
cm.MenuItems.Add(miqp);
AddApprovedRevisionsMultiUnit(cm.MenuItems, pri); AddApprovedRevisionsMultiUnit(cm.MenuItems, pri);
} }
else else
{ {
cm.MenuItems.Add("Print", new EventHandler(mi_Click)); cm.MenuItems.Add("Print", new EventHandler(mi_Click));
cm.MenuItems.Add("Quick Print", new EventHandler(mi_Click));
AddApprovedRevisions(cm.MenuItems, pri); AddApprovedRevisions(cm.MenuItems, pri);
} }
} }
@ -1727,6 +1744,9 @@ namespace Volian.Controls.Library
case "Print": case "Print":
OnPrintProcedure(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag)); OnPrintProcedure(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag));
break; break;
case "Quick Print":
OnQPrintProcedure(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag));
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;
@ -1967,6 +1987,9 @@ namespace Volian.Controls.Library
case "Print": case "Print":
OnPrintProcedure(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0)); OnPrintProcedure(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
break; break;
case "Quick Print":
OnQPrintProcedure(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
break;
case "Print All Procedures": case "Print All Procedures":
OnPrintAllProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0)); OnPrintAllProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
break; break;

View File

@ -682,12 +682,35 @@ namespace Volian.Print.Library
// Console.WriteLine("To {0}.{1} Page: {2}",LastWordSection.DisplayNumber,LastWordSection.DisplayText,_PageCountOfWordSection); // Console.WriteLine("To {0}.{1} Page: {2}",LastWordSection.DisplayNumber,LastWordSection.DisplayText,_PageCountOfWordSection);
// PreviousWordSection = LastWordSection; // PreviousWordSection = LastWordSection;
//} //}
private PdfContentByte OpenDoc(string outputFileName, iTextSharp.text.Rectangle rect) private PdfContentByte OpenDoc(ref string outputFileName, iTextSharp.text.Rectangle rect)
{
try
{ {
PdfWriter writer = null; PdfWriter writer = null;
iTextSharp.text.Document document = new iTextSharp.text.Document(rect); iTextSharp.text.Document document = new iTextSharp.text.Document(rect);
try try
{ {
if (File.Exists(outputFileName))
{
String tmpExt = System.IO.Path.GetExtension(outputFileName);
String tmpPTH = System.IO.Path.GetDirectoryName(outputFileName);
String tmpFN = System.IO.Path.GetFileName(outputFileName);
String tmpFNNoExt = System.IO.Path.GetFileNameWithoutExtension(outputFileName);
var files = new HashSet<string>(Directory.GetFiles(tmpPTH, "*.pdf"));
//string baseName = Path.Combine(scpath, "Screenshot_");
string filename;
int i = 0;
do
{
filename = tmpPTH + @"\" + tmpFNNoExt + "_" + ++i + ".pdf";
} while (files.Contains(filename));
outputFileName = filename;
}
writer = PdfWriter.GetInstance(document, new FileStream(outputFileName, FileMode.Create)); writer = PdfWriter.GetInstance(document, new FileStream(outputFileName, FileMode.Create));
// PDFA1B does not allow layers, so this is disabled for now // PDFA1B does not allow layers, so this is disabled for now
// If enabled, CreateLayers will need to be skipped. // If enabled, CreateLayers will need to be skipped.
@ -721,6 +744,21 @@ namespace Volian.Print.Library
MyContentByte = writer.DirectContent; MyContentByte = writer.DirectContent;
return MyContentByte; return MyContentByte;
} }
catch (Exception ex)
{
StringBuilder sb = new StringBuilder();
sb.AppendLine("Error occured when creating Print PDF");
sb.AppendLine();
sb.AppendLine(outputFileName + ".");
sb.AppendLine();
sb.AppendLine("If it is open, close and retry.");
MessageBox.Show(sb.ToString(), "Error Creating PDF", MessageBoxButtons.OK, MessageBoxIcon.Warning);
//MessageBox.Show("Could not create " + outputFileName + ". If it is open, close and retry.", "Error on CreatePdf");
return MyContentByte = null;
}
}
//private string CreateFileName(string procNumber, string sectNumber, string sectTitle) //private string CreateFileName(string procNumber, string sectNumber, string sectTitle)
//{ //{
// return FixFileName(procNumber + "_" + ((sectNumber ?? "") != "" ? sectNumber : sectTitle)); // return FixFileName(procNumber + "_" + ((sectNumber ?? "") != "" ? sectNumber : sectTitle));
@ -871,7 +909,7 @@ namespace Volian.Print.Library
} }
} }
} }
PdfContentByte cb = OpenDoc(outputFileName, rct); PdfContentByte cb = OpenDoc(ref outputFileName, rct);
if (cb == null) if (cb == null)
{ {
ProfileTimer.Pop(profileDepth); ProfileTimer.Pop(profileDepth);
@ -2298,7 +2336,7 @@ namespace Volian.Print.Library
else SupInfoPdfPage.Clear(); else SupInfoPdfPage.Clear();
string SupInfoPdfName = Volian.Base.Library.VlnSettings.TemporaryFolder + @"\SupInfo" + vlnParagraph.MyItemInfo.ItemID.ToString() + @".pdf"; string SupInfoPdfName = Volian.Base.Library.VlnSettings.TemporaryFolder + @"\SupInfo" + vlnParagraph.MyItemInfo.ItemID.ToString() + @".pdf";
iTextSharp.text.Rectangle pageSize = PDFPageSize.UsePaperSize(MyItem.ActiveFormat.PlantFormat.FormatData.PDFPageSize.PaperSize); // C2020-002 paper size is now set in the format files iTextSharp.text.Rectangle pageSize = PDFPageSize.UsePaperSize(MyItem.ActiveFormat.PlantFormat.FormatData.PDFPageSize.PaperSize); // C2020-002 paper size is now set in the format files
PdfContentByte cb = OpenDoc(SupInfoPdfName, pageSize); PdfContentByte cb = OpenDoc(ref SupInfoPdfName, pageSize);
if (cb == null) return; if (cb == null) return;
VlnSvgPageHelper myPageHelper = new VlnSvgPageHelper(vlnParagraph.MyItemInfo as SectionInfo, this, null, 0); VlnSvgPageHelper myPageHelper = new VlnSvgPageHelper(vlnParagraph.MyItemInfo as SectionInfo, this, null, 0);
cb.PdfWriter.PageEvent = myPageHelper; cb.PdfWriter.PageEvent = myPageHelper;
@ -2960,3 +2998,4 @@ namespace Volian.Print.Library
// } // }
//} //}
} }

View File

@ -1912,7 +1912,11 @@ namespace Volian.Print.Library
float bcm_yLocation = TableBottom == -1 ? yLocation: Math.Min(TableBottom,yLocation); float bcm_yLocation = TableBottom == -1 ? yLocation: Math.Min(TableBottom,yLocation);
DoBottomContinueMsg(cb, yBottomMargin, bcm_yLocation, docstyle, doThreeContinues); DoBottomContinueMsg(cb, yBottomMargin, bcm_yLocation, docstyle, doThreeContinues);
MyPromsPrinter.NewPage(); MyPromsPrinter.NewPage();
if (MyItemInfo.IsStep && (MyItemInfo.ActiveSection != null && ((MyItemInfo.ActiveSection.MyDocStyle.StructureStyle.Style & E_DocStructStyle.DSS_PageListSpBckgrnd) == E_DocStructStyle.DSS_PageListSpBckgrnd))) // C2018-003 fixed use of getting the active section // C2018-003 fixed use of getting the active section
// F2023-112 Vogtle Units 3 & 4 background document format DSS_PageListBkgndStpContMsg to print continue message next to step number
if (MyItemInfo.IsStep && (MyItemInfo.ActiveSection != null &&
((MyItemInfo.ActiveSection.MyDocStyle.StructureStyle.Style & E_DocStructStyle.DSS_PageListSpBckgrnd) == E_DocStructStyle.DSS_PageListSpBckgrnd) ||
((MyItemInfo.ActiveSection.MyDocStyle.StructureStyle.Style & E_DocStructStyle.DSS_PageListBkgndStpContMsg) == E_DocStructStyle.DSS_PageListBkgndStpContMsg)))
{ {
// check if parent (can be HLS, Caution or Note) has the UseOldTemplate. If so, // check if parent (can be HLS, Caution or Note) has the UseOldTemplate. If so,
// flag that a continue message should be printed as part of a pagelist header (if pagelist // flag that a continue message should be printed as part of a pagelist header (if pagelist