void tweakingPanel_TranslationTweaked(object sender, ExpressionTweakingPanel.TranslationTweakedEventArgs translationTweakedEventArgs) { ExpressionTweakingPanel p = (ExpressionTweakingPanel)sender; XDocument document; ILog log; TagClass tag = (TagClass)p.FilePresenterTab.Tag; TranslationSettings settings = tag.settings; settings.Retranslation = true; GenerateSchema(p.FilePresenterTab.SourcePSMSchema, settings, out document, out log); p.FilePresenterTab.ReDisplayFile(document, EDisplayedFileType.SCH, p.FilePresenterTab.SourcePSMSchema.Caption, log, p.FilePresenterTab.ValidationSchema, p.FilePresenterTab.SourcePSMSchema); }
public override void Execute(object parameter = null) { if (Current.ActiveDiagram != null && Current.ActiveDiagram is PSMDiagram) { XDocument schematronSchemaDocument; ILog log; TranslationSettings settings = new TranslationSettings(); settings.Functional = true; settings.SchemaAware = true; GenerateSchema((PSMSchema)Current.ActiveDiagram.Schema, settings, out schematronSchemaDocument, out log); FilePresenterButtonInfo[] additionalButtonsInfo = new[] { new FilePresenterButtonInfo() { ButtonName = "SA", Text = "Schema aware", Icon = ExolutioResourceNames.GetResourceImageSource(ExolutioResourceNames.refresh), UpdateFileContentAction = RegenerateSchema, ToggleButton = true, IsToggled = true }, new FilePresenterButtonInfo() { ButtonName = "F", Text = "Functional", Icon = ExolutioResourceNames.GetResourceImageSource(ExolutioResourceNames.refresh), UpdateFileContentAction = RegenerateSchema, ToggleButton = true, IsToggled = true }, }; ExpressionTweakingPanel tweakingPanel = new ExpressionTweakingPanel(); TagClass tag = new TagClass(); tag.settings = settings; tag.tweakingPanel = tweakingPanel; IFilePresenterTab filePresenterTab = Current.MainWindow.FilePresenter.DisplayFile(schematronSchemaDocument, EDisplayedFileType.SCH, Current.ActiveDiagram.Caption + ".sch", log, sourcePSMSchema: (PSMSchema)Current.ActiveDiagram.Schema, additionalActions: additionalButtonsInfo, tag: tag); filePresenterTab.RefreshCallback += RegenerateSchema; if (settings.SubexpressionTranslations.TranslationOptionsWithMorePossibilities.Any()) { tweakingPanel.Bind(settings.SubexpressionTranslations); tweakingPanel.FilePresenterTab = filePresenterTab; filePresenterTab.DisplayAdditionalControl(tweakingPanel, "Expression Tweaking"); tweakingPanel.TranslationTweaked += tweakingPanel_TranslationTweaked; } } }