Compare commits

...

3 Commits

Author SHA1 Message Date
0259d4ff1d C2025-028 Add a Quick Print Section option / B2025-032 Fix Section not Printing Applicability Properly
Added an option to quick print a section.

Fixed a bug where: If you went to a section that had Applicability and select "Print Section" for a specific unit, it would sometimes print all units.
2025-05-16 14:10:56 -04:00
f71e9938bb Merge pull request 'C2025-033 Added a new field and supporting logic to specify if a PageStyle item should be printed for the Child procedure being printed.' (#556) from DemoFormats into Development
Looks good.
Ready for QA.
2025-05-16 11:01:18 -04:00
69f8e3f4fc C2025-033 Added a new field and supporting logic to specify if a PageStyle item should be printed for the Child procedure being printed. 2025-05-16 10:52:37 -04:00
9 changed files with 86 additions and 4 deletions

View File

@@ -282,6 +282,10 @@
<Content Include="fmtall\NSPWGall.xml" />
<Content Include="fmtall\NSP_00all.xml" />
<Content Include="fmtall\OHLPall.xml" />
<Content Include="fmtall\PROMSDemo1all.xml" />
<Content Include="fmtall\PROMSDemo2all.xml" />
<Content Include="fmtall\PROMSDemoALRall.xml" />
<Content Include="fmtall\PROMSDemoBCKall.xml" />
<Content Include="fmtall\PROMSMan1all.xml" />
<Content Include="fmtall\PROMSMan2all.xml" />
<Content Include="fmtall\RGEall.xml" />
@@ -499,6 +503,10 @@
<Content Include="genmacall\nspsam.svg" />
<Content Include="genmacall\nspsamdev.svg" />
<Content Include="genmacall\ohlp.svg" />
<Content Include="genmacall\PROMSDemo1.svg" />
<Content Include="genmacall\PROMSDemo2.svg" />
<Content Include="genmacall\PROMSDemoALR.svg" />
<Content Include="genmacall\PROMSDemoBCK.svg" />
<Content Include="genmacall\PROMSMan1.svg" />
<Content Include="genmacall\PROMSMan2.svg" />
<Content Include="genmacall\rge.svg" />

View File

@@ -418,7 +418,12 @@ namespace VEPROMS
//txbPDFLocation.Text = _PDFPath;
BuildPDFFileName();
ProcedureConfig pc = _MyProcedure.MyConfig as ProcedureConfig;
if(SelectedSlave > 0) pc.SelectedSlave = SelectedSlave;
// C2025-033 set which Child procedure is being printed used for PageStyle items
VlnSvgPageHelper.PrintingChild = SelectedSlave;
if (SelectedSlave > 0)
{
pc.SelectedSlave = SelectedSlave;
}
if (pc != null)
{
//C2021-062 use the save rev number for all procedures if set, or just use the rev number in the current procedure config

View File

@@ -533,6 +533,7 @@ namespace VEPROMS
tv.PrintProcedure += new vlnTreeViewEvent(tv_PrintProcedure);
tv.PrintSection += new vlnTreeViewEvent(tv_PrintSection);
tv.QPrintSection += new vlnTreeViewEvent(tv_QPrintSection);
tv.QPrintProcedure += new vlnTreeViewEvent(tv_QPrintProcedure);
tv.PrintAllProcedures += new vlnTreeViewEvent(tv_PrintAllProcedures);
tv.ApproveProcedure += new vlnTreeViewEvent(tv_ApproveProcedure);
@@ -1213,7 +1214,19 @@ namespace VEPROMS
}
void tv_PrintSection(object sender, vlnTreeEventArgs args) // Quick Print right click menu on Procedure name.
//Print Section
//C2025-028 Add a Quick Print Section option
void tv_PrintSection(object sender, vlnTreeEventArgs args)
{
PrintSection(sender, args, false);
}
void tv_QPrintSection(object sender, vlnTreeEventArgs args)
{
PrintSection(sender, args, true);
}
void PrintSection(object sender, vlnTreeEventArgs args, bool quickprint)
{
try
{
@@ -1225,7 +1238,9 @@ namespace VEPROMS
tc.SaveCurrentEditItem(si2.MyProcedure);
//B2025-032 Fix Section not Printing Applicability Properly
si2.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitIndex;
si2.MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitIndex;
using (DlgPrintProcedure prnDlg = new DlgPrintProcedure(si2.MyProcedure))
{
@@ -1233,8 +1248,14 @@ namespace VEPROMS
prnDlg.SelectedSlave = args.UnitIndex;
prnDlg.MySessionInfo = MySessionInfo;
prnDlg.SetupForProcedure(); // Setup filename
prnDlg.ShowDialog(this); // Create Print report
if (quickprint)
prnDlg.QPCreatePDF(); // Create Print report
else
prnDlg.ShowDialog(this); // Create Print report
//B2025-032 Fix Section not Printing Applicability Properly
si2.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
si2.MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
}
}

View File

@@ -244,6 +244,16 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _TrimEnding, "@TrimEnding");
}
}
// C2025-033 to specify to print pagestyle item for a specific Child procedure
private LazyLoad<int?> _ChildNum;
public int? ChildNum
{
get
{
return (LazyLoad(ref _ChildNum, "@ChildNum"));
}
}
#endregion
#region Override ToString
public override string ToString()

View File

@@ -528,6 +528,11 @@ namespace Volian.Controls.Library
{
if (PrintSection != null) PrintSection(sender, args);
}
public event vlnTreeViewEvent QPrintSection;
private void OnQPrintSection(object sender, vlnTreeEventArgs args)
{
if (QPrintSection != null) QPrintSection(sender, args);
}
public event vlnTreeViewEvent PrintAllProcedures;
private void OnPrintAllProcedures(object sender, vlnTreeEventArgs args)
{
@@ -994,11 +999,26 @@ namespace Volian.Controls.Library
mp.Tag = k;
}
cm.MenuItems.Add(mps);
//C2025-028 Add a Quick Print Section option
MenuItem mps_qp = new MenuItem("Quick Print Section");
int k_qp = 0;
foreach (string s in si2.MyDocVersion.UnitNames)
{
k_qp++;
MenuItem mp_qp = mps_qp.MenuItems.Add(s, new EventHandler(miMultiUnit_Click));
mp_qp.Tag = k_qp;
}
cm.MenuItems.Add(mps_qp);
}
}
else
{
if(!si2.IsSubsection) cm.MenuItems.Add("Print Section", new EventHandler(mi_Click));
if (!si2.IsSubsection)
{
cm.MenuItems.Add("Print Section", new EventHandler(mi_Click));
cm.MenuItems.Add("Quick Print Section", new EventHandler(mi_Click));
}
}
}
}
@@ -1064,6 +1084,7 @@ namespace Volian.Controls.Library
if (i.HasWordContent)
{
cm.MenuItems.Add("Print Section", new EventHandler(mi_Click));
cm.MenuItems.Add("Quick Print Section", new EventHandler(mi_Click));
}
}
#endregion
@@ -1867,6 +1888,9 @@ namespace Volian.Controls.Library
case "Print Section":
OnPrintSection(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag));
break;
case "Quick Print Section":
OnQPrintSection(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag));
break;
case "Print All Procedures for":
OnPrintAllProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0,mi.Text,(int)mi.Tag));
break;
@@ -2014,6 +2038,10 @@ namespace Volian.Controls.Library
VETreeNode tn2 = SelectedNode as VETreeNode;
OnPrintSection(this, new vlnTreeEventArgs(tn2 as VETreeNode, null, 0));
break;
case "Quick Print Section":
VETreeNode tn2qp = SelectedNode as VETreeNode;
OnQPrintSection(this, new vlnTreeEventArgs(tn2qp as VETreeNode, null, 0));
break;
case "Open":
OpenNode();
break;

View File

@@ -252,6 +252,14 @@ namespace Volian.Print.Library
get { return _CountInApplProcs; }
set { _CountInApplProcs = value; }
}
// C2025-033 Child (slave) being printed
private static int _PrintingChild = 0;
public static int PrintingChild
{
get { return _PrintingChild; }
set { _PrintingChild = value; }
}
//private bool _AddBlankPagesForDuplexPrinting = false;
//public bool AddBlankPagesForDuplexPrinting // Tells us if a the option to add a blank page is turn on (for procedures with duplex foldouts)
//{
@@ -1363,6 +1371,8 @@ i = 0;
foreach (VEPROMS.CSLA.Library.PageItem pageItem in pageStyle.PageItems)
{
if (pageItem.Token == null) continue; // can be null if token is dependent on PSI lookup!
// 2024-089 selectively print pagestyle item base on Child Procedure being printed
if (PrintingChild > 0 && pageItem.ChildNum > 0 && pageItem.ChildNum != PrintingChild) continue; // C2025-033 item should not be printed for this child
DidHLSText = false; // reset to false for this group of tokens.
//if (pageItem.Token.Contains("HLSTEXT"))
// Console.WriteLine("{0} - PageList Token", pageItem.Token);