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;
 }
Exemple #2
0
        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;
 }
Exemple #4
0
        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
                }
            }
        }
Exemple #5
0
        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));
        }