B2017-090 Commented out a line of code that is no longer needed for printing facing pages, but was causing the main procedure to paginate incorrectly. Sped up the logic that calculates how small to shrink the font size on the supplemental information facing page.
961 lines
37 KiB
C#
961 lines
37 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using System.IO;
|
|
using VEPROMS.CSLA.Library;
|
|
using Volian.Print.Library;
|
|
//using Volian.Controls.Library;
|
|
using Volian.Base.Library;
|
|
|
|
namespace VEPROMS
|
|
{
|
|
public partial class DlgPrintProcedure : DevComponents.DotNetBar.Office2007Form
|
|
{
|
|
public bool SaveLinks
|
|
{
|
|
get { return cbxPDFLinks.Checked; }
|
|
}
|
|
public bool RemoveTrailingHardReturnsAndManualPageBreaks
|
|
{
|
|
get { return cbxRemoveManualPageBreaks.Checked; }
|
|
}
|
|
private string _Prefix = ""; // RHM20150506 Multiline ItemID TextBox
|
|
public string Prefix
|
|
{
|
|
get { return _Prefix; }
|
|
set { _Prefix = value; }
|
|
}
|
|
public bool OpenAfterCreate // RHM20150506 Multiline ItemID TextBox
|
|
{
|
|
get { return cbxOpenAfterCreate2.Checked; }
|
|
set { cbxOpenAfterCreate2.Checked = value; }
|
|
}
|
|
private SessionInfo _MySessionInfo;
|
|
public SessionInfo MySessionInfo
|
|
{
|
|
get { return _MySessionInfo; }
|
|
set { _MySessionInfo = value; }
|
|
}
|
|
private bool _Automatic;
|
|
public bool Automatic
|
|
{
|
|
get { return _Automatic; }
|
|
set { _Automatic = value; }
|
|
}
|
|
private void RunAutomatic()
|
|
{
|
|
cbxDebugPagination.Checked = true;
|
|
cbxDebugText.Checked = true;
|
|
Application.DoEvents();
|
|
string[] parameters = System.Environment.CommandLine.Split(" ".ToCharArray());
|
|
bool ranAuto = false;
|
|
foreach (string parameter in parameters)
|
|
{
|
|
if (parameter.ToUpper() == "/NT")
|
|
cbxDebugText.Checked = false;
|
|
else if (parameter.ToUpper() == "/NP")
|
|
cbxDebugPagination.Checked = false;
|
|
else if (parameter.ToUpper() == "/NC")
|
|
cbxDebug.Checked = false;
|
|
}
|
|
CreatePDFs();
|
|
this.Close();
|
|
}
|
|
private DocVersionInfo _DocVersionInfo = null;
|
|
private bool _AllProcedures;
|
|
private DocVersionConfig _DocVersionConfig;
|
|
public string RevNum
|
|
{
|
|
get { return txbRevNum.Text; }
|
|
set { txbRevNum.Text = value; }
|
|
}
|
|
public string RevNumAndDate
|
|
{
|
|
get
|
|
{
|
|
// the RevDate and Rev number are stored in the procedure config separtly as strings
|
|
// we put these two strings to gether to pass into the Print module.
|
|
// the Rev Number followed by a forward slash or backslash logic is from the 16-bit code
|
|
// and is treated as just string.
|
|
// Therefore we need to build a revison number string with a revdate appended to it but only
|
|
// if either the DoRevDate or the RevDateWithForwardSlash is true. otherwise we should use
|
|
// only the RevNumber.
|
|
if (RevDate == "" ||
|
|
(RevNum.Contains("\\") || RevNum.Contains("/")) ||
|
|
(!MyProcedure.ActiveFormat.PlantFormat.FormatData.PrintData.RevDateWithForwardSlash &&
|
|
!MyProcedure.ActiveFormat.PlantFormat.FormatData.PrintData.DoRevDate))
|
|
return RevNum;
|
|
if (MyProcedure.ActiveFormat.PlantFormat.FormatData.PrintData.RevDateWithForwardSlash)
|
|
return RevNum + "\\" + RevDate;
|
|
else
|
|
return RevNum + "/" + RevDate;
|
|
}
|
|
}
|
|
public string ProcNum
|
|
{
|
|
get { return MyProcedure.DisplayNumber; }
|
|
}
|
|
public string PDFPath
|
|
{
|
|
get { return txbPDFLocation.Text; }
|
|
set { txbPDFLocation.Text = value; }
|
|
}
|
|
public string RevDate
|
|
{
|
|
get { return txbRevDate.Text; }
|
|
set { txbRevDate.Text = value; }
|
|
}
|
|
public string ReviewDate
|
|
{
|
|
get { return txbReviewDate.Text; }
|
|
set { txbReviewDate.Text = value; }
|
|
}
|
|
public bool CreateContinuousActionSummary
|
|
{
|
|
get { return cbxGenerateConActSum.Checked; }
|
|
set { cbxGenerateConActSum.Checked = value; }
|
|
}
|
|
public DlgPrintProcedure(DocVersionInfo dvi, bool automatic)
|
|
{
|
|
_Automatic = automatic;
|
|
InitializeComponent();
|
|
_AllProcedures = true;
|
|
_DocVersionConfig = dvi.DocVersionConfig;
|
|
_DocVersionInfo = dvi;
|
|
MyProcedure = dvi.Procedures[0].MyProcedure;
|
|
btnCreatePDF.Text = "Create PDFs";
|
|
HandleDocVersionSettings();
|
|
PrepForAllOrOne(false);
|
|
Rtf2iTextSharp.DoingComparison = cbxDebug.Checked; // RHM20150506 Multiline ItemID TextBox
|
|
// don't open all PDFs if doing All Procedures
|
|
//cbxOpenAfterCreate2.Checked = dvi.DocVersionConfig.Print_AlwaysViewPDFAfterCreate;
|
|
}
|
|
public DlgPrintProcedure(DocVersionInfo dvi)
|
|
{
|
|
_Automatic = false;
|
|
InitializeComponent();
|
|
_AllProcedures = true;
|
|
_DocVersionConfig = dvi.DocVersionConfig;
|
|
_DocVersionInfo = dvi;
|
|
cbxBlankPgsForDuplex.Checked = dvi.DocVersionConfig.Print_AddBlankPagesWhenUsingDuplexFoldouts;
|
|
MyProcedure = dvi.Procedures[0].MyProcedure;
|
|
btnCreatePDF.Text = "Create PDFs";
|
|
HandleDocVersionSettings();
|
|
PrepForAllOrOne(false);
|
|
// don't open all PDFs if doing All Procedures
|
|
//cbxOpenAfterCreate2.Checked = dvi.DocVersionConfig.Print_AlwaysViewPDFAfterCreate;
|
|
}
|
|
private void PrepForAllOrOne(bool oneProcedure)
|
|
{
|
|
txbPDFName.Visible = lblPDFFileName.Visible = oneProcedure;
|
|
txbRevNum.Visible = lblRevNum.Visible = oneProcedure;
|
|
txbReviewDate.Visible = lblReviewDate.Visible = oneProcedure;
|
|
txbRevDate.Visible = lblRevDate.Visible = oneProcedure;
|
|
cbxOpenAfterCreate2.Visible = oneProcedure;
|
|
cbxOpenAfterCreate2.Checked = false;
|
|
cbxOverwritePDF2.Visible = oneProcedure;
|
|
cbxOverwritePDF2.Checked = true;
|
|
gpnlDebug.Visible = Volian.Base.Library.VlnSettings.DebugMode;
|
|
cbxGeneratePlacekeeper.Checked = false;
|
|
cbxGenerateConActSum.Checked = false;
|
|
cbxGeneratePlacekeeper.Visible = oneProcedure &&
|
|
((MyProcedure.ActiveFormat.PlantFormat.FormatData.PurchaseOptions & E_PurchaseOptions.AutoPlacekeeper) == E_PurchaseOptions.AutoPlacekeeper);
|
|
}
|
|
private string _UnitNumber;
|
|
public string UnitNumber
|
|
{
|
|
get { return _UnitNumber; }
|
|
set { _UnitNumber = value; }
|
|
}
|
|
private int _UnitIndex;
|
|
public int UnitIndex
|
|
{
|
|
get { return _UnitIndex; }
|
|
set { _UnitIndex = value; }
|
|
}
|
|
public DlgPrintProcedure(ProcedureInfo pi)
|
|
{
|
|
InitializeComponent();
|
|
_AllProcedures = false;
|
|
_DocVersionConfig = pi.MyDocVersion.DocVersionConfig;
|
|
cbxBlankPgsForDuplex.Checked = pi.MyDocVersion.DocVersionConfig.Print_AddBlankPagesWhenUsingDuplexFoldouts;
|
|
MyProcedure = pi;
|
|
btnCreatePDF.Text = "Create PDF";
|
|
HandleDocVersionSettings();
|
|
PrepForAllOrOne(true);
|
|
cbxOpenAfterCreate2.Checked = pi.MyDocVersion.DocVersionConfig.Print_AlwaysViewPDFAfterCreate;
|
|
}
|
|
public DlgPrintProcedure(ProcedureInfo pi, bool automatic) // RHM20150506 Multiline ItemID TextBox
|
|
{
|
|
InitializeComponent();
|
|
Automatic = automatic;
|
|
Rtf2iTextSharp.DoingComparison = cbxDebug.Checked;
|
|
_AllProcedures = false;
|
|
_DocVersionConfig = pi.MyDocVersion.DocVersionConfig;
|
|
cbxBlankPgsForDuplex.Checked = pi.MyDocVersion.DocVersionConfig.Print_AddBlankPagesWhenUsingDuplexFoldouts;
|
|
MyProcedure = pi;
|
|
btnCreatePDF.Text = "Create PDF";
|
|
HandleDocVersionSettings();
|
|
PrepForAllOrOne(true);
|
|
cbxOpenAfterCreate2.Checked = pi.MyDocVersion.DocVersionConfig.Print_AlwaysViewPDFAfterCreate;
|
|
}
|
|
/// <summary>
|
|
/// RHM 20120925 Added so that the dialog would center over the PROMS window
|
|
/// </summary>
|
|
/// <param name="e"></param>
|
|
protected override void OnActivated(EventArgs e)
|
|
{
|
|
base.OnActivated(e);
|
|
if (Owner != null)
|
|
Location = new Point(Owner.Left + Owner.Width / 2 - Width / 2, Owner.Top + Owner.Height/2 - Height/2);
|
|
}
|
|
private void HandleDocVersionSettings()
|
|
{
|
|
|
|
GetDocVersionSettings();
|
|
|
|
// set to a default PDF location if none was specified in the DocVersions property
|
|
if (txbPDFLocation.Text == null || txbPDFLocation.Text.Length == 0 || !Directory.Exists(txbPDFLocation.Text))
|
|
txbPDFLocation.Text = VlnSettings.TemporaryFolder;
|
|
SetCompareVisibility();
|
|
// if the default setting is 'SelectBeforePrinting', put up a message box to determine whether the user
|
|
// wants change bars. If not, 'Change Bar' on the Setting tab is 'OFF' and no Change bar tab.
|
|
// If yes, the Change bar tab is the selected tab.
|
|
if (_DocVersionConfig.Print_ChangeBar == PrintChangeBar.SelectBeforePrinting)
|
|
{
|
|
DialogResult dr = DialogResult.Yes;
|
|
if(!Automatic)
|
|
dr = MessageBox.Show("Do you want change bars?", "Change Bars", MessageBoxButtons.YesNo);
|
|
if (dr == DialogResult.Yes)
|
|
{
|
|
btnChgBarOn.PerformClick();
|
|
if(!Automatic) tabControl1.SelectedTab = tbChangeBars;
|
|
rbFormatDefault.PerformClick();
|
|
rbFormatDefault.Checked = true; // default to 'Format Default'
|
|
}
|
|
else
|
|
{
|
|
btnChgBarOff.PerformClick();
|
|
}
|
|
}
|
|
}
|
|
|
|
private void GetDocVersionSettings()
|
|
{
|
|
_DocVersionConfig.SaveChangesToDocVersionConfig = false;
|
|
_DocVersionConfig.ParentLookup = false;
|
|
// PDF Location
|
|
PDFPath = _DocVersionConfig.Print_PDFLocation;
|
|
// Overwrite PDF
|
|
cbxOverwritePDF2.Checked = _DocVersionConfig.Print_AlwaysOverwritePDF;
|
|
// Open PDF After Create
|
|
cbxOpenAfterCreate2.Checked = _DocVersionConfig.Print_AlwaysViewPDFAfterCreate;
|
|
// Changebars on/off
|
|
if (_DocVersionConfig.Print_ChangeBar == PrintChangeBar.Without)
|
|
btnChgBarOff.PerformClick();
|
|
else
|
|
btnChgBarOn.PerformClick();
|
|
// Watermark on/off
|
|
if (_DocVersionConfig.Print_Watermark == PrintWatermark.None)
|
|
btnWaterMarkOff.PerformClick();
|
|
else
|
|
btnWaterMarkOn.PerformClick();
|
|
// Auto Duplexing on/off
|
|
|
|
if ((_MyProcedure.ActiveParent as DocVersionInfo).ActiveFormat.PlantFormat.FormatData.PrintData.AllowDuplex)
|
|
{
|
|
lblAutoDuplexing.Visible = true;
|
|
btnDuplxOff.Visible = true;
|
|
btnDuplxOn.Visible = true;
|
|
if (_DocVersionConfig.Print_DisableDuplex)
|
|
btnDuplxOff.PerformClick();
|
|
else
|
|
btnDuplxOn.PerformClick();
|
|
}
|
|
else
|
|
{
|
|
lblAutoDuplexing.Visible = false;
|
|
btnDuplxOff.Visible = false;
|
|
btnDuplxOn.Visible = false;
|
|
}
|
|
SetCompareVisibility();
|
|
|
|
// default to using OriginalPageBreaks (16bit page breaks) if App.config is set
|
|
// to true:
|
|
//cbxOrPgBrk.Visible = VlnSettings.OriginalPageBreak && VlnSettings.DebugMode;
|
|
cbxOrPgBrk.Visible = false; //per Harry
|
|
cbxOrPgBrk.Checked = false;
|
|
}
|
|
|
|
private void SetCompareVisibility()
|
|
{
|
|
// default to print Debug info if App.config is set to debug mode
|
|
// This checkbox is now labeled as "Compare PDF"
|
|
// If the PDF location has a Compare folder or we are in Debug Mode
|
|
// then make the checkbox visible
|
|
string cmpfldr = txbPDFLocation.Text;
|
|
if (!cmpfldr.EndsWith("\\")) cmpfldr += "\\";
|
|
cmpfldr += "Compare";
|
|
cbxDebug.Visible = Directory.Exists(cmpfldr) || VlnSettings.DebugMode;
|
|
cbxDebug.Checked = VlnSettings.DebugMode;
|
|
}
|
|
|
|
private void DlgPrintProcedure_Load(object sender, EventArgs e)
|
|
{
|
|
SetupForProcedure();
|
|
_MyTimer = new Timer();
|
|
_MyTimer.Tick += new EventHandler(_MyTimer_Tick);
|
|
_MyTimer.Interval = 100;
|
|
_MyTimer.Enabled = true;
|
|
btnCreatePDF.Select();
|
|
}
|
|
|
|
void _MyTimer_Tick(object sender, EventArgs e)
|
|
{
|
|
_MyTimer.Enabled = false;
|
|
BringToFront();
|
|
if (Automatic) RunAutomatic();
|
|
}
|
|
|
|
private Timer _MyTimer;
|
|
public void SetupForProcedure() // RHM20150506 Multiline ItemID TextBox
|
|
{
|
|
string PDFFilePrefix = _DocVersionConfig.Print_PDFFilePrefix;
|
|
string PDFFileSuffix = _DocVersionConfig.Print_PDFFileSuffix;
|
|
if(_DocVersionInfo == null)this.Text = "Create PDF for " + ProcNum;
|
|
// get list of previous pdf files
|
|
// if no previous pdf file, then get path from frmVersionProperties
|
|
// dlgSelectFile.InitialDirectory = pdf path from frmVersionProperties
|
|
//cbxPDF.Text = string.Format(@"{0}\{1}.pdf", _PDFPath, _ProcNum);
|
|
// General 2 settings
|
|
//txbPDFLocation.Text = _PDFPath;
|
|
string PDFFileName = "";
|
|
if (ProcNum == string.Empty)
|
|
//txbPDFName.Text = this.UnitNumber + ".pdf";
|
|
PDFFileName = this.UnitNumber;
|
|
else
|
|
//txbPDFName.Text = string.Format("{0}.pdf", _MyProcedure.PDFNumber);
|
|
PDFFileName = string.Format("{0}", _MyProcedure.PDFNumber);
|
|
//if (txbPDFName.Text.StartsWith("*"))
|
|
// txbPDFName.Text = txbPDFName.Text.Replace("*", this.UnitNumber);
|
|
if ((PDFFileName ?? "") == "") PDFFileName = "NoProcNumber";
|
|
if (PDFFileName.StartsWith("*"))
|
|
PDFFileName = PDFFileName.Replace("*", this.UnitNumber);
|
|
if (PDFFileName.Contains("?")) PDFFileName = PDFFileName.Replace("?", "_"); // for wcn sys/BM-2xxA??, etc
|
|
txbPDFName.Text = PDFFilePrefix + PDFFileName + PDFFileSuffix + ".pdf";
|
|
ProcedureConfig pc = _MyProcedure.MyConfig as ProcedureConfig;
|
|
if(SelectedSlave > 0) pc.SelectedSlave = SelectedSlave;
|
|
if (pc != null)
|
|
{
|
|
RevNum = pc.Print_Rev;
|
|
RevDate = pc.Print_RevDate; //== null || pc.Print_RevDate=="" ? DateTime.Today : Convert.ToDateTime(pc.Print_RevDate);
|
|
ReviewDate = pc.Print_ReviewDate; // == null ? DateTime.Today : Convert.ToDateTime(pc.Print_ReviewDate);
|
|
//Now check the format flags to determine if/how the Rev string should be parsed.
|
|
// This will covert the old way (16-bit) of setting a RevDate (appending it to the RevNumber)
|
|
// to the new way saving the RevNumber and RevDate in there own config fields
|
|
if ((_MyProcedure.ActiveFormat.PlantFormat.FormatData.PrintData.DoRevDate && RevNum.Contains("/"))
|
|
|| (_MyProcedure.ActiveFormat.PlantFormat.FormatData.PrintData.RevDateWithForwardSlash && RevNum.Contains("\\")))
|
|
{
|
|
int indx = RevNum.IndexOf(_MyProcedure.ActiveFormat.PlantFormat.FormatData.PrintData.RevDateWithForwardSlash ? '\\' : '/');
|
|
pc.Print_RevDate = RevDate = RevNum.Substring(indx + 1);
|
|
pc.Print_Rev = RevNum = RevNum.Substring(0, indx);
|
|
// save the RevNumber and RevDate to the procedure's config.
|
|
using (Item itm = Item.Get(MyProcedure.ItemID))
|
|
{
|
|
itm.MyContent.Config = MyProcedure.MyConfig.ToString();
|
|
itm.Save();
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
RevNum = "0";
|
|
RevDate = DateTime.Today.ToShortDateString();
|
|
ReviewDate = null;
|
|
}
|
|
cbxWaterMark.DataSource = EnumDetail<PrintWatermark>.Details();
|
|
cbxWaterMark.DisplayMember = "Description";
|
|
cbxWaterMark.ValueMember = "EValue";
|
|
PrintWatermark pw = _DocVersionConfig.Print_Watermark; // MyProcedure.ProcedureConfig.Print_Watermark;
|
|
cbxWaterMark.Text = pw.ToString();
|
|
|
|
//ppCmbxChgBarPos.DataSource = EnumDetail<PrintChangeBarLoc>.Details();
|
|
//ppCmbxChgBarPos.DisplayMember = "Description";
|
|
//ppCmbxChgBarPos.ValueMember = "EValue";
|
|
//ppCmbxChgBarPos.SelectedIndex = (int)MyProcedure.MyDocVersion.DocVersionConfig.Print_ChangeBarLoc;
|
|
|
|
ppCmbxChgBarTxtType.DataSource = EnumDetail<PrintChangeBarText>.Details();
|
|
ppCmbxChgBarTxtType.DisplayMember = "Description";
|
|
ppCmbxChgBarTxtType.ValueMember = "EValue";
|
|
ppCmbxChgBarTxtType.SelectedIndex = (int)_DocVersionConfig.Print_ChangeBarText;
|
|
|
|
ppTxbxChangeBarUserMsgOne.Text = _DocVersionConfig.Print_UserCBMess1;
|
|
ppTxbxChangeBarUserMsgTwo.Text = _DocVersionConfig.Print_UserCBMess2;
|
|
ppGpbxUserSpecTxt.Enabled = ppCmbxChgBarTxtType.SelectedIndex == (int)PrintChangeBarText.UserDef;
|
|
bool hasReviewDate = _MyProcedure.ActiveFormat.PlantFormat.HasPageListToken("{REVIEWDATE}");
|
|
bool usesRevDate = _MyProcedure.ActiveFormat.PlantFormat.FormatData.PrintData.DoRevDate || _MyProcedure.ActiveFormat.PlantFormat.FormatData.PrintData.RevDateWithForwardSlash;
|
|
if (_MyProcedure.Sections != null)
|
|
{
|
|
foreach (SectionInfo mysection in _MyProcedure.Sections)
|
|
hasReviewDate |= mysection.ActiveFormat.PlantFormat.HasPageListToken("{REVIEWDATE}");
|
|
}
|
|
// Only the New HLP format and the MYA format use this
|
|
// South Texas does not use their new HLP format and MYA (Main Yankee) has dropped us (they closed)
|
|
// thus there is no supporting code to print a Review Date
|
|
// thus setting "hasReviewDate" to false so the Review Date entry box does not appear on the print dialog
|
|
// - jsj 4/3/2013
|
|
hasReviewDate = false; // jsj 4/3/2013
|
|
lblReviewDate.Visible = txbReviewDate.Visible = !_AllProcedures && hasReviewDate;
|
|
lblRevDate.Visible = txbRevDate.Visible = !_AllProcedures && usesRevDate;
|
|
}
|
|
|
|
private void btnCancel_Click(object sender, EventArgs e)
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
private void btnAvChgBarOn_Click(object sender, EventArgs e)
|
|
{
|
|
if (!btnChgBarOn.Checked)
|
|
{
|
|
btnChgBarOn.Checked = true;
|
|
btnChgBarOff.Checked = false;
|
|
tbChangeBars.Visible = true;
|
|
// to set which radio button (Format default or Custom) is checked, look at config data
|
|
switch (_DocVersionConfig.Print_ChangeBar)
|
|
{
|
|
case PrintChangeBar.WithUserSpecified:
|
|
rbCustom.Checked = true;
|
|
break;
|
|
case PrintChangeBar.SelectBeforePrinting:
|
|
case PrintChangeBar.WithDefault:
|
|
default:
|
|
rbFormatDefault.Checked = true;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
private void btnAvChgBarOff_Click(object sender, EventArgs e)
|
|
{
|
|
if (!btnChgBarOff.Checked)
|
|
{
|
|
btnChgBarOff.Checked = true;
|
|
btnChgBarOn.Checked = false;
|
|
tbChangeBars.Visible = false;
|
|
}
|
|
}
|
|
|
|
private void btnAdvDuplxOn_Click(object sender, EventArgs e)
|
|
{
|
|
if (!btnDuplxOn.Checked)
|
|
{
|
|
btnDuplxOn.Checked = true;
|
|
btnDuplxOff.Checked = false;
|
|
}
|
|
}
|
|
|
|
private void btnAdvDuplxOff_Click(object sender, EventArgs e)
|
|
{
|
|
if (!btnDuplxOff.Checked)
|
|
{
|
|
btnDuplxOff.Checked = true; ;
|
|
btnDuplxOn.Checked = false;
|
|
}
|
|
}
|
|
|
|
private void btnAdvWaterMarkOn_Click(object sender, EventArgs e)
|
|
{
|
|
if (!btnWaterMarkOn.Checked)
|
|
{
|
|
btnWaterMarkOn.Checked = true;
|
|
btnWaterMarkOff.Checked = false;
|
|
cbxWaterMark.Visible = true;
|
|
}
|
|
}
|
|
|
|
private void btnAdvWaterMarkOff_Click(object sender, EventArgs e)
|
|
{
|
|
if (!btnWaterMarkOff.Checked)
|
|
{
|
|
btnWaterMarkOff.Checked = true;
|
|
btnWaterMarkOn.Checked = false;
|
|
cbxWaterMark.Visible = false;
|
|
}
|
|
}
|
|
|
|
private void txbPDFLocation_Leave(object sender, EventArgs e)
|
|
{
|
|
if (!Directory.Exists(PDFPath))
|
|
{
|
|
string msg = string.Format("'{0}' does not exist. \n\nCreate it?", PDFPath);
|
|
DialogResult dr= MessageBox.Show(msg, "Folder Not Found", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
|
|
if (dr == DialogResult.Yes)
|
|
{
|
|
try
|
|
{
|
|
Directory.CreateDirectory(PDFPath);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(ex.Message, "Error trying to create folder", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
PDFPath = _DocVersionConfig.Print_PDFLocation;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
PDFPath = _DocVersionConfig.Print_PDFLocation;
|
|
}
|
|
}
|
|
}
|
|
|
|
private void DlgPrintProcedure_FormClosed(object sender, FormClosedEventArgs e)
|
|
{
|
|
_DocVersionConfig.SaveChangesToDocVersionConfig = true;
|
|
//_DocVersionConfig.ParentLookup = true;
|
|
|
|
ProcedureConfig pc = _MyProcedure.MyConfig as ProcedureConfig;
|
|
if (SelectedSlave > 0) pc.SelectedSlave = 0;
|
|
}
|
|
|
|
private ProcedureInfo _MyProcedure;
|
|
|
|
public ProcedureInfo MyProcedure
|
|
{
|
|
get { return _MyProcedure; }
|
|
set
|
|
{
|
|
_MyProcedure = value;
|
|
// if procedure has supplemental information, the automatially check the add blank pages for duplex printing
|
|
if (_MyProcedure.ProcHasSupInfoData)
|
|
cbxBlankPgsForDuplex.Checked = true;
|
|
}
|
|
}
|
|
private int _SelectedSlave = 0;
|
|
public int SelectedSlave
|
|
{
|
|
get { return _SelectedSlave; }
|
|
set
|
|
{
|
|
_SelectedSlave = value;
|
|
lblMultiunitPdfLocation.Visible = cbxMultiunitPdfLocation.Visible = (value > -1);
|
|
cbxMultiunitPdfLocation.SelectedIndex = 1;
|
|
}
|
|
}
|
|
private string _MultiunitPdfLocation = string.Empty;
|
|
private void CreatePDFs()
|
|
{
|
|
if (VlnSettings.GetCommandFlag("PROFILE")) ProfileTimer.TurnOnTracking("Profile.txt");
|
|
VEPROMS.CSLA.Library.Database.TrackDBUsage = VlnSettings.GetCommandFlag("DBTrack");
|
|
ProfileTimer.Reset();
|
|
int profileDepth = ProfileTimer.Push(">>>> CreatePdf");
|
|
StringBuilder sb = new StringBuilder();
|
|
if (MySessionInfo != null)
|
|
{
|
|
foreach (ProcedureInfo myProc in _DocVersionInfo.Procedures)
|
|
{
|
|
string message = string.Empty;
|
|
if (!MySessionInfo.CanCheckOutItem(myProc.ItemID, CheckOutType.Procedure, ref message))
|
|
{
|
|
sb.AppendLine(message);
|
|
}
|
|
}
|
|
if (sb.Length > 0)
|
|
{
|
|
if (MessageBox.Show(sb.ToString() + Environment.NewLine + Environment.NewLine + "Do you want to continue to print all procedures?", "Procedures Already Checked Out", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
|
|
return;
|
|
}
|
|
}
|
|
CreateDebugFiles();
|
|
// If file exists, determine if overwrite checkbox allows overwrite, if not prompt.
|
|
Volian.Print.Library.Rtf2Pdf.PdfDebug = cbxDebug.Checked;
|
|
PrintWatermark pw = (btnWaterMarkOn.Checked) ? (PrintWatermark)cbxWaterMark.SelectedValue : PrintWatermark.None;
|
|
// Determine change bar settings. First get from config & then see if override from dialog.
|
|
// Also check that format allows override.
|
|
ChangeBarDefinition cbd = DetermineChangeBarSettings();
|
|
int n = _DocVersionInfo.Procedures.Count;
|
|
int i = 0;
|
|
pbPDFsStatus.Maximum = n;
|
|
pbPDFsStatus.Visible = true;
|
|
this.Text = string.Format("Processing {0}", _DocVersionInfo.MyFolder.Name);
|
|
foreach (ProcedureInfo myProc in _DocVersionInfo.Procedures)
|
|
{
|
|
MyProcedure = myProc;
|
|
if (myProc.Sections != null)
|
|
{
|
|
// This is master/slave & a slave has been selected for printing (SelectedSlave > 0)
|
|
if (SelectedSlave > 0)
|
|
{
|
|
MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = SelectedSlave;
|
|
SetupForProcedure();
|
|
pbPDFsStatus.TextVisible = true;
|
|
pbPDFsStatus.Text = string.Format("Creating PDF for {0} ({1} of {2})", myProc.DisplayNumber, ++i, n);
|
|
pbPDFsStatus.Value = i;
|
|
// this.Text = string.Format("Create PDF for {0} ({1} of {2})", myProc.DisplayNumber, ++i, n);
|
|
MyProcedure = ProcedureInfo.GetItemAndChildrenByUnit(MyProcedure.ItemID, 0, MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave);
|
|
string myPDFPath = GetMultiunitPDFPath();
|
|
// 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,
|
|
cbxOpenAfterCreate2.Checked, cbxOverwritePDF2.Checked, myPDFPath, cbd, txbPDFName.Text, new Point(Left, Bottom - 50),
|
|
cbxBlankPgsForDuplex.Checked, _AllProcedures||Automatic,Prefix,SaveLinks,RemoveTrailingHardReturnsAndManualPageBreaks);
|
|
frmStatus.CloseWhenDone = true;
|
|
Application.DoEvents();
|
|
frmStatus.CancelStop = true;
|
|
frmStatus.ShowDialog();
|
|
if (frmStatus.CancelPrinting) break;
|
|
}
|
|
// This is a master/slave for printing of all slaves (SelectedSave == 0)
|
|
else if (SelectedSlave == 0)
|
|
{
|
|
for (int k = 1; k <= MyProcedure.MyDocVersion.MultiUnitCount; k++)
|
|
{
|
|
MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = k;
|
|
SetupForProcedure();
|
|
pbPDFsStatus.TextVisible = true;
|
|
pbPDFsStatus.Text = string.Format("Creating PDF for {0} ({1} of {2})", myProc.DisplayNumber, ++i, n);
|
|
pbPDFsStatus.Value = i;
|
|
// this.Text = string.Format("Create PDF for {0} ({1} of {2})", myProc.DisplayNumber, ++i, n);
|
|
MyProcedure = ProcedureInfo.GetItemAndChildrenByUnit(MyProcedure.ItemID, 0, MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave);
|
|
// 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,
|
|
cbxOpenAfterCreate2.Checked, cbxOverwritePDF2.Checked, GetMultiunitPDFPath(), cbd, txbPDFName.Text, new Point(Left, Bottom - 50),
|
|
cbxBlankPgsForDuplex.Checked, _AllProcedures || Automatic,Prefix,SaveLinks,RemoveTrailingHardReturnsAndManualPageBreaks);
|
|
frmStatus.CloseWhenDone = true;
|
|
Application.DoEvents();
|
|
frmStatus.CancelStop = true;
|
|
frmStatus.ShowDialog();
|
|
if (frmStatus.CancelPrinting) break;
|
|
}
|
|
}
|
|
// Not master/slave
|
|
else
|
|
{
|
|
SetupForProcedure();
|
|
pbPDFsStatus.TextVisible = true;
|
|
pbPDFsStatus.Text = string.Format("Creating PDF for {0} ({1} of {2})", myProc.DisplayNumber, ++i, n);
|
|
pbPDFsStatus.Value = i;
|
|
// this.Text = string.Format("Create PDF for {0} ({1} of {2})", myProc.DisplayNumber, ++i, n);
|
|
// RHM 20120925 Overlay the bottom of the dialog so that cancel button is covered.
|
|
int profileDepth1 = ProfileTimer.Push(">>>> GetItemAndChildren");
|
|
if (MyProcedure.ActiveFormat.PlantFormat.FormatData.TransData.UseTransitionModifier || MyProcedure.ActiveFormat.PlantFormat.FormatData.TransData.UseSpecificTransitionModifier)
|
|
MyProcedure = ProcedureInfo.GetItemAndChildrenByUnit(MyProcedure.ItemID, 0, MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave);
|
|
else
|
|
MyProcedure = ProcedureInfo.GetItemAndChildren(MyProcedure.ItemID);
|
|
ProfileTimer.Pop(profileDepth1);
|
|
// B2016-249 Output Procedure to folder associated with Parent Child
|
|
frmPDFStatusForm frmStatus = new frmPDFStatusForm(MyProcedure, RevNumAndDate, pw.ToString(), cbxDebug.Checked,
|
|
cbxOrPgBrk.Checked, cbxOpenAfterCreate2.Checked, cbxOverwritePDF2.Checked, GetMultiunitPDFPath(), cbd, txbPDFName.Text,
|
|
new Point(Left, Bottom - 50), cbxBlankPgsForDuplex.Checked, _AllProcedures || Automatic,Prefix,SaveLinks,RemoveTrailingHardReturnsAndManualPageBreaks);
|
|
frmStatus.CloseWhenDone = true;
|
|
Application.DoEvents();
|
|
frmStatus.CancelStop = true;
|
|
frmStatus.ShowDialog();
|
|
if (frmStatus.CancelPrinting) break;
|
|
}
|
|
}
|
|
}
|
|
pbPDFsStatus.Visible = false;
|
|
if(!Automatic)
|
|
ShowDebugFiles();
|
|
ProfileTimer.Pop(profileDepth);
|
|
ProfileTimer.ShowTimerTable();
|
|
if (VlnSettings.GetCommandFlag("DBTrack"))
|
|
{
|
|
VEPROMS.CSLA.Library.Database.TrackDBUsage = false;
|
|
VEPROMS.CSLA.Library.Database.ShowDBTracking("DBTracking.txt");
|
|
}
|
|
}
|
|
|
|
private string GetMultiunitPDFPath()
|
|
{
|
|
string newPDFPath = string.Empty;
|
|
if (_MultiunitPdfLocation == "None")
|
|
newPDFPath = PDFPath;
|
|
if (_MultiunitPdfLocation == "Unit Name")
|
|
newPDFPath = PDFPath + @"\" + MyProcedure.MyDocVersion.DocVersionConfig.Unit_Name;
|
|
if (_MultiunitPdfLocation == "Unit Number")
|
|
newPDFPath = PDFPath + @"\" + MyProcedure.MyDocVersion.DocVersionConfig.Unit_Number;
|
|
if (_MultiunitPdfLocation == "Unit Text")
|
|
newPDFPath = PDFPath + @"\" + MyProcedure.MyDocVersion.DocVersionConfig.Unit_Text;
|
|
if (_MultiunitPdfLocation == "Unit ID")
|
|
newPDFPath = PDFPath + @"\" + MyProcedure.MyDocVersion.DocVersionConfig.Unit_ID;
|
|
if (newPDFPath == "") newPDFPath = Volian.Base.Library.VlnSettings.TemporaryFolder;
|
|
// B2016-255 Non-P/C PC proceduress need to remove that \0 that the code above addds
|
|
if (newPDFPath.EndsWith("\\0")) newPDFPath = newPDFPath.Substring(0, newPDFPath.Length - 2);
|
|
if (!Directory.Exists(newPDFPath))
|
|
Directory.CreateDirectory(newPDFPath);
|
|
return newPDFPath;
|
|
}
|
|
private void CreateDebugFiles()
|
|
{
|
|
if (cbxDebugPagination.Checked)
|
|
Volian.Base.Library.DebugPagination.Open(PDFPath + "\\DebugPagination.txt"); // RHM 20120925 Corrected spelling
|
|
if (cbxDebugText.Checked)
|
|
Volian.Base.Library.DebugText.Open(PDFPath + "\\DebugText.txt");
|
|
}
|
|
private void ShowDebugFiles()
|
|
{
|
|
if (cbxDebugPagination.Checked)
|
|
Volian.Base.Library.DebugPagination.Show();
|
|
if (cbxDebugText.Checked)
|
|
Volian.Base.Library.DebugText.Show();
|
|
}
|
|
public void CreatePDF() // RHM20150506 Multiline ItemID TextBox
|
|
{
|
|
if (VlnSettings.GetCommandFlag("PROFILE")) ProfileTimer.TurnOnTracking("Profile.txt");
|
|
VEPROMS.CSLA.Library.Database.TrackDBUsage = VlnSettings.GetCommandFlag("DBTrack");
|
|
ProfileTimer.Reset();
|
|
int profileDepth = ProfileTimer.Push(">>>> CreatePdf");
|
|
string message = string.Empty;
|
|
if (!MySessionInfo.CanCheckOutItem(MyProcedure.ItemID, CheckOutType.Procedure, ref message))
|
|
{
|
|
if (MessageBox.Show(this, message + Environment.NewLine + Environment.NewLine + "Do you want to continue to print the procedure?", "Procedure Is Checked Out", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
|
|
return;
|
|
}
|
|
CreateDebugFiles();
|
|
// If file exists, determine if overwrite checkbox allows overwrite, if not prompt.
|
|
|
|
Volian.Print.Library.Rtf2Pdf.PdfDebug = cbxDebug.Checked;
|
|
PrintWatermark pw = (btnWaterMarkOn.Checked) ? (PrintWatermark)cbxWaterMark.SelectedValue : PrintWatermark.None;
|
|
// Determine change bar settings. First get from config & then see if override from dialog.
|
|
// Also check that format allows override.
|
|
ChangeBarDefinition cbd = DetermineChangeBarSettings();
|
|
int profileDepth2 = ProfileTimer.Push(">>>> CreatePdf.GetItemAndChildren");
|
|
if (MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave > 0 || MyProcedure.ActiveFormat.PlantFormat.FormatData.TransData.UseTransitionModifier || MyProcedure.ActiveFormat.PlantFormat.FormatData.TransData.UseSpecificTransitionModifier)
|
|
MyProcedure = ProcedureInfo.GetItemAndChildrenByUnit(MyProcedure.ItemID, 0, MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave);
|
|
else
|
|
MyProcedure = ProcedureInfo.GetItemAndChildren(MyProcedure.ItemID);
|
|
// RHM 20120925 Overlay the bottom of the dialog so that cancel button is covered.
|
|
ProfileTimer.Pop(profileDepth2);
|
|
// B2016-249 Output Procedure to folder associated with Parent Child
|
|
frmPDFStatusForm frmStatus = new frmPDFStatusForm(MyProcedure, RevNumAndDate, pw.ToString(), cbxDebug.Checked, cbxOrPgBrk.Checked,
|
|
cbxOpenAfterCreate2.Checked, cbxOverwritePDF2.Checked, GetMultiunitPDFPath(), cbd, txbPDFName.Text, new Point(Left, Bottom - 50),
|
|
cbxBlankPgsForDuplex.Checked, _AllProcedures || Automatic,Prefix,SaveLinks,RemoveTrailingHardReturnsAndManualPageBreaks);
|
|
frmStatus.MakePlaceKeeper = cbxGeneratePlacekeeper.Checked;
|
|
frmStatus.MakeContinuousActionSummary = cbxGenerateConActSum.Checked;
|
|
if (Automatic && cbxGenerateConActSum.Checked)
|
|
frmStatus.OnlyShowContinuousActionSummary = true;
|
|
int profileDepth3 = ProfileTimer.Push(">>>> frmStatus");
|
|
frmStatus.ShowDialog();
|
|
ProfileTimer.Pop(profileDepth3);
|
|
MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
|
|
this.Close();
|
|
ShowDebugFiles();
|
|
ProfileTimer.Pop(profileDepth);
|
|
ProfileTimer.ShowTimerTable();
|
|
if (VlnSettings.GetCommandFlag("DBTrack"))
|
|
{
|
|
VEPROMS.CSLA.Library.Database.TrackDBUsage = false;
|
|
VEPROMS.CSLA.Library.Database.ShowDBTracking("DBTracking.txt");
|
|
}
|
|
}
|
|
|
|
// Determine if any dialog selections for change bars have overridden the data
|
|
// supplied in the DocVconfig data or format file. Settings are location and text.
|
|
private ChangeBarDefinition DetermineChangeBarSettings()
|
|
{
|
|
ChangeBarDefinition cbd = new ChangeBarDefinition();
|
|
|
|
// if the dialog has 'without change bar' selected, then just set without and return
|
|
if (btnChgBarOff.Checked)
|
|
{
|
|
cbd.MyChangeBarType = PrintChangeBar.Without;
|
|
return cbd;
|
|
}
|
|
// Get settings from dialog because these are used to set the initial dialog values and
|
|
// any changes from user overrides the initial settings.
|
|
ChangeBarData changeBarData = MyProcedure.ActiveFormat.PlantFormat.FormatData.ProcData.ChangeBarData;
|
|
if (rbFormatDefault.Checked || _DocVersionConfig == null || _DocVersionConfig.Print_ChangeBar == PrintChangeBar.WithDefault)
|
|
{
|
|
cbd.MyChangeBarType = PrintChangeBar.WithDefault;
|
|
cbd.MyChangeBarText = changeBarData.ChangeBarMessage == "ChgID" ? PrintChangeBarText.ChgID :
|
|
changeBarData.ChangeBarMessage == "DateAndChgID" ? PrintChangeBarText.DateChgID :
|
|
changeBarData.ChangeBarMessage == "None" ? PrintChangeBarText.None :
|
|
changeBarData.ChangeBarMessage == "RevNum" ? PrintChangeBarText.RevNum : PrintChangeBarText.UserDef;
|
|
}
|
|
else if (rbCustom.Checked || _DocVersionConfig.Print_ChangeBar == PrintChangeBar.WithUserSpecified)
|
|
{
|
|
cbd.MyChangeBarLoc = _DocVersionConfig.Print_ChangeBarLoc; // (PrintChangeBarLoc)ppCmbxChgBarPos.SelectedIndex;
|
|
cbd.MyChangeBarText = (PrintChangeBarText)ppCmbxChgBarTxtType.SelectedIndex;
|
|
}
|
|
else
|
|
{
|
|
cbd.MyChangeBarLoc = _DocVersionConfig.Print_ChangeBarLoc;
|
|
cbd.MyChangeBarText = _DocVersionConfig.Print_ChangeBarText;
|
|
}
|
|
|
|
// now figure out the location.
|
|
if (cbd.MyChangeBarType != PrintChangeBar.Without)
|
|
{
|
|
// if the format has the absolutefixedchangecolumn format flag, then always use the fixedchangecolumn from the
|
|
// format, otherwise, use the default column based on the selected location, stored in the base format.
|
|
cbd.MyChangeBarColumn = (changeBarData.AbsoluteFixedChangeColumn) ?
|
|
(int)changeBarData.FixedChangeColumn :
|
|
System.Convert.ToInt32(changeBarData.DefaultCBLoc.Split(" ,".ToCharArray())[System.Convert.ToInt32(cbd.MyChangeBarLoc)]);
|
|
//cbd.MyChangeBarColumn = (int)changeBarData.FixedChangeColumn;
|
|
if (cbd.MyChangeBarText == PrintChangeBarText.UserDef)
|
|
cbd.MyChangeBarMessage = _DocVersionConfig.Print_UserCBMess1 + @"\n" + _DocVersionConfig.Print_UserCBMess2;
|
|
|
|
}
|
|
return cbd;
|
|
}
|
|
private void btnCreatePDF_Click(object sender, EventArgs e)
|
|
{
|
|
Rtf2iTextSharp.DoingComparison = cbxDebug.Checked;
|
|
if (_AllProcedures)
|
|
{
|
|
this.Cursor = Cursors.WaitCursor;
|
|
DateTime dtStart = DateTime.Now;
|
|
_MultiunitPdfLocation = cbxMultiunitPdfLocation.SelectedItem.ToString();
|
|
PromsPrinter.ClearTransPageNumProblems();
|
|
CreatePDFs();
|
|
PromsPrinter.ReportTransPageNumProblems();
|
|
this.Cursor = Cursors.Default;
|
|
if (VlnSettings.DebugMode)
|
|
{
|
|
MessageBox.Show(string.Format("{0} Minutes to Print All Procedures"
|
|
, TimeSpan.FromTicks(DateTime.Now.Ticks - dtStart.Ticks).TotalMinutes),
|
|
"Printing Duration", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
else // Production or Demo mode
|
|
{
|
|
MessageBox.Show("Completed Successfully", "Print All Procedures", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
this.Close();
|
|
}
|
|
else
|
|
{
|
|
// B2016-249 Output Procedure to folder associated with Parent Child
|
|
// B2017-009 If the selected item is null don't add a folder
|
|
if(cbxMultiunitPdfLocation.SelectedItem != null)
|
|
_MultiunitPdfLocation = cbxMultiunitPdfLocation.SelectedItem.ToString();
|
|
this.Cursor = Cursors.WaitCursor;
|
|
CreatePDF();
|
|
this.Cursor = Cursors.Default;
|
|
}
|
|
}
|
|
private bool _Initializing = false;
|
|
|
|
private void btnPdfLocation_Click(object sender, EventArgs e)
|
|
{
|
|
DlgBrowseFolder.SelectedPath = PDFPath;
|
|
DialogResult drslt = DlgBrowseFolder.ShowDialog();
|
|
if (drslt == DialogResult.OK)
|
|
{
|
|
txbPDFLocation.Text = DlgBrowseFolder.SelectedPath;
|
|
}
|
|
}
|
|
|
|
private void rbFormatDefault_Click(object sender, EventArgs e)
|
|
{
|
|
SetCustomControls(false);
|
|
// Make Custom controls invisible
|
|
ppGpbxUserSpecCB.Visible = false;
|
|
}
|
|
|
|
private void SetCustomControls(bool enabled)
|
|
{
|
|
ppCmbxChgBarPos.Enabled = enabled;
|
|
ppCmbxChgBarTxtType.Enabled = enabled;
|
|
ppTxbxChangeBarUserMsgOne.Enabled = enabled;
|
|
ppTxbxChangeBarUserMsgTwo.Enabled = enabled;
|
|
}
|
|
|
|
private void rbCustom_Click(object sender, EventArgs e)
|
|
{
|
|
SetCustomControls(true);
|
|
// Make Custom controls visible
|
|
ppGpbxUserSpecCB.Visible = true;
|
|
}
|
|
|
|
private void rbFormatDefault_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
SetCustomControls(false);
|
|
// Make Custom controls invisible
|
|
ppGpbxUserSpecCB.Visible = false;
|
|
}
|
|
|
|
private void ppCmbxChgBarTxtType_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
if (_Initializing) return;
|
|
ppGpbxUserSpecTxt.Enabled = ppCmbxChgBarTxtType.SelectedIndex == (int)PrintChangeBarText.UserDef;
|
|
}
|
|
private void txbRevDate_Enter(object sender, EventArgs e)
|
|
{
|
|
txbDate = txbRevDate;
|
|
grpDateSelector.Text = "Select Revision Date";
|
|
grpDateSelector.Visible = calDateSelector.Visible = true;
|
|
|
|
}
|
|
|
|
private void txbRevDate_Leave(object sender, EventArgs e)
|
|
{
|
|
if (_Initializing) return;
|
|
txbDate = null;
|
|
grpDateSelector.Visible = calDateSelector.Visible = false;
|
|
// save the RevDate to the procedure's config.
|
|
ProcedureConfig pc = MyProcedure.MyConfig as ProcedureConfig;
|
|
if (pc == null) return;
|
|
pc.Print_RevDate = txbRevDate.Text;
|
|
using (Item itm = Item.Get(MyProcedure.ItemID))
|
|
{
|
|
itm.MyContent.Config = MyProcedure.MyConfig.ToString();
|
|
itm.Save();
|
|
}
|
|
|
|
}
|
|
|
|
private void txbReviewDate_Leave(object sender, EventArgs e)
|
|
{
|
|
if (_Initializing) return;
|
|
txbDate = null;
|
|
grpDateSelector.Visible = calDateSelector.Visible = false;
|
|
// save the ReviewDate to the procedure's config.
|
|
ProcedureConfig pc = MyProcedure.MyConfig as ProcedureConfig;
|
|
if (pc == null) return;
|
|
pc.Print_ReviewDate = txbReviewDate.Text;
|
|
using (Item itm = Item.Get(MyProcedure.ItemID))
|
|
{
|
|
itm.MyContent.Config = MyProcedure.MyConfig.ToString();
|
|
itm.Save();
|
|
// need to reset config to !dirty?
|
|
}
|
|
|
|
}
|
|
private void txbReviewDate_Enter(object sender, EventArgs e)
|
|
{
|
|
txbDate = txbReviewDate;
|
|
grpDateSelector.Text = "Select Review Date";
|
|
grpDateSelector.Visible = calDateSelector.Visible = true;
|
|
}
|
|
|
|
private TextBox txbDate = null;
|
|
private void calDateSelector_DateSelected(object sender, DateRangeEventArgs e)
|
|
{
|
|
if (txbDate != null)
|
|
txbDate.Text = e.Start.ToShortDateString();
|
|
}
|
|
|
|
private void txbRevNum_Leave(object sender, EventArgs e)
|
|
{
|
|
if (_Initializing) return;
|
|
// save the RevNum to the procedure's config.
|
|
ProcedureConfig pc = MyProcedure.MyConfig as ProcedureConfig;
|
|
if (pc == null) return;
|
|
pc.Print_Rev = txbRevNum.Text;
|
|
using (Item itm = Item.Get(MyProcedure.ItemID))
|
|
{
|
|
itm.MyContent.Config = MyProcedure.MyConfig.ToString();
|
|
itm.Save();
|
|
}
|
|
}
|
|
//private void cbxDebug_CheckedChanged(object sender, EventArgs e)
|
|
//{
|
|
// cbxCmpPRMSpfd.Visible = cbxDebug.Checked;
|
|
//}
|
|
}
|
|
} |