internal PrintPreviewLayout(IServiceProvider serviceProvider, WorkflowPrintDocument printDoc) : base(serviceProvider) { this.pageLayoutInfo = new ArrayList(); this.headerFooterMargins = new Margins(0, 0, 0, 0); this.pageSeparator = DefaultPageSeparator; this.pageMargins = DefaultPageMargins; this.rowColumns = new Size(1, 1); this.scaling = 1f; this.pageSize = Size.Empty; this.previewTime = DateTime.Now; this.printDocument = printDoc; }
public WorkflowPageSetupDialog(IServiceProvider serviceProvider) { if (serviceProvider == null) throw new ArgumentNullException("serviceProvider"); this.serviceProvider = serviceProvider; WorkflowView workflowView = this.serviceProvider.GetService(typeof(WorkflowView)) as WorkflowView; if (workflowView == null) throw new InvalidOperationException(SR.GetString(SR.General_MissingService, typeof(WorkflowView).FullName)); if (!(workflowView.PrintDocument is WorkflowPrintDocument)) throw new InvalidOperationException(DR.GetString(DR.WorkflowPrintDocumentNotFound, typeof(WorkflowPrintDocument).Name)); try { Cursor.Current = Cursors.WaitCursor; InitializeComponent(); this.printDocument = workflowView.PrintDocument as WorkflowPrintDocument; //deserialize state of the dialog from the page setup data scaling: //set the values scaling controls this.adjustToScaleInput.Value = this.printDocument.PageSetupData.ScaleFactor; this.fitToPagesWideInput.Value = this.printDocument.PageSetupData.PagesWide; this.fitToPagesTallInput.Value = this.printDocument.PageSetupData.PagesTall; //select the right mode if (this.printDocument.PageSetupData.AdjustToScaleFactor) this.adjustToRadioButton.Checked = true; else this.fitToRadioButton.Checked = true; //set the orientation if (this.printDocument.PageSetupData.Landscape) this.landscapeRadioButton.Checked = true; else this.portraitRadioButton.Checked = true; //margins SetMarginsToUI(this.printDocument.PageSetupData.Margins); //centering this.CenterHorizontallyCheckBox.Checked = this.printDocument.PageSetupData.CenterHorizontally; this.CenterVerticallyCheckBox.Checked = this.printDocument.PageSetupData.CenterVertically; //Initialize the paper InitializePaperInformation(); //read standard header/footer formats this.headerFooterNone = DR.GetString(DR.HeaderFooterStringNone); //"(none)" this.headerFooterCustom = DR.GetString(DR.HeaderFooterStringCustom); //"(none)" this.headerFooterTemplates = new string[] { DR.GetString(DR.HeaderFooterFormat1), //"Page %Page%",// DR.GetString(DR.HeaderFooterFormat2), //"Page %Page% of %Pages%",// DR.GetString(DR.HeaderFooterFormat3), //"%Path%%File, Page %Page% of %Pages%", // DR.GetString(DR.HeaderFooterFormat4), //"%Path%%File, Page %Page%",// DR.GetString(DR.HeaderFooterFormat5), //"%File, %Date% %Time%, Page %Page%",// DR.GetString(DR.HeaderFooterFormat6), //"%File, Page %Page% of %Pages%",// DR.GetString(DR.HeaderFooterFormat7), //"%File, Page %Page%",// DR.GetString(DR.HeaderFooterFormat8), //"Prepated by %User% %Date%",// DR.GetString(DR.HeaderFooterFormat9), //"%User%, Page %Page%, %Date%"// }; //header inputs this.headerTextComboBox.Items.Add(this.headerFooterNone); this.headerTextComboBox.Items.AddRange(this.headerFooterTemplates); this.headerTextComboBox.Items.Add(this.headerFooterCustom); this.headerTextComboBox.SelectedIndex = 0; string userHeader = this.printDocument.PageSetupData.HeaderTemplate; this.headerCustom = this.printDocument.PageSetupData.HeaderCustom; if (userHeader.Length == 0) { this.headerTextComboBox.SelectedIndex = 0; //none } else { int userHeaderIndex = this.headerTextComboBox.Items.IndexOf(userHeader); if (-1 == userHeaderIndex || this.headerCustom) { //this is an unknown template, put it into custom field this.headerTextComboBox.SelectedIndex = this.headerTextComboBox.Items.IndexOf(this.headerFooterCustom); this.customHeaderText.Text = userHeader; } else { this.headerTextComboBox.SelectedIndex = userHeaderIndex; } } this.headerAlignmentComboBox.Items.AddRange(new object[] { HorizontalAlignment.Left, HorizontalAlignment.Center, HorizontalAlignment.Right }); if (this.headerAlignmentComboBox.Items.IndexOf(this.printDocument.PageSetupData.HeaderAlignment) != -1) this.headerAlignmentComboBox.SelectedItem = this.printDocument.PageSetupData.HeaderAlignment; else this.headerAlignmentComboBox.SelectedItem = HorizontalAlignment.Center; this.headerMarginInput.Value = PrinterUnitToUIUnit(this.printDocument.PageSetupData.HeaderMargin); //footer inputs this.footerTextComboBox.Items.Add(this.headerFooterNone); this.footerTextComboBox.SelectedIndex = 0; this.footerTextComboBox.Items.AddRange(this.headerFooterTemplates); this.footerTextComboBox.Items.Add(this.headerFooterCustom); string userFooter = this.printDocument.PageSetupData.FooterTemplate; this.footerCustom = this.printDocument.PageSetupData.FooterCustom; if (userFooter.Length == 0) { this.footerTextComboBox.SelectedIndex = 0; //none } else { int userFooterIndex = this.footerTextComboBox.Items.IndexOf(userFooter); if (-1 == userFooterIndex || this.footerCustom) { //this is an unknown template, put it into custom field this.footerTextComboBox.SelectedIndex = this.footerTextComboBox.Items.IndexOf(this.headerFooterCustom); this.customFooterText.Text = userFooter; } else { this.footerTextComboBox.SelectedIndex = userFooterIndex; } } this.footerAlignmentComboBox.Items.AddRange(new object[] { HorizontalAlignment.Left, HorizontalAlignment.Center, HorizontalAlignment.Right }); if (this.footerAlignmentComboBox.Items.IndexOf(this.printDocument.PageSetupData.FooterAlignment) != -1) this.footerAlignmentComboBox.SelectedItem = this.printDocument.PageSetupData.FooterAlignment; else this.footerAlignmentComboBox.SelectedItem = HorizontalAlignment.Center; this.footerMarginInput.Value = PrinterUnitToUIUnit(this.printDocument.PageSetupData.FooterMargin); } finally { Cursor.Current = Cursors.Default; } }
internal PrintPreviewLayout(IServiceProvider serviceProvider, WorkflowPrintDocument printDoc) : base(serviceProvider) { this.printDocument = printDoc; }