public DotsRuntimeCSharpProgramConfiguration(CSharpCodeGen csharpCodegen, CodeGen cppCodegen, //The stevedore global manifest will override DownloadableCsc.Csc72 artifacts and use Csc73 ToolChain nativeToolchain, ScriptingBackend scriptingBackend, string identifier, bool enableUnityCollectionsChecks, NativeProgramFormat executableFormat = null) : base(csharpCodegen, DownloadableCsc.Csc72, HostPlatform.IsWindows ? (DebugFormat)DebugFormat.Pdb : DebugFormat.PortablePdb, nativeToolchain.Architecture is x86Architecture ? nativeToolchain.Architecture : null) { NativeProgramConfiguration = new DotsRuntimeNativeProgramConfiguration(cppCodegen, nativeToolchain, identifier, this, executableFormat: executableFormat); Identifier = identifier; EnableUnityCollectionsChecks = enableUnityCollectionsChecks; ScriptingBackend = scriptingBackend; }
static void Main(string[] args) { IDataComponentFactory connectionFactory; var entFactory = new EntityDefinitionFactory(); var codeGen = new CSharpCodeGen(); //Add your SQLServer Connection String as environment variable "TESTCONNSTRING" connectionFactory = new SqlServerDataComponentFactory(Environment.GetEnvironmentVariable("TESTCONNSTRING")); var prm = new UspMOBGetSyncData() { ClientId = "CAFEFRESH", LastSync = DateTime.Now, UserId = 44720, PreviousSyncApiId = 0.0f }; using (var proc = new ReadProcedure(connectionFactory)) { var readResult = proc.Read(prm); DataSet ds = readResult.DataSet; var tables = new List <TableDefinition>(); var rows = ds.Tables[ds.Tables.Count - 1]; var manifest = ds.Tables[ds.Tables.Count - 1].Rows.ToArray <Models.Manifest>(); foreach (var manifestTbl in manifest) { var dataTable = ds.Tables[manifestTbl.table_index]; var outputTable = entFactory.ToTable(dataTable, manifestTbl.table_name); var pkeyColumn = outputTable.Columns.Where(col => col.Name == manifestTbl.primary_key).FirstOrDefault(); if (pkeyColumn != null) { pkeyColumn.IsPrimaryKey = true; } tables.Add(outputTable); } System.IO.File.WriteAllText("L:\\foo.cs", codeGen.ToFile(tables, "GSP.X.Repository.Local", true)); } Console.ReadKey(); }
public DotsRuntimeCSharpProgramConfiguration( CSharpCodeGen csharpCodegen, CodeGen cppCodegen, ToolChain nativeToolchain, ScriptingBackend scriptingBackend, TargetFramework targetFramework, string identifier, bool enableUnityCollectionsChecks, bool enableManagedDebugging, bool waitForManagedDebugger, bool multiThreadedJobs, DotsConfiguration dotsConfiguration, bool enableProfiler, bool useBurst, IEnumerable <string> defines = null, NPath finalOutputDirectory = null) : base( csharpCodegen, null, DebugFormat.PortablePdb, nativeToolchain.Architecture is IntelArchitecture ? nativeToolchain.Architecture : null) { NativeProgramConfiguration = new DotsRuntimeNativeProgramConfiguration( cppCodegen, nativeToolchain, identifier, this); _identifier = identifier; EnableUnityCollectionsChecks = enableUnityCollectionsChecks; DotsConfiguration = dotsConfiguration; MultiThreadedJobs = multiThreadedJobs; EnableProfiler = enableProfiler; UseBurst = useBurst; EnableManagedDebugging = enableManagedDebugging; WaitForManagedDebugger = waitForManagedDebugger; ScriptingBackend = scriptingBackend; TargetFramework = targetFramework; Defines = defines?.ToList(); FinalOutputDirectory = finalOutputDirectory; }
private void Svg_MouseMove(object sender, MouseEventArgs e) { var point = e.GetPosition(skElementSvg); if (items.SelectedItem is Item item && item.Drawable != null) { var skPoint = new SKPoint((float)point.X, (float)point.Y); var drawable = item.Drawable.HitTest(skPoint); if (drawable != null) { Debug.WriteLine($"{point} {drawable.GetType().Name}"); #if false if (drawable is DrawablePath drawablePath) { var sb = new StringBuilder(); CSharpCodeGen.Generate(drawablePath.Path, sb); CSharpCodeGen.Generate(drawablePath.Transform, sb); Debug.WriteLine(sb.ToString()); } #endif } } }
public MainWindow() { this.InitializeComponent(); this.AttachDevTools(); this.Closing += (sender, e) => { if (this.DataContext is MainWindowViewModel vm) { if (vm.Layout is IDock dock) { dock.Close(); } } ; }; this.FindControl <MenuItem>("FileNew").Click += (sender, e) => { if (this.DataContext is MainWindowViewModel vm) { if (vm.Layout is IDock root) { root.Close(); } vm.Factory = new EmptyDockFactory(); vm.Layout = vm.Factory.CreateLayout(); vm.Factory.InitLayout(vm.Layout); } }; this.FindControl <MenuItem>("FileOpen").Click += async(sender, e) => { var dlg = new OpenFileDialog(); dlg.Filters.Add(new FileDialogFilter() { Name = "Json", Extensions = { "json" } }); dlg.Filters.Add(new FileDialogFilter() { Name = "All", Extensions = { "*" } }); var result = await dlg.ShowAsync(this); if (result != null) { if (this.DataContext is MainWindowViewModel vm) { IDock layout = _serializer.Load <RootDock>(result.FirstOrDefault()); if (vm.Layout is IDock root) { root.Close(); } vm.Layout = layout; vm.Factory.InitLayout(vm.Layout); } } }; this.FindControl <MenuItem>("FileSaveAs").Click += async(sender, e) => { var dlg = new SaveFileDialog(); dlg.Filters.Add(new FileDialogFilter() { Name = "Json", Extensions = { "json" } }); dlg.Filters.Add(new FileDialogFilter() { Name = "All", Extensions = { "*" } }); dlg.InitialFileName = "Layout"; dlg.DefaultExtension = "json"; var result = await dlg.ShowAsync(this); if (result != null) { if (this.DataContext is MainWindowViewModel vm) { _serializer.Save(result, vm.Layout); } } }; this.FindControl <MenuItem>("FileGenerateCode").Click += async(sender, e) => { var dlg = new SaveFileDialog(); dlg.Filters.Add(new FileDialogFilter() { Name = "C#", Extensions = { "cs" } }); dlg.Filters.Add(new FileDialogFilter() { Name = "All", Extensions = { "*" } }); dlg.InitialFileName = "ViewModel"; dlg.DefaultExtension = "cs"; var result = await dlg.ShowAsync(this); if (result != null) { if (this.DataContext is MainWindowViewModel vm) { ICodeGen codeGeb = new CSharpCodeGen(); codeGeb.Generate(vm.Layout, result); } } }; this.FindControl <MenuItem>("ViewEditor").Click += (sender, e) => { if (this.DataContext is MainWindowViewModel vm) { var editorView = new EditorTool { Id = "Editor", Title = "Editor" }; var layout = new ToolDock { Id = nameof(IToolDock), Proportion = double.NaN, Title = nameof(IToolDock), CurrentView = editorView, DefaultView = editorView, Views = vm.Factory.CreateList <IView> ( editorView ) }; vm.Factory.Update(layout, vm.Layout); var window = vm.Factory.CreateWindowFrom(layout); if (window != null) { if (vm.Layout is IDock root) { vm.Factory.AddWindow(root, window); } window.X = 0; window.Y = 0; window.Width = 800; window.Height = 600; window.Present(false); } } }; this.FindControl <MenuItem>("OptionsDragBehaviorIsEnabled").Click += (sender, e) => { bool isEnabled = (bool)GetValue(DragBehavior.IsEnabledProperty); SetValue(DragBehavior.IsEnabledProperty, !isEnabled); }; this.FindControl <MenuItem>("OptionsDropBehaviorIsEnabled").Click += (sender, e) => { bool isEnabled = (bool)GetValue(DropBehavior.IsEnabledProperty); SetValue(DropBehavior.IsEnabledProperty, !isEnabled); }; }
public static DotsConfiguration DotsConfigForSettings(FriendlyJObject settingsObject, out CSharpCodeGen codegen) { DotsConfiguration dotsCfg; var codegenString = settingsObject.GetString("DotsConfig"); switch (codegenString) { case "Debug": codegen = CSharpCodeGen.Debug; dotsCfg = DotsConfiguration.Debug; break; case "Develop": codegen = CSharpCodeGen.Release; dotsCfg = DotsConfiguration.Develop; break; case "Release": codegen = CSharpCodeGen.Release; dotsCfg = DotsConfiguration.Release; break; default: throw new ArgumentException( $"Error: Unrecognized codegen {codegenString} in build json file. This is a bug."); } return(dotsCfg); }
public static string GenCodeFromJunk(string path) { var sents = ParserTests.ParseFile(path); return(CSharpCodeGen.GenCode(sents)); }