public void SetUpFixture() { WixDocumentReader wixReader = new WixDocumentReader(GetWixXml()); dialogIds = wixReader.GetDialogIds(); welcomeDialogId = dialogIds[0]; progressDialogId = dialogIds[1]; wixReader = new WixDocumentReader(GetWixXml()); welcomeDialogLocation = wixReader.GetStartElementLocation("Dialog", welcomeDialogId); wixReader = new WixDocumentReader(GetWixXml()); missingDialogLocation = wixReader.GetStartElementLocation("Dialog", "missingDialogId"); }
/// <summary> /// Gets the dialog element location given the filename and the dialog id. /// </summary> static TextLocation GetDialogElementLocation(string fileName, string id) { try { WorkbenchTextFileReader workbenchTextFileReader = new WorkbenchTextFileReader(); using (TextReader reader = workbenchTextFileReader.Create(fileName)) { WixDocumentReader wixReader = new WixDocumentReader(reader); return wixReader.GetStartElementLocation("Dialog", id); } } catch (XmlException ex) { WixBindingService.ShowErrorInErrorList(fileName, ex); } return TextLocation.Empty; }
/// <summary> /// Gets the dialog element location given the filename and the dialog id. /// </summary> static TextLocation GetDialogElementLocation(string fileName, string id) { try { WorkbenchTextFileReader workbenchTextFileReader = new WorkbenchTextFileReader(); using (TextReader reader = workbenchTextFileReader.Create(fileName)) { WixDocumentReader wixReader = new WixDocumentReader(reader); return(wixReader.GetStartElementLocation("Dialog", id)); } } catch (XmlException ex) { WixBindingService.ShowErrorInErrorList(fileName, ex); } return(TextLocation.Empty); }
/// <summary> /// Jumps to dialog element with corresponding dialog id. This is only used /// when the user opens a dialog from the Setup dialogs window or the cursor /// was not near a dialog when the designer was switched to. Jumping to the /// dialog selected ensures that when the user switches back, if they did /// not make any changes, then the dialog xml is displayed. /// </summary> void JumpToDialogElement(string dialogId) { try { if (dialogId != null) { ITextEditor textEditor = ActiveTextEditor; if (textEditor != null) { WixDocumentReader wixReader = new WixDocumentReader(textEditor.Document.Text); TextLocation location = wixReader.GetStartElementLocation("Dialog", dialogId); textEditor.JumpTo(location.Line, 1); } } } catch (XmlException) { // Ignore } }