375 lines
11 KiB
C#
375 lines
11 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
|
|
{
|
|
private DocVersionConfig _DocVersionConfig;
|
|
//private string _RevNum;
|
|
|
|
public string RevNum
|
|
{
|
|
get { return txbRevNum.Text; }
|
|
set { txbRevNum.Text = value; }
|
|
}
|
|
//private string ProcNum;
|
|
|
|
public string ProcNum
|
|
{
|
|
get { return MyProcedure.DisplayNumber; }
|
|
}
|
|
//private string _PDFPath;
|
|
|
|
public string PDFPath
|
|
{
|
|
get { return txbPDFLocation.Text; }
|
|
set { txbPDFLocation.Text = value; }
|
|
}
|
|
|
|
//private DateTime _RevDate = DateTime.Today;
|
|
|
|
public DateTime RevDate
|
|
{
|
|
get { return dtRevDate.Value; }
|
|
set { dtRevDate.Value = value; }
|
|
}
|
|
|
|
//private DateTime _ReviewDate = DateTime.Today;
|
|
|
|
public DateTime ReviewDate
|
|
{
|
|
get { return dtReviewDate.Value; }
|
|
set { dtReviewDate.Value = value; }
|
|
}
|
|
|
|
|
|
public DlgPrintProcedure(ProcedureInfo pi)
|
|
{
|
|
InitializeComponent();
|
|
_DocVersionConfig = (pi.ActiveParent as DocVersionInfo).DocVersionConfig; //docVersionConfig;
|
|
_MyProcedure = pi;
|
|
|
|
GetDocVersionSettings();
|
|
|
|
// set to a default PDF location if non was specified in the DocVersions property
|
|
if (txbPDFLocation.Text == null || txbPDFLocation.Text.Length == 0 || !Directory.Exists(txbPDFLocation.Text))
|
|
txbPDFLocation.Text = VlnSettings.TemporaryFolder;
|
|
}
|
|
|
|
private void GetDocVersionSettings()
|
|
{
|
|
_DocVersionConfig.SaveChangesToDocVersionConfig = false;
|
|
_DocVersionConfig.ParentLookup = false;
|
|
// PDF Location
|
|
PDFPath = _DocVersionConfig.Print_PDFLocation;
|
|
//txbPDFLocation.Text = PDFPath;
|
|
// 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 (_DocVersionConfig.Print_DisableDuplex)
|
|
btnDuplxOff.PerformClick();
|
|
else
|
|
btnDuplxOn.PerformClick();
|
|
// default to print Debug info if App.config is set to debug mode
|
|
cbxDebug.Checked = VlnSettings.DebugMode;
|
|
}
|
|
|
|
|
|
private void DlgPrintProcedure_Load(object sender, EventArgs e)
|
|
{
|
|
this.Text = "Create PDF for " + ProcNum;
|
|
//dtRevDate.Value = _RevDate;
|
|
//dtReviewDate.Value = _ReviewDate;
|
|
//tbxRevNum.Text = _RevNum;
|
|
// 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;
|
|
tbxPDFName.Text = string.Format("{0}.pdf", ProcNum);
|
|
//txbRevNum.Text = _RevNum;
|
|
//dtRevDate.Value = _RevDate;
|
|
//dtReviewDate.Value = _ReviewDate;
|
|
// Advanced tab
|
|
//cbxPDFloc.Text = _PDFPath;
|
|
RevNum = "0"; // need to get from procedure config?
|
|
RevDate = DateTime.Today; // need to get from procedure config?
|
|
ReviewDate = DateTime.Today; // need to get from procedure config?
|
|
|
|
cbxWaterMark.DataSource = EnumDetail<PrintWatermark>.Details();
|
|
cbxWaterMark.DisplayMember = "Description";
|
|
cbxWaterMark.ValueMember = "EValue";
|
|
PrintWatermark pw = MyProcedure.ProcedureConfig.Print_Watermark;
|
|
cbxWaterMark.Text = pw.ToString();
|
|
|
|
ppCmbxChangeBarType.DataSource = EnumDetail<PrintChangeBar>.Details();
|
|
ppCmbxChangeBarType.DisplayMember = "Description";
|
|
ppCmbxChangeBarType.ValueMember = "EValue";
|
|
ppCmbxChangeBarType.Text = MyProcedure.MyDocVersion.DocVersionConfig.Print_ChangeBar.ToString();
|
|
|
|
ppCmbxChgBarPos.DataSource = EnumDetail<PrintChangeBarLoc>.Details();
|
|
ppCmbxChgBarPos.DisplayMember = "Description";
|
|
ppCmbxChgBarPos.ValueMember = "EValue";
|
|
ppCmbxChgBarPos.Text = MyProcedure.MyDocVersion.DocVersionConfig.Print_ChangeBarLoc.ToString();
|
|
|
|
ppCmbxChgBarTxtType.DataSource = EnumDetail<PrintChangeBarText>.Details();
|
|
ppCmbxChgBarTxtType.DisplayMember = "Description";
|
|
ppCmbxChgBarTxtType.ValueMember = "EValue";
|
|
ppCmbxChgBarTxtType.Text = MyProcedure.MyDocVersion.DocVersionConfig.Print_ChangeBarText.ToString();
|
|
|
|
ppTxbxChangeBarUserMsgOne.Text = MyProcedure.MyDocVersion.DocVersionConfig.Print_UserCBMess1;
|
|
|
|
ppTxbxChangeBarUserMsgTwo.Text = MyProcedure.MyDocVersion.DocVersionConfig.Print_UserCBMess2;
|
|
|
|
}
|
|
|
|
private void btnCancel_Click(object sender, EventArgs e)
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
//private void btnOpenFolder_Click(object sender, EventArgs e)
|
|
//{
|
|
// saveFileDialog1.InitialDirectory = _PDFPath;//@"C:\16bit\PromsDat\VEHLP";
|
|
// saveFileDialog1.FileName = string.Format(@"{0}\{1}.pdf", _PDFPath, _ProcNum);
|
|
// DialogResult drslt = saveFileDialog1.ShowDialog();
|
|
// if (drslt == DialogResult.OK)
|
|
// {
|
|
// cbxPDF.Text = saveFileDialog1.FileName; // contails full path
|
|
// UpdateDropDown();
|
|
// }
|
|
//}
|
|
|
|
//private void btnAutoDuplxOn_Click(object sender, EventArgs e)
|
|
//{
|
|
// if (!btnAutoDuplxOn.Checked)
|
|
// {
|
|
// btnAutoDuplxOn.Checked = true;
|
|
// btnAutoDuplxOff.Checked = false;
|
|
// }
|
|
//}
|
|
|
|
//private void btnAutoDuplxOff_Click(object sender, EventArgs e)
|
|
//{
|
|
// if (!btnAutoDuplxOff.Checked)
|
|
// {
|
|
// btnAutoDuplxOff.Checked = true;
|
|
// btnAutoDuplxOn.Checked = false;
|
|
// }
|
|
//}
|
|
|
|
private void buttonX9_Click(object sender, EventArgs e)
|
|
{
|
|
DlgBrowseFolder.SelectedPath = PDFPath;
|
|
DialogResult drslt = DlgBrowseFolder.ShowDialog();
|
|
if (drslt == DialogResult.OK)
|
|
{
|
|
//cbxPDFloc.Text = DlgBrowseFolder.SelectedPath;
|
|
txbPDFLocation.Text = DlgBrowseFolder.SelectedPath;
|
|
//lblCurPDFLoc.Text = cbxPDFloc.Text;
|
|
//UpdateDropDown2();
|
|
}
|
|
}
|
|
//private void UpdateDropDown2()
|
|
//{
|
|
// if (!cbxPDFloc.Text.Equals(string.Empty))
|
|
// {
|
|
// string tstr = cbxPDFloc.Text;
|
|
// // if its already exists in the list - remove it
|
|
// if (cbxPDFloc.Items.Contains(tstr))
|
|
// cbxPDFloc.Items.Remove(tstr);
|
|
// // Add the new criteria to the top of the list
|
|
// cbxPDFloc.Items.Insert(0, tstr);
|
|
// // set the text to the new criteria
|
|
// cbxPDFloc.Text = tstr;
|
|
// // If there are more than 10 remove the last one
|
|
// if (cbxPDFloc.Items.Count > 10)
|
|
// cbxPDFloc.Items.RemoveAt(10);
|
|
// }
|
|
//}
|
|
|
|
private void btnAvChgBarOn_Click(object sender, EventArgs e)
|
|
{
|
|
if (!btnChgBarOn.Checked)
|
|
{
|
|
btnChgBarOn.Checked = true;
|
|
btnChgBarOff.Checked = false;
|
|
tbChangeBars.Visible = true;
|
|
}
|
|
}
|
|
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;
|
|
|
|
}
|
|
|
|
private ProcedureInfo _MyProcedure;
|
|
|
|
public ProcedureInfo MyProcedure
|
|
{
|
|
get { return _MyProcedure; }
|
|
set { _MyProcedure = value; }
|
|
}
|
|
|
|
private void CreatePDF()
|
|
{
|
|
Volian.Print.Library.Rtf2Pdf.PdfDebug = true;
|
|
//tbTimings.Text = "";
|
|
//Cursor saveCursor = this.Cursor;
|
|
//this.Cursor = Cursors.WaitCursor;
|
|
//ProcedureConfig.PrintWatermark pw = MyProcedure.ProcedureConfig.Print_Watermark;
|
|
PrintWatermark pw = (PrintWatermark)cbxWaterMark.SelectedValue;
|
|
frmPDFStatusForm frmStatus = new frmPDFStatusForm(MyProcedure, RevNum, RevDate.ToShortDateString(), pw.ToString(), cbxDebug.Checked, VlnSettings.OldPDFFolder, cbxOpenAfterCreate2.Checked, PDFPath);
|
|
frmStatus.Show();
|
|
this.Close();
|
|
|
|
//PromsPrinter pp = new PromsPrinter(MyProcedure, RevNum, RevDate.ToShortDateString(), pw.ToString(), true, @"C:\TEMP\16Bit", cbxOpenAfterCreate2.Checked);
|
|
////pp.StatusChanged += new PromsPrinterStatusEvent(pp_StatusChanged);
|
|
//pp.StatusChanged += new PromsPrinterStatusEvent(pp_StatusChanged);
|
|
////_ElapsedTime = new Dictionary<PromsPrinterStatusType, TimeSpan>();
|
|
//DateTime tStart = DateTime.Now;
|
|
//string pdfFile = pp.Print(PDFPath);
|
|
//DateTime tEnd = DateTime.Now;
|
|
////_ElapsedTime.Add(PromsPrinterStatusType.Total, DateTime.Now - tStart);
|
|
//MyStatus = pdfFile + " created.";
|
|
////this.Cursor = saveCursor;
|
|
////ShowElapsedTime();
|
|
//MyStatus = string.Format("{0} created in {1:0.} milliseconds", pdfFile, (TimeSpan.FromTicks(tEnd.Ticks - tStart.Ticks).TotalMilliseconds));
|
|
}
|
|
|
|
//void pp_StatusChanged(object sender, PromsPrintStatusArgs args)
|
|
//{
|
|
// MyStatus = args.MyStatus;
|
|
//}
|
|
|
|
private void btnCreatePDF_Click(object sender, EventArgs e)
|
|
{
|
|
CreatePDF();
|
|
}
|
|
|
|
|
|
//private void txbRevNum_TextChanged(object sender, EventArgs e)
|
|
//{
|
|
// RevNum = txbRevNum.Text;
|
|
//}
|
|
|
|
//private void dtRevDate_TextChanged(object sender, EventArgs e)
|
|
//{
|
|
// RevDate = dtRevDate.Value;
|
|
//}
|
|
|
|
//private void dtReviewDate_Click(object sender, EventArgs e)
|
|
//{
|
|
// ReviewDate = dtReviewDate.Value;
|
|
//}
|
|
|
|
//public string MyStatus
|
|
//{
|
|
// get { return lblStatus.Text;}
|
|
// set { lblStatus.Text = value; Application.DoEvents(); }
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
} |