using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using Volian.Print.Library; using VEPROMS.CSLA.Library; namespace VEPROMS { public partial class frmPDFStatusForm : Form { private string _PDFPath; public string PDFPath { get { return _PDFPath; } set { _PDFPath = value; } } private PromsPrinter _MyPromsPrinter; public PromsPrinter MyPromsPrinter { get { return _MyPromsPrinter; } set { _MyPromsPrinter = value; } } private bool _OpenPDF; public bool OpenPDF { get { return _OpenPDF; } set { _OpenPDF = value; } } public frmPDFStatusForm(ItemInfo myItem, string rev, string revDate, string watermark, bool debugOutput, bool openPDF, bool overWrite, string pdfPath, ChangeBarDefinition cbd,string pdfFile) { OpenPDF = openPDF; InitializeComponent(); MyPromsPrinter = new PromsPrinter(myItem, rev, revDate, watermark, debugOutput, pdfPath + @"\\Compare", false, overWrite, cbd, pdfFile);//openPDF); PDFPath = pdfPath; this.Text = "Creating PDF of " + myItem.DisplayNumber; } void pp_StatusChanged(object sender, PromsPrintStatusArgs args) { if (args.Type == PromsPrinterStatusType.ProgressSetup) pb.Maximum = args.Progress; else if (args.Type == PromsPrinterStatusType.Progress) { pb.Value = args.Progress; if (args.Progress == pb.Maximum) pb.Text = args.MyStatus; else pb.Text = string.Format("Processing {0} ({1} of {2})", args.MyStatus, args.Progress + 1, pb.Maximum); } MyStatus = args.MyStatus; } public string MyStatus { get { return lblStatus.Text; } set { lblStatus.Text = value; Application.DoEvents(); } } private void frmPDFStatusForm_Load(object sender, EventArgs e) { tmrRun.Enabled = true; } private string _PdfFile; private void tmrRun_Tick(object sender, EventArgs e) { tmrRun.Enabled = false; MyPromsPrinter.StatusChanged += new PromsPrinterStatusEvent(pp_StatusChanged); DateTime tStart = DateTime.Now; _PdfFile = MyPromsPrinter.Print(PDFPath); if (_PdfFile == null) { this.Close(); return; } DateTime tEnd = DateTime.Now; MyStatus = _PdfFile + " created."; MyStatus = string.Format("{0} created in {1:0.} milliseconds", _PdfFile, (TimeSpan.FromTicks(tEnd.Ticks - tStart.Ticks).TotalMilliseconds)); if (OpenPDF) { System.Diagnostics.Process.Start(_PdfFile); this.Close(); return; } btnOpenFolder.Visible = btnOpenPDF.Visible = true; } private void btnOpenPDF_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start(_PdfFile); this.Close(); } private void btnOpenFolder_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start("Explorer", "/select," + _PdfFile); this.Close(); } } }