public IViewContent[] CreateSecondaryViewContent(IViewContent viewContent) { if (viewContent.SecondaryViewContents.Any(c => c is AimDialogDesigner)) { return(new IViewContent[0]); } string fileExtension = String.Empty; string fileName = viewContent.PrimaryFileName; fileExtension = Path.GetExtension(fileName).ToLowerInvariant(); IDesignerLoaderProvider loader; IDesignerGenerator generator; switch (fileExtension) { case ".cs": loader = new NRefactoryDesignerLoaderProvider(SupportedLanguage.CSharp); generator = new CSharpDesignerGenerator(); break; default: throw new ApplicationException("Cannot create content for " + fileExtension); } return(new IViewContent[] { new AimDialogDesigner(viewContent, loader, generator) }); }
protected override void Write(CodeCompileUnit unit) { LoggingService.Info("DesignerLoader.Write called"); // output generated CodeDOM to the console : #if DEBUG if ((Control.ModifierKeys & Keys.Control) == Keys.Control) { this.CodeDomProvider.GenerateCodeFromCompileUnit(unit, Console.Out, null); } #endif try { var generator = new CSharpDesignerGenerator(context); generator.MergeFormChanges(unit); } catch (Exception ex) { SD.AnalyticsMonitor.TrackException(ex); MessageService.ShowException(ex); } }