C2021-019: Override Watermark Text and Color

This commit is contained in:
2021-07-06 15:16:40 +00:00
parent aa9c2574bf
commit a3f89c5fa0
10 changed files with 135 additions and 12 deletions

View File

@@ -425,12 +425,33 @@ namespace VEPROMS
itm.Save();
}
}
// C2021-019: Override Watermark Text and Color from PSI
string waterMarkTextOverride = pc.GetValue("PSI", "WATERMARKOVERRIDE");
if (waterMarkTextOverride != null && waterMarkTextOverride != "")
{
cbxWaterMark.Visible = false;
lblWaterMarkOvrd.Visible = true;
lblWaterMarkOvrd.Text = waterMarkTextOverride;
}
// do color override
// if there is override text, label contains overridden text in the color selected from color override
// if no override text, combo box text color is override color
string waterMarkColorOverride = pc.GetValue("PSI", "WATERMARKOVERRIDECLR");
if (waterMarkColorOverride != null && waterMarkColorOverride != "")
{
string strColor = waterMarkColorOverride.ToUpper().Contains("DEFAULT") ? "BLUE" : waterMarkColorOverride;
if (lblWaterMarkOvrd.Visible)
lblWaterMarkOvrd.ForeColor = Color.FromName(strColor);
else
cbxWaterMark.ForeColor = Color.FromName(strColor);
}
}
else
{
RevNum = "0";
RevDate = DateTime.Today.ToShortDateString();
ReviewDate = null;
cbxWaterMark.Visible = true;
}
// B2019-044 use Enum without the "None" option for the print dialog
cbxWaterMark.DataSource = EnumDetail<PrintDlgWatermarkList>.Details();
@@ -555,7 +576,26 @@ namespace VEPROMS
private void swtbtnWaterMark_ValueChanged(object sender, EventArgs e)
{
cbxWaterMark.Visible = swtbtnWaterMark.Value;
if (!swtbtnWaterMark.Value) // C2021-019: make both invisible
{
cbxWaterMark.Visible = swtbtnWaterMark.Value;
lblWaterMarkOvrd.Visible = swtbtnWaterMark.Value;
}
else // C2021-019: determine whether combo box or lable needs to be made visible
{
ProcedureConfig pc = MyProcedure.MyConfig as ProcedureConfig;
string waterMarkTextOverride = pc.GetValue("PSI", "WATERMARKOVERRIDE");
if (waterMarkTextOverride != null && waterMarkTextOverride != "")
{
cbxWaterMark.Visible = false;
lblWaterMarkOvrd.Visible = true;
}
else
{
cbxWaterMark.Visible = true;
lblWaterMarkOvrd.Visible = false;
}
}
}
private void txbPDFLocation_Leave(object sender, EventArgs e)
@@ -650,7 +690,7 @@ namespace VEPROMS
// If file exists, determine if overwrite checkbox allows overwrite, if not prompt.
Volian.Print.Library.Rtf2Pdf.PdfDebug = cbxDebug.Checked;
// B2019-128: The combo box list did not include the 'None' option so the selected value was not the correct watermark (had to add 1 to the selected index)
PrintWatermark pw = (swtbtnWaterMark.Value) ? (PrintWatermark)(cbxWaterMark.SelectedIndex+1) : PrintWatermark.None;
string waterMarkText = (swtbtnWaterMark.Value) ? cbxWaterMark.Text : "None"; // C2021-019
// Determine change bar settings. First get from config & then see if override from dialog.
// Also check that format allows override.
ChangeBarDefinition cbd = DetermineChangeBarSettings();
@@ -663,6 +703,12 @@ namespace VEPROMS
{
string locpdfname = null; // get pdf file name for later merge code
MyProcedure = myProc;
// C2021-019: Override Watermark Text, 'waterMarkText' will have whatever watermark text should be printed
ProcedureConfig procConfig = MyProcedure.MyConfig as ProcedureConfig;
string waterMarkTextOverride = "";
if (procConfig != null) waterMarkTextOverride = procConfig.GetValue("PSI", "WATERMARKOVERRIDE");
if (swtbtnWaterMark.Value && waterMarkTextOverride != null && waterMarkTextOverride != "") waterMarkText = waterMarkTextOverride;
// C2020-002 paper size is now set in the format files - default is Letter
Volian.Print.Library.Rtf2Pdf.PaperSize = myProc.ActiveFormat.PlantFormat.FormatData.PDFPageSize.PaperSize;
if (myProc.Sections != null)
@@ -686,7 +732,7 @@ namespace VEPROMS
string myPDFPath = GetMultiunitPDFPath();
_MergedPdfPath = myPDFPath; // If Slave, need its subdirectory/unit path for merging
// RHM 20120925 Overlay the bottom of the dialog so that cancel button is covered.
frmPDFStatusForm frmStatus = new frmPDFStatusForm(MyProcedure, RevNumAndDate, pw.ToString(), cbxDebug.Checked, cbxOrPgBrk.Checked,
frmPDFStatusForm frmStatus = new frmPDFStatusForm(MyProcedure, RevNumAndDate, waterMarkText, cbxDebug.Checked, cbxOrPgBrk.Checked,
cbxOpenAfterCreate2.Checked, cbxOverwritePDF2.Checked, myPDFPath, cbd, txbPDFName.Text, new Point(Left, Bottom - 50),
swtbtnBlankPgsForDuplex.Value, _AllProcedures || Automatic, Prefix, SaveLinks, RemoveTrailingHardReturnsAndManualPageBreaks, swtbtnPROMSVersion.Value, true, tbBlankPage.Text, _MergedPfd);//C2018-009 print PROMS version
frmStatus.CloseWhenDone = true;
@@ -715,7 +761,7 @@ namespace VEPROMS
if (BaselineMetaFile.IsOpen) BaselineMetaFile.WriteLine("!! {0} | {1}", MyProcedure.DisplayNumber, MyProcedure.DisplayText);
// RHM 20120925 Overlay the bottom of the dialog so that cancel button is covered.
// B2016-249 Output Procedure to folder associated with Parent Child
frmPDFStatusForm frmStatus = new frmPDFStatusForm(MyProcedure, RevNumAndDate, pw.ToString(), cbxDebug.Checked, cbxOrPgBrk.Checked,
frmPDFStatusForm frmStatus = new frmPDFStatusForm(MyProcedure, RevNumAndDate, waterMarkText, cbxDebug.Checked, cbxOrPgBrk.Checked,
cbxOpenAfterCreate2.Checked, cbxOverwritePDF2.Checked, GetMultiunitPDFPath(), cbd, txbPDFName.Text, new Point(Left, Bottom - 50),
swtbtnBlankPgsForDuplex.Value, _AllProcedures || Automatic, Prefix, SaveLinks, RemoveTrailingHardReturnsAndManualPageBreaks, swtbtnPROMSVersion.Value, true, tbBlankPage.Text, _MergedPfd);//C2018-009 print PROMS version
frmStatus.CloseWhenDone = true;
@@ -746,7 +792,7 @@ namespace VEPROMS
if (BaselineMetaFile.IsOpen) BaselineMetaFile.WriteLine("!! {0} | {1}", MyProcedure.DisplayNumber, MyProcedure.DisplayText);
ProfileTimer.Pop(profileDepth1);
// B2016-249 Output Procedure to folder associated with Parent Child
frmPDFStatusForm frmStatus = new frmPDFStatusForm(MyProcedure, RevNumAndDate, pw.ToString(), cbxDebug.Checked,
frmPDFStatusForm frmStatus = new frmPDFStatusForm(MyProcedure, RevNumAndDate, waterMarkText, cbxDebug.Checked,
cbxOrPgBrk.Checked, cbxOpenAfterCreate2.Checked, cbxOverwritePDF2.Checked, GetMultiunitPDFPath(), cbd, txbPDFName.Text,
new Point(Left, Bottom - 50), swtbtnBlankPgsForDuplex.Value, _AllProcedures || Automatic, Prefix, SaveLinks, RemoveTrailingHardReturnsAndManualPageBreaks, swtbtnPROMSVersion.Value, true, tbBlankPage.Text, _MergedPfd);//C2018-009 print PROMS version
frmStatus.CloseWhenDone = true;
@@ -847,7 +893,12 @@ namespace VEPROMS
Volian.Print.Library.Rtf2Pdf.PdfDebug = cbxDebug.Checked;
// B2019-044 don't print the watermark if the watermark switch on the print dialog is turned off
cbxWaterMark.Visible = true;
string waterMarkText = (swtbtnWaterMark.Value) ? cbxWaterMark.Text : "None" ; // B2018-124 use text of watermark form drop down list instead of enum value
ProcedureConfig procConfig = MyProcedure.MyConfig as ProcedureConfig;
string waterMarkTextOverride = "";
if (procConfig != null) waterMarkTextOverride = procConfig.GetValue("PSI", "WATERMARKOVERRIDE"); // C2021-019: override watermark text
if (swtbtnWaterMark.Value && waterMarkTextOverride != null && waterMarkTextOverride != "") waterMarkText = waterMarkTextOverride;
// Determine change bar settings. First get from config & then see if override from dialog.
// Also check that format allows override.
ChangeBarDefinition cbd = DetermineChangeBarSettings();