private string ApplyTransform(string sInputFile, XmlNode node, ProgressDialogWorkingOn dlg) { string sProgressPrompt = XmlUtils.GetManditoryAttributeValue(node, "progressPrompt"); UpdateProgress(sProgressPrompt, dlg); string sXslt = XmlUtils.GetManditoryAttributeValue(node, "file"); string sOutputFile = Path.Combine(m_outputDirectory, Cache.DatabaseName + sXslt + "Result." + GetExtensionFromNode(node)); XmlUtils.XSLParameter[] parameterList = CreateParameterList(node); if (parameterList != null) { foreach (XmlUtils.XSLParameter param in parameterList) { if (param.Name == "prmVernacularFontSize") { param.Value = GetNormalStyleFontSize(Cache.LangProject.DefaultVernacularWritingSystem); } if (param.Name == "prmGlossFontSize") { param.Value = GetNormalStyleFontSize(Cache.LangProject.DefaultAnalysisWritingSystem); } } } SIL.Utils.XmlUtils.TransformFileToFile(Path.Combine(TransformPath, sXslt), parameterList, sInputFile, sOutputFile); return(sOutputFile); }
/// <summary> /// Parse the given lists of files and create a wordset from them. /// </summary> /// <param name="paths"></param> /// <remarks>This is marked internal so that unit tests can call it</remarks> internal void CreateWordsetFromFiles(string[] paths) { CheckDisposed(); using (ProgressDialogWorkingOn dlg = new ProgressDialogWorkingOn()) { m_cache.DomainDataByFlid.BeginUndoTask("Import Word Set", "Import Word Set"); string sWordSetName = GetWordSetName(paths); var wordSet = m_cache.ServiceLocator.GetInstance <IWfiWordSetFactory>().Create(); m_cache.LangProject.MorphologicalDataOA.TestSetsOC.Add(wordSet); wordSet.Name.SetAnalysisDefaultWritingSystem(sWordSetName); wordSet.Description.SetAnalysisDefaultWritingSystem(GetWordSetDescription(paths)); dlg.Owner = FindForm(); dlg.Icon = dlg.Owner.Icon; dlg.Minimum = 0; dlg.Maximum = paths.Length; dlg.Text = String.Format(ParserUIStrings.ksLoadingFilesForWordSetX, sWordSetName); dlg.Show(); dlg.BringToFront(); WordImporter importer = new WordImporter(m_cache); foreach (string path in paths) { UpdateProgress(path, dlg); importer.PopulateWordset(path, wordSet); } m_cache.DomainDataByFlid.EndUndoTask(); dlg.Close(); } }
/// <summary> /// Parse the given lists of files and create a wordset from them. /// </summary> /// <param name="paths"></param> /// <remarks>This is marked internal so that unit tests can call it</remarks> internal void CreateWordsetFromFiles(string[] paths) { CheckDisposed(); using (ProgressDialogWorkingOn dlg = new ProgressDialogWorkingOn()) { string sWordSetName = GetWordSetName(paths); IWfiWordSet wordSet = WfiWordSet.Create(m_cache, sWordSetName, GetWordSetDescription(paths)); dlg.Owner = FindForm(); dlg.Icon = dlg.Owner.Icon; dlg.Minimum = 0; dlg.Maximum = paths.Length; dlg.Text = String.Format(ParserUIStrings.ksLoadingFilesForWordSetX, sWordSetName); dlg.Show(); dlg.BringToFront(); using (WordImporter importer = new WordImporter(m_cache)) { foreach (string path in paths) { UpdateProgress(path, dlg); importer.PopulateWordset(path, wordSet); } } dlg.Close(); } }
private string ApplyTransform(string inputFile, XmlNode node, ProgressDialogWorkingOn dlg) { string progressPrompt = XmlUtils.GetManditoryAttributeValue(node, "progressPrompt"); UpdateProgress(progressPrompt, dlg); string stylesheetName = XmlUtils.GetManditoryAttributeValue(node, "stylesheetName"); string stylesheetAssembly = XmlUtils.GetManditoryAttributeValue(node, "stylesheetAssembly"); string outputFile = Path.Combine(m_outputDirectory, Cache.ProjectId.Name + stylesheetName + "Result." + GetExtensionFromNode(node)); XsltArgumentList argumentList = CreateParameterList(node); IWritingSystemContainer wsContainer = Cache.ServiceLocator.WritingSystems; if (argumentList.GetParam("prmVernacularFontSize", "") != null) { argumentList.RemoveParam("prmVernacularFontSize", ""); argumentList.AddParam("prmVernacularFontSize", "", GetNormalStyleFontSize(wsContainer.DefaultVernacularWritingSystem.Handle)); } if (argumentList.GetParam("prmGlossFontSize", "") != null) { argumentList.RemoveParam("prmGlossFontSize", ""); argumentList.AddParam("prmGlossFontSize", "", GetNormalStyleFontSize(wsContainer.DefaultAnalysisWritingSystem.Handle)); } var xmlReaderSettings = new XmlReaderSettings { DtdProcessing = DtdProcessing.Parse }; using (var writer = new StreamWriter(outputFile)) using (var reader = XmlReader.Create(inputFile, xmlReaderSettings)) GetTransform(stylesheetName, stylesheetAssembly).Transform(reader, argumentList, writer); return(outputFile); }
private void ProduceSketch() { string sFxtOutputPath; ProgressDialogWorkingOn dlg = InitProgressDialog(); ShowGeneratingPage(); PerformRetrieval(out sFxtOutputPath, dlg); PerformTransformations(sFxtOutputPath, dlg); UpdateProgress(m_mediator.StringTbl.GetString("Complete", "DocumentGeneration"), dlg); //m_stringResMan.GetString("stidCompleted"), dlg); dlg.Close(); }
private void PerformTransformations(string sLastFile, ProgressDialogWorkingOn dlg) { foreach (XmlNode rNode in m_transformsNode.ChildNodes) { sLastFile = ApplyTransform(sLastFile, rNode, dlg); if (m_AlsoSaveTransformNode == rNode) { m_sAlsoSaveFileName = sLastFile; } } m_sHtmlFileName = sLastFile; }
private ProgressDialogWorkingOn InitProgressDialog() { ProgressDialogWorkingOn dlg = new ProgressDialogWorkingOn(); dlg.Owner = this.FindForm(); dlg.Icon = dlg.Owner.Icon; dlg.Minimum = 0; dlg.Maximum = m_cPrompts + m_cTransforms; dlg.Text = m_sProgressDialogTitle; dlg.Show(); return(dlg); }
private void ProduceSketch() { string sFxtOutputPath; using (ProgressDialogWorkingOn dlg = InitProgressDialog()) { ShowGeneratingPage(); PerformRetrieval(out sFxtOutputPath, dlg); PerformTransformations(sFxtOutputPath, dlg); UpdateProgress(StringTable.Table.GetString("Complete", "DocumentGeneration"), dlg); dlg.Close(); } }
public void PerformRetrieval(out string outputPath, ProgressDialogWorkingOn dlg) { CheckDisposed(); string sPrompt = XmlUtils.GetOptionalAttributeValue(m_retrieverNode, "progressPrompt"); if (sPrompt != null) { UpdateProgress(sPrompt, dlg); } outputPath = Path.Combine(m_outputDirectory, Cache.ProjectId.Name + "RetrieverResult.xml"); m_retriever.Retrieve(outputPath, Cache.LanguageProject); }
public void PerformRetrieval(out string sFxtOutputPath, ProgressDialogWorkingOn dlg) { CheckDisposed(); string sPrompt = XmlUtils.GetOptionalAttributeValue(m_fxtNode, "progressPrompt"); if (sPrompt != null) { UpdateProgress(sPrompt, dlg); } string sFxt = XmlUtils.GetManditoryAttributeValue(m_fxtNode, "file"); string sFxtPath = Path.Combine(DirectoryFinder.FWCodeDirectory, Path.Combine(@"Language Explorer\Configuration\Grammar\FXTs", sFxt)); m_fxtDumper = new XDumper(Cache); sFxtOutputPath = Path.Combine(m_outputDirectory, Cache.DatabaseName + sFxt + "Result.xml"); m_fxtDumper.Go(Cache.LangProject as CmObject, sFxtPath, File.CreateText(sFxtOutputPath)); }
private ProgressDialogWorkingOn InitProgressDialog() { Form owner = FindForm(); Icon icon = null; if (owner != null) { icon = owner.Icon; } var dlg = new ProgressDialogWorkingOn { Owner = owner, Icon = icon, Minimum = 0, Maximum = m_cPrompts + m_cTransforms, Text = m_sProgressDialogTitle }; dlg.Show(); return(dlg); }
private void UpdateProgress(string sMessage, ProgressDialogWorkingOn dlg) { dlg.WorkingOnText = sMessage; dlg.PerformStep(); dlg.Refresh(); }