public void UpdateOutput(bool quickLoad) { LocalSchedule = BusinessObjects.Instance.ScheduleManager.GetLocalSchedule(); Controller.Instance.BasicOverviewDigitalLegend.Image = Controller.Instance.BasicOverviewDigitalLegend.Enabled && !LocalSchedule.ViewSettings.BasicOverviewViewSettings.DigitalLegend.Enabled ? Resources.DigitalDisabled : Resources.Digital; Controller.Instance.Supertip.SetSuperTooltip(Controller.Instance.BasicOverviewDigitalLegend, new SuperTooltipInfo("Digital Products", "", Controller.Instance.BasicOverviewDigitalLegend.Enabled && LocalSchedule.ViewSettings.BasicOverviewViewSettings.DigitalLegend.Enabled ? "Digital Products are Enabled for this slide" : "Digital Products are Disabled for this slide" , null, null, eTooltipColor.Gray)); InitThemeSelector(); if (!quickLoad) { labelControlScheduleInfo.Text = String.Format("{0} <color=gray><i>({1} {2})</i></color>", LocalSchedule.BusinessName, LocalSchedule.FlightDates, String.Format("{0} {1}s", LocalSchedule.TotalWeeks, "week")); Application.DoEvents(); xtraTabControlPublications.TabPages.Clear(); _tabPages.RemoveAll(x => !LocalSchedule.PrintProducts.Select(y => y.UniqueID).Contains(x.PrintProduct.UniqueID)); foreach (var publication in LocalSchedule.PrintProducts) { if (string.IsNullOrEmpty(publication.Name)) { continue; } var publicationTab = _tabPages.FirstOrDefault(x => x.PrintProduct.UniqueID.Equals(publication.UniqueID)); if (publicationTab == null) { publicationTab = new PublicationBasicOverviewControl(this); _tabPages.Add(publicationTab); Application.DoEvents(); } publicationTab.PrintProduct = publication; publicationTab.PageEnabled = publication.Inserts.Count > 0; publicationTab.LoadPublication(); Application.DoEvents(); } _tabPages.Sort((x, y) => x.PrintProduct.Index.CompareTo(y.PrintProduct.Index)); xtraTabControlPublications.TabPages.AddRange(_tabPages.ToArray()); var summaryControl = new BasicOverviewSummaryControl(this); summaryControl.UpdateControls(_tabPages.Where(tp => tp.PageEnabled).Select(tp => tp.SummaryControl)); AssignCloseActiveEditorsonOutSideClick(summaryControl); xtraTabControlPublications.TabPages.Add(summaryControl); Application.DoEvents(); xtraTabControlPublications.ResumeLayout(); } else { foreach (var publication in LocalSchedule.PrintProducts) { if (string.IsNullOrEmpty(publication.Name)) { continue; } var publicationTab = _tabPages.FirstOrDefault(x => x.PrintProduct.UniqueID.Equals(publication.UniqueID)); if (publicationTab != null) { publicationTab.PrintProduct = publication; publicationTab.PageEnabled = publication.Inserts.Count > 0; } Application.DoEvents(); } } SettingsNotSaved = false; }
public void AppendBasicOverviewSummary(BasicOverviewSummaryControl basicOverviewSummary, Presentation destinationPresentation = null) { try { var thread = new Thread(delegate() { MessageFilter.Register(); var slidesCount = basicOverviewSummary.OutputReplacementsLists.Count; for (var k = 0; k < slidesCount; k++) { var presentationTemplatePath = MasterWizardManager.Instance.SelectedWizard.GetBasicOverviewSummaryFile(); if (!File.Exists(presentationTemplatePath)) continue; var presentation = PowerPointObject.Presentations.Open(presentationTemplatePath, WithWindow: MsoTriState.msoFalse); foreach (Slide slide in presentation.Slides) { foreach (Shape shape in slide.Shapes) { if (shape.HasTable != MsoTriState.msoTrue) continue; var table = shape.Table; var tableRowsCount = table.Rows.Count; var tableColumnsCount = table.Columns.Count; for (var i = 1; i <= tableRowsCount; i++) { for (var j = 1; j <= tableColumnsCount; j++) { var tableShape = table.Cell(i, j).Shape; if (tableShape.HasTextFrame != MsoTriState.msoTrue) continue; var cellText = tableShape.TextFrame.TextRange.Text.Trim(); if (!basicOverviewSummary.OutputReplacementsLists[k].ContainsKey(cellText)) continue; tableShape.TextFrame.TextRange.Text = basicOverviewSummary.OutputReplacementsLists[k][cellText]; basicOverviewSummary.OutputReplacementsLists[k].Remove(cellText); } } var deletedRows = 0; for (var i = 1; i <= tableRowsCount; i++) { var tableShape = table.Cell(i - deletedRows, 1).Shape; if (tableShape.HasTextFrame != MsoTriState.msoTrue) continue; var cellText = tableShape.TextFrame.TextRange.Text.Trim(); if (!cellText.Equals("DeleteRow")) continue; table.Rows[i - deletedRows].Delete(); deletedRows++; } } } var selectedTheme = basicOverviewSummary.SelectedTheme; if (selectedTheme != null) presentation.ApplyTheme(selectedTheme.GetThemePath()); AppendSlide(presentation, -1, destinationPresentation); presentation.Close(); } }); thread.Start(); while (thread.IsAlive) System.Windows.Forms.Application.DoEvents(); } catch { } finally { MessageFilter.Revoke(); } }
public void PrepareBasicOverviewSummaryEmail(string fileName, BasicOverviewSummaryControl basicOverviewSummary) { PreparePresentation(fileName, presentation => AppendBasicOverviewSummary(basicOverviewSummary, presentation)); }
public void UpdateOutput(bool quickLoad) { LocalSchedule = BusinessObjects.Instance.ScheduleManager.GetLocalSchedule(); Controller.Instance.BasicOverviewDigitalLegend.Image = Controller.Instance.BasicOverviewDigitalLegend.Enabled && !LocalSchedule.ViewSettings.BasicOverviewViewSettings.DigitalLegend.Enabled ? Resources.DigitalDisabled : Resources.Digital; Controller.Instance.Supertip.SetSuperTooltip(Controller.Instance.BasicOverviewDigitalLegend, new SuperTooltipInfo("Digital Products", "", Controller.Instance.BasicOverviewDigitalLegend.Enabled && LocalSchedule.ViewSettings.BasicOverviewViewSettings.DigitalLegend.Enabled ? "Digital Products are Enabled for this slide" : "Digital Products are Disabled for this slide" , null, null, eTooltipColor.Gray)); InitThemeSelector(); if (!quickLoad) { labelControlScheduleInfo.Text = String.Format("{0} <color=gray><i>({1} {2})</i></color>", LocalSchedule.BusinessName, LocalSchedule.FlightDates, String.Format("{0} {1}s", LocalSchedule.TotalWeeks, "week")); Application.DoEvents(); xtraTabControlPublications.TabPages.Clear(); _tabPages.RemoveAll(x => !LocalSchedule.PrintProducts.Select(y => y.UniqueID).Contains(x.PrintProduct.UniqueID)); foreach (var publication in LocalSchedule.PrintProducts) { if (string.IsNullOrEmpty(publication.Name)) continue; var publicationTab = _tabPages.FirstOrDefault(x => x.PrintProduct.UniqueID.Equals(publication.UniqueID)); if (publicationTab == null) { publicationTab = new PublicationBasicOverviewControl(this); _tabPages.Add(publicationTab); Application.DoEvents(); } publicationTab.PrintProduct = publication; publicationTab.PageEnabled = publication.Inserts.Count > 0; publicationTab.LoadPublication(); Application.DoEvents(); } _tabPages.Sort((x, y) => x.PrintProduct.Index.CompareTo(y.PrintProduct.Index)); xtraTabControlPublications.TabPages.AddRange(_tabPages.ToArray()); var summaryControl = new BasicOverviewSummaryControl(this); summaryControl.UpdateControls(_tabPages.Where(tp => tp.PageEnabled).Select(tp => tp.SummaryControl)); AssignCloseActiveEditorsonOutSideClick(summaryControl); xtraTabControlPublications.TabPages.Add(summaryControl); Application.DoEvents(); xtraTabControlPublications.ResumeLayout(); } else { foreach (var publication in LocalSchedule.PrintProducts) { if (string.IsNullOrEmpty(publication.Name)) continue; var publicationTab = _tabPages.FirstOrDefault(x => x.PrintProduct.UniqueID.Equals(publication.UniqueID)); if (publicationTab != null) { publicationTab.PrintProduct = publication; publicationTab.PageEnabled = publication.Inserts.Count > 0; } Application.DoEvents(); } } SettingsNotSaved = false; }