/// <summary>Writes PDF for specified auto-doc commands.</summary> /// <param name="section">The writer to write to.</param> /// <param name="tags">The autodoc tags.</param> /// <param name="workingDirectory">The working directory.</param> private void TagsToMigraDoc(Section section, List<AutoDocumentation.ITag> tags, string workingDirectory) { foreach (AutoDocumentation.ITag tag in tags) { if (tag is AutoDocumentation.Heading) { AutoDocumentation.Heading heading = tag as AutoDocumentation.Heading; if (heading.headingLevel > 0 && heading.headingLevel <= 6) { if (heading.headingLevel == 1) section.AddPageBreak(); Paragraph para = section.AddParagraph(heading.text, "Heading" + heading.headingLevel); if (heading.headingLevel == 1) para.Format.OutlineLevel = OutlineLevel.Level1; else if (heading.headingLevel == 2) para.Format.OutlineLevel = OutlineLevel.Level2; else if (heading.headingLevel == 3) para.Format.OutlineLevel = OutlineLevel.Level3; else if (heading.headingLevel == 4) para.Format.OutlineLevel = OutlineLevel.Level4; else if (heading.headingLevel == 5) para.Format.OutlineLevel = OutlineLevel.Level5; else if (heading.headingLevel == 6) para.Format.OutlineLevel = OutlineLevel.Level6; } } else if (tag is AutoDocumentation.Paragraph) { AddFormattedParagraphToSection(section, tag as AutoDocumentation.Paragraph); } else if (tag is AutoDocumentation.GraphAndTable) { CreateGraphPDF(section, tag as AutoDocumentation.GraphAndTable, workingDirectory); } else if (tag is AutoDocumentation.Table) { CreateTable(section, tag as AutoDocumentation.Table, workingDirectory); } else if (tag is Graph) { GraphPresenter graphPresenter = new GraphPresenter(); GraphView graphView = new GraphView(); graphView.BackColor = System.Drawing.Color.White; graphView.FontSize = 12; graphView.Width = 500; graphView.Height = 500; graphPresenter.Attach(tag, graphView, ExplorerPresenter); string PNGFileName = graphPresenter.ExportToPDF(workingDirectory); section.AddImage(PNGFileName); string caption = (tag as Graph).Caption; if (caption != null) section.AddParagraph(caption); graphPresenter.Detach(); } else if (tag is Map) { Form f = new Form(); f.Width = 700; // 1100; f.Height = 500; // 600; MapPresenter mapPresenter = new MapPresenter(); MapView mapView = new MapView(); mapView.BackColor = System.Drawing.Color.White; mapView.Parent = f; (mapView as Control).Dock = DockStyle.Fill; f.Show(); mapPresenter.Attach(tag, mapView, ExplorerPresenter); Application.DoEvents(); Thread.Sleep(2000); Application.DoEvents(); string PNGFileName = mapPresenter.ExportToPDF(workingDirectory); section.AddImage(PNGFileName); mapPresenter.Detach(); f.Close(); } else if (tag is AutoDocumentation.Image) { AutoDocumentation.Image imageTag = tag as AutoDocumentation.Image; if (imageTag.image.Width > 700) imageTag.image = ImageUtilities.ResizeImage(imageTag.image, 700, 500); string PNGFileName = Path.Combine(workingDirectory, imageTag.name); imageTag.image.Save(PNGFileName, System.Drawing.Imaging.ImageFormat.Png); section.AddImage(PNGFileName); } } }
/// <summary> /// Invoked when the user wants to preview the map as it will appear /// in the autodocs. /// </summary> /// <param name="sender">Sender object.</param> /// <param name="e">Event arguments.</param> private void OnPreviewDocs(object sender, EventArgs e) { // Save any changes to the main map so that the preview // map uses the current zoom/coordinates as the main map. this.view.StoreSettings(); var newView = new MapView(null); var newPresenter = new MapPresenter(); var window = new WindowView((ViewBase.MasterView as MainView), newView, "Map Documentation Preview"); window.Width = 800; window.Height = 800; window.Resizable = false; newPresenter.Attach(map, newView, explorerPresenter); newView.HideZoomControls(); // If the user moves/zooms the map in the popup window, // changes will be saved to the map object when the presenter // is detached, and will be propagated automatically to the // master map via the OnModelChanged method below. window.Closed += (_, __) => newPresenter.Detach(); window.Visible = true; }
DateTime startTime; // TODO: remove this? #endregion #region Constructors public GamePresenter(DateTime startTime, int side) : base() { this.startTime = startTime; this.Map = new MapPresenter(); this.UpdateTime(0); this.UpdateSide(side); MyDate.Inctance.Hour = startTime.Hour; }
public GamePresenter(DateTime startTime, int side, string bg) : base() { Background = bg; this.startTime = startTime; this.Map = new MapPresenter(); this.UpdateTime(0); this.UpdateSide(side); MyDate.Inctance.Hour = startTime.Hour; }
/// <summary> /// Обновление карты в случае загрузки новой карты /// </summary> /// <param name="newMap"></param> public void UpdateMap(GameMap newMap) { Map.Update(newMap); // This is to redraw the map at once. // Crap, I don't know how to do it nicely var m = Map; Map = null; Map = m; }
/// <summary>Writes PDF for specified auto-doc commands.</summary> /// <param name="section">The writer to write to.</param> /// <param name="tags">The autodoc tags.</param> /// <param name="workingDirectory">The working directory.</param> private void TagsToMigraDoc(Section section, List<AutoDocumentation.ITag> tags, string workingDirectory) { foreach (AutoDocumentation.ITag tag in tags) { if (tag is AutoDocumentation.Heading) { AutoDocumentation.Heading heading = tag as AutoDocumentation.Heading; if (heading.headingLevel > 0 && heading.headingLevel <= 6) { if (heading.headingLevel == 1) section.AddPageBreak(); Paragraph para = section.AddParagraph(heading.text, "Heading" + heading.headingLevel); if (heading.headingLevel == 1) para.Format.OutlineLevel = OutlineLevel.Level1; else if (heading.headingLevel == 2) para.Format.OutlineLevel = OutlineLevel.Level2; else if (heading.headingLevel == 3) para.Format.OutlineLevel = OutlineLevel.Level3; else if (heading.headingLevel == 4) para.Format.OutlineLevel = OutlineLevel.Level4; else if (heading.headingLevel == 5) para.Format.OutlineLevel = OutlineLevel.Level5; else if (heading.headingLevel == 6) para.Format.OutlineLevel = OutlineLevel.Level6; } } else if (tag is AutoDocumentation.Paragraph) { AddFormattedParagraphToSection(section, tag as AutoDocumentation.Paragraph); } else if (tag is AutoDocumentation.GraphAndTable) { CreateGraphPDF(section, tag as AutoDocumentation.GraphAndTable, workingDirectory); } else if (tag is AutoDocumentation.Table) { CreateTable(section, tag as AutoDocumentation.Table, workingDirectory); } else if (tag is Graph) { GraphPresenter graphPresenter = new GraphPresenter(); GraphView graphView = new GraphView(null); graphView.BackColor = OxyPlot.OxyColors.White; graphView.FontSize = 12; graphView.Width = 500; graphView.Height = 500; graphPresenter.Attach(tag, graphView, ExplorerPresenter); string PNGFileName = graphPresenter.ExportToPDF(workingDirectory); section.AddImage(PNGFileName); string caption = (tag as Graph).Caption; if (caption != null) section.AddParagraph(caption); graphPresenter.Detach(); graphView.MainWidget.Destroy(); } else if (tag is Map && (tag as Map).GetCoordinates().Count > 0) { MapPresenter mapPresenter = new MapPresenter(); MapView mapView = new MapView(null); mapPresenter.Attach(tag, mapView, ExplorerPresenter); string PNGFileName = mapPresenter.ExportToPDF(workingDirectory); if (!String.IsNullOrEmpty(PNGFileName)) section.AddImage(PNGFileName); mapPresenter.Detach(); mapView.MainWidget.Destroy(); } else if (tag is AutoDocumentation.Image) { AutoDocumentation.Image imageTag = tag as AutoDocumentation.Image; if (imageTag.image.Width > 700) imageTag.image = ImageUtilities.ResizeImage(imageTag.image, 700, 500); string PNGFileName = Path.Combine(workingDirectory, imageTag.name); imageTag.image.Save(PNGFileName, System.Drawing.Imaging.ImageFormat.Png); section.AddImage(PNGFileName); } } }