private void _GoTo(IVisio.Pages pages, Models.PageDirection flags, CommandTarget cmdtarget) { if (pages == null) { throw new System.ArgumentNullException(nameof(pages)); } if (pages.Count < 2) { throw new VisioAutomation.Exceptions.VisioOperationException("Only 1 page available. Navigation not possible."); } int cur_index = cmdtarget.ActivePage.Index; const int min_index = 1; int max_index = pages.Count; int new_index = PageCommands.move_in_range(cur_index, min_index, max_index, flags); if (cur_index != new_index) { var doc_pages = cmdtarget.ActiveDocument.Pages; var page = doc_pages[new_index]; var active_window = cmdtarget.Application.ActiveWindow; active_window.Page = page; } }
public void SetPageOrientation(TargetPages targetpages, Models.PageOrientation orientation) { if (orientation != VisioScripting.Models.PageOrientation.Landscape && orientation != VisioScripting.Models.PageOrientation.Portrait) { throw new System.ArgumentOutOfRangeException(nameof(orientation), "must be either Portrait or Landscape"); } targetpages = targetpages.ResolveToPages(this._client); using (var undoscope = this._client.Undo.NewUndoScope(nameof(SetPageOrientation))) { foreach (var page in targetpages.Pages) { var old_orientation = PageCommands._get_page_orientation(page); if (old_orientation == orientation) { // don't need to do anything return; } var old_size = VisioAutomation.Pages.PageHelper.GetSize(page); double new_height = old_size.Width; double new_width = old_size.Height; var writer = new VisioAutomation.ShapeSheet.Writers.SrcWriter(); writer.SetValue(VisioAutomation.ShapeSheet.SrcConstants.PageWidth, new_width); writer.SetValue(VisioAutomation.ShapeSheet.SrcConstants.PageHeight, new_height); writer.SetValue(VisioAutomation.ShapeSheet.SrcConstants.PrintPageOrientation, (int)orientation); writer.Commit(page.PageSheet, CellValueType.Formula); } } }
public VisioScripting.Models.PageOrientation GetOrientation() { this._client.Application.AssertApplicationAvailable(); this._client.Document.AssertDocumentAvailable(); var application = this._client.Application.Get(); var active_page = application.ActivePage; return(PageCommands.GetOrientation(active_page)); }
public void SetOrientation(VisioScripting.Models.PageOrientation orientation) { this._client.Application.AssertApplicationAvailable(); this._client.Document.AssertDocumentAvailable(); var app = this._client.Application.Get(); var application = app; var active_page = application.ActivePage; if (orientation != VisioScripting.Models.PageOrientation.Landscape && orientation != VisioScripting.Models.PageOrientation.Portrait) { throw new System.ArgumentOutOfRangeException(nameof(orientation), "must be either Portrait or Landscape"); } var old_orientation = PageCommands.GetOrientation(active_page); if (old_orientation == orientation) { // don't need to do anything return; } var old_size = this.GetSize(); double new_height = old_size.Width; double new_width = old_size.Height; var writer = new VisioAutomation.ShapeSheet.Writers.SrcWriter(); writer.SetFormula(VisioAutomation.ShapeSheet.SrcConstants.PageWidth, new_width); writer.SetFormula(VisioAutomation.ShapeSheet.SrcConstants.PageHeight, new_height); writer.SetFormula(VisioAutomation.ShapeSheet.SrcConstants.PrintPageOrientation, (int)orientation); using (var undoscope = this._client.Application.NewUndoScope("Set Page Orientation")) { writer.Commit(active_page.PageSheet); } }
private void _GoTo(IVisio.Pages pages, VisioScripting.Models.PageDirection flags) { this._client.Application.AssertApplicationAvailable(); if (pages == null) { throw new System.ArgumentNullException(nameof(pages)); } var app = pages.Application; var active_document = app.ActiveDocument; if (pages.Document != active_document) { throw new VisioAutomation.Exceptions.VisioOperationException("Page.Document is not application's ActiveDocument"); } if (pages.Count < 2) { throw new VisioAutomation.Exceptions.VisioOperationException("Only 1 page available. Navigation not possible."); } var activepage = app.ActivePage; int cur_index = activepage.Index; const int min_index = 1; int max_index = pages.Count; int new_index = PageCommands.move_in_range(cur_index, min_index, max_index, flags); if (cur_index != new_index) { var doc_pages = active_document.Pages; var page = doc_pages[new_index]; var active_window = app.ActiveWindow; active_window.Page = page; } }
public Models.PageOrientation GetPageOrientation(Models.TargetPages target_pages) { var pages = target_pages.Resolve(this._client); return(PageCommands._GetPageOrientation(pages[0])); }
public Models.PageOrientation GetPageOrientation(TargetPage targetpage) { targetpage = targetpage.ResolveToPage(this._client); return(PageCommands._get_page_orientation(targetpage.Page)); }