Beispiel #1
0
        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);
			}
		}