コード例 #1
0
        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;
        }
コード例 #2
0
		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();
			}
		}
コード例 #3
0
		public void PrepareBasicOverviewSummaryEmail(string fileName, BasicOverviewSummaryControl basicOverviewSummary)
		{
			PreparePresentation(fileName, presentation => AppendBasicOverviewSummary(basicOverviewSummary, presentation));
		}
コード例 #4
0
		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;
		}