Exemplo n.º 1
0
        public ShoppingListView(IShoppingList shoppingList)
        {
            if (shoppingList is null)
            {
                throw new ArgumentNullException(nameof(shoppingList));
            }

            var items = shoppingList.Items is null ? new ShoppingListItem[0] : shoppingList.Items;

            Array.Sort(items);

            // Your milage may vary when it comes to color here. There are still a few bugs to iron
            // out in the rendering system. So far this is working in VS Code on macOS Catalina.
            Add(new ContentView($"{shoppingList.ListName}".Rgb(168, 139, 50)));
            Add(new ContentView("\n"));

            var view = new TableView <ShoppingListItem>();

            view.Items = items;
            view.AddColumn <TextSpan>(item => item.Quantity.ToString().LightGreen(), new ContentView("#".UnderlineRed()));
            view.AddColumn <TextSpan>(item => item.Name.White(), new ContentView("Items to Purchase".UnderlineRed()));
            Add(view);

            Add(new ContentView("\n"));
            Add(new ContentView("\n"));
        }
        private static Command listCommand()
        {
            var command = new Command("list");

            command.Description = "list all your albums";
            command.AddOption(new Option("--search", "provide a text that is in the album title.", new Argument <string>()));
            command.Handler = CommandHandler.Create <string>(async(s) =>
            {
                if (!String.IsNullOrWhiteSpace(s))
                {
                    // TODO: implement search
                    throw new NotImplementedException("The search option isn't implemented yet.");
                }
                await graphService.Login();
                var albumService = new AlbumService(graphService);
                var result       = await albumService.GetAlbums();
                var console      = new SystemConsole();
                var tableView    = new TableView <Album>()
                {
                    Items = (await albumService.GetAlbums()).ToList()
                };
                tableView.AddColumn(a => a.name, "Name");
                tableView.AddColumn(a => a.createdDateTime.ToLocalTime().ToLongDateString(), "created");
                tableView.AddColumn(a => a.createdBy.user.displayName, "Author");
                tableView.AddColumn(a => a.lastModifiedDateTime.ToLocalTime().ToLongDateString(), "modifed");
                tableView.AddColumn(A => A.lastModifiedBy.user.displayName, "last Author");
                var consoleRenderer = new ConsoleRenderer(console);
                var screen          = new ScreenView(consoleRenderer)
                {
                    Child = tableView
                };
                screen.Render();
            });
            return(command);
        }
Exemplo n.º 3
0
        private static Command richList()
        {
            List <Post> Posts  = new List <Post>();
            var         client = new HttpClient();

            var task = client.GetAsync("https://jsonplaceholder.typicode.com/posts")
                       .ContinueWith((taskwithresponse) =>
            {
                var response   = taskwithresponse.Result;
                var jsonString = response.Content.ReadAsStringAsync();
                jsonString.Wait();
                Posts = JsonConvert.DeserializeObject <List <Post> >(jsonString.Result);
            });

            task.Wait();

            var cmd = new Command("list");

            cmd.Handler = CommandHandler.Create(() => {
                var table = new TableView <Post>
                {
                    Items = Posts.Take(20).ToList()
                };
                table.AddColumn(user => user.ID, "ID");
                table.AddColumn(user => user.Title, "Title");

                var screen = new ScreenView(_consoleRenderer, _invocationContext.Console)
                {
                    Child = table
                };
                screen.Render();
            });
            return(cmd);
        }
Exemplo n.º 4
0
        public AnimationViewer(EditorWindow hostWindow)
        {
            // m_hostWindow = hostWindow;

            // create the table with a specified object type
            m_dataTable = new TableView(hostWindow, typeof(AnimationImportData));

            // setup the description for content
            m_dataTable.AddColumn("RootPath", "PackageRootPath", 0.35f, TextAnchor.MiddleLeft);
            m_dataTable.AddColumn("FileNameMatch", "Name", 0.05f);
            m_dataTable.AddColumn("Index", "Priority", 0.05f);
            m_dataTable.AddColumn("TotalCount", "Count", 0.05f);
            m_dataTable.AddColumn("TotalMemuse", "Memory", 0.1f, TextAnchor.MiddleCenter, "<fmt_bytes>");
            m_dataTable.AddColumn("AnimationType", "AnimationType", 0.2f);
            m_dataTable.AddColumn("AnimationCompression", "AnimationCompression", 0.2f);


            // sorting
            m_dataTable.SetSortParams(2, false);

            m_showTable = new TableView(hostWindow, typeof(AnimationInfo));

            m_showTable.AddColumn("Path", "Path", 0.5f, TextAnchor.MiddleLeft);
            m_showTable.AddColumn("MemSize", "Memory", 0.1f, TextAnchor.MiddleCenter, "<fmt_bytes>");
            m_showTable.AddColumn("AnimationType", "AnimationType", 0.2f);
            m_showTable.AddColumn("AnimationCompression", "AnimationCompression", 0.2f);

            m_showTable.SetSortParams(1, true);

            m_control = new AnimationDataControl(m_dataTable, m_showTable);

            // register the event-handling function
            m_dataTable.OnSelected += m_control.OnDataSelected;
            m_showTable.OnSelected += m_control.OnInfoSelected;
        }
Exemplo n.º 5
0
        /// <summary>
        /// The RenderTableData.
        /// </summary>
        /// <param name="avDatas">The avDatas<see cref="List{AvData}"/>.</param>
        /// <param name="serviceProvider">The serviceProvider<see cref="IServiceProvider"/>.</param>
        public static void RenderTableData(List <AvData> avDatas, IServiceProvider serviceProvider)
        {
            var region  = new Region(0, 0, Console.WindowWidth, Console.WindowHeight, false);
            var context = serviceProvider.GetService <InvocationContext>();
            var console = context.Console;

            if (console is ITerminal terminal)
            {
                terminal.Clear();
            }

            var consoleRenderer = new ConsoleRenderer(
                console,
                mode: context.BindingContext.OutputMode(),
                resetAfterRender: true);
            var tableView = new TableView <AvData>
            {
                Items = avDatas
            };

            tableView.AddColumn(data => $"{data.Title.Shorten(8)}", "Title");
            tableView.AddColumn(data => $"{data.Number}", "Number");
            tableView.AddColumn(data => $"{data.Time}", "Time");
            tableView.AddColumn(data => $"{data.Actors?.Join(",")}", "Actors");
            tableView.AddColumn(data => $"{data.Tags?.Join(",")}", "Tags");
            //table.AddColumn(process => ContentView.FromObservable(process.TrackCpuUsage(), x => $"{x.UsageTotal:P}"), "CPU", ColumnDefinition.Star(1));

            var screen = new ScreenView(renderer: consoleRenderer, console)
            {
                Child = tableView
            };

            screen.Render(region);
        }
Exemplo n.º 6
0
        private static void RenderFrequencyTable(Dictionary <string, int> referenceHistogram, IConsole console)
        {
            Dictionary <int, int> referenceCountHistogram = new Dictionary <int, int>();

            foreach (var(_, count) in referenceHistogram)
            {
                referenceCountHistogram.AddRange(count);
            }

            var normalizedFactor = (int)Math.Ceiling(referenceCountHistogram.Values.Max() / 50.0);
            var lines            = referenceCountHistogram
                                   .GroupBy(kvp => kvp.Key)
                                   .OrderByDescending(x => x.Key)
                                   .SelectMany(x => x)
                                   .Where(x => x.Value / normalizedFactor > 1);

            var view = new TableView <KeyValuePair <int, int> > {
                Items = lines.ToArray()
            };

            view.AddColumn(cellValue: x => x.Key, header: new ContentView("# of References".Underline()));
            view.AddColumn(cellValue: x => string.Join("", Enumerable.Repeat("*", x.Value / normalizedFactor)), new ContentView("Frequency".Underline()));

            var consoleRenderer = new ConsoleRenderer(console, mode: console.GetTerminal().DetectOutputMode(), resetAfterRender: true);

            var screen = new ScreenView(renderer: consoleRenderer, console)
            {
                Child = view
            };

            screen.Render(new Region(0, 0, width: Console.WindowWidth, height: int.MaxValue));
            console.GetTerminal().ShowCursor();
        }
Exemplo n.º 7
0
        private static TableView GetTableView([NotNull] ITable table,
                                              [CanBeNull] string fieldName,
                                              bool caseSensitive)
        {
            Assert.ArgumentNotNull(table, nameof(table));

            if (fieldName != null)
            {
                // parse/remove/use case sensitivty hint
                bool?caseSensitivityOverride;
                fieldName = ExpressionUtils.ParseCaseSensitivityHint(fieldName,
                                                                     out caseSensitivityOverride);
                if (caseSensitivityOverride != null)
                {
                    caseSensitive = caseSensitivityOverride.Value;
                }
            }

            const bool useAsConstraint = false;
            TableView  result          = TableViewFactory.Create(table, fieldName, useAsConstraint,
                                                                 caseSensitive);

            result.AddColumn(QaConnections.StartsIn, typeof(bool));

            DataColumn fieldColumn = result.AddColumn(_expressionFieldName, typeof(object));

            fieldColumn.Expression = fieldName;

            return(result);
        }
Exemplo n.º 8
0
        public DirectoryTableView(DirectoryInfo directory)
        {
            if (directory == null)
            {
                throw new ArgumentNullException(nameof(directory));
            }

            Add(new ContentView("\n"));
            Add(new ContentView(Span($"Directory: {directory.FullName.Rgb(235, 30, 180)}")));
            Add(new ContentView("\n"));

            var tableView = new TableView <FileSystemInfo>();

            tableView.Items = directory.EnumerateFileSystemInfos()
                              .OrderByDescending(f => f is DirectoryInfo)
                              .ToList();

            tableView.AddColumn(
                cellValue: f => f is DirectoryInfo
                                    ? f.Name.LightGreen()
                                    : f.Name.White(),
                header: new ContentView("Name".Underline()));

            tableView.AddColumn(
                cellValue: f => Span(f.CreationTime),
                header: new ContentView("Created".Underline()));

            tableView.AddColumn(
                cellValue: f => Span(f.LastWriteTime),
                header: new ContentView("Modified".Underline()));

            Add(tableView);

            Formatter.AddFormatter <DateTime>(d => $"{d:d} {ForegroundColorSpan.DarkGray()}{d:t}");
        }
Exemplo n.º 9
0
        static void Main(InvocationContext context, DirectoryInfo argument = null)
        {
            argument ??= new DirectoryInfo(".");
            var consoleRenderer = new ConsoleRenderer(
                context.Console,
                context.BindingContext.OutputMode(),
                true);

            var tableView = new TableView <FileInfo>
            {
                Items = argument.EnumerateFiles().ToList()
            };

            tableView.AddColumn(f => f.Name, "Name");

            tableView.AddColumn(f => f.LastWriteTime, "Modified");

            tableView.AddColumn(f => f.Length, "Size");

            var screen = new ScreenView(consoleRenderer, context.Console)
            {
                Child = tableView
            };

            screen.Render();
        }
Exemplo n.º 10
0
    public MemTableBrowser(EditorWindow hostWindow)
    {
        _hostWindow = hostWindow;

        // create the table with a specified object type
        _typeTable   = new TableView(hostWindow, typeof(MemType));
        _objectTable = new TableView(hostWindow, typeof(MemObject));

        // setup the description for content
        _typeTable.AddColumn("TypeName", "Type Name", 0.6f, TextAnchor.MiddleLeft);
        _typeTable.AddColumn("Count", "Count", 0.15f);
        _typeTable.AddColumn("Size", "Size", 0.25f, TextAnchor.MiddleCenter, PAEditorConst.BytesFormatter);

        _objectTable.AddColumn("InstanceName", "Instance Name", 0.8f, TextAnchor.MiddleLeft);
        _objectTable.AddColumn("Size", "Size", 0.1f, TextAnchor.MiddleCenter, PAEditorConst.BytesFormatter);
        _objectTable.AddColumn("RefCount", "Refs", 0.1f);

        // sorting
        _typeTable.SetSortParams(2, true);
        _objectTable.SetSortParams(1, true);

        // register the event-handling function
        _typeTable.OnSelected   += OnTypeSelected;
        _objectTable.OnSelected += OnObjectSelected;
    }
Exemplo n.º 11
0
            public Task <int> InvokeAsync(InvocationContext context)
            {
                var table = new TableView <KeyValuePair <string, ServiceEntry> > {
                    Items = _options.Value.ToList()
                };

                table.AddColumn(
                    entry => entry.Key,
                    Underline("Name"),
                    ColumnDefinition.SizeToContent());

                table.AddColumn(
                    entry => entry.Value.Sources.Count(),
                    Underline("Configured Sources"),
                    ColumnDefinition.Star(1));

                // table.AddColumn(
                //     entry => entry.SourceType,
                //     Underline(nameof(ServiceEntry.SourceType)),
                //     ColumnDefinition.SizeToContent());
                //
                // table.AddColumn(
                //     entry => entry.Type,
                //     Underline(nameof(ServiceEntry.Type)),
                //     ColumnDefinition.SizeToContent());
                //
                // table.AddColumn(
                //     entry => entry.GitCloneUrl,
                //     Underline(nameof(ServiceEntry.GitCloneUrl)),
                //     ColumnDefinition.Star(1));

                _console.Append(table, _console.DetectOutputMode());

                return(Task.FromResult(context.ResultCode));
            }
Exemplo n.º 12
0
        private static void DisplayHelp()
        {
            Console.WriteLine("\r\nTerminal Keys");
            Console.WriteLine("-------------");

            var consoleRenderer = new ConsoleRenderer(
                _invocationContext.Console,
                _invocationContext.BindingContext.OutputMode(),
                true);

            var helpList = new List <dynamic>();

            helpList.Add(new { Key = "F1", Function = "Display SerialTerm key help" });
            helpList.Add(new { Key = "F2", Function = "Disconnect / Reconnect serial connection" });
            helpList.Add(new { Key = "F3", Function = "Display serial port settings" });
            helpList.Add(new { Key = "F4", Function = "Soft reset ESP32 by toggling RTS enabled" });
            helpList.Add(new { Key = "Home", Function = "Clear terminal screen" });
            helpList.Add(new { Key = "ESC", Function = "Exit terminal program" });

            var tableView = new TableView <dynamic>
            {
                Items = helpList.ToList()
            };

            tableView.AddColumn(f => f.Key, "Key");
            tableView.AddColumn(f => f.Function, "Function");

            Region region = new Region(0, 0, new Size(Console.WindowWidth, Console.BufferHeight));

            tableView.Render(consoleRenderer, region);

            Console.WriteLine();
            Console.WriteLine();
        }
Exemplo n.º 13
0
        private static void RenderReferenceTable(Dictionary <string, int> referenceHistogram, int?numberOfRows, IConsole console)
        {
            var lines = referenceHistogram
                        .GroupBy(kvp => kvp.Value)
                        .OrderByDescending(x => x.Key)
                        .SelectMany(x => x);

            if (numberOfRows is int rows)
            {
                lines = lines.Take(rows);
            }

            var view = new TableView <KeyValuePair <string, int> > {
                Items = lines.ToArray()
            };

            view.AddColumn(cellValue: x => Path.GetFileName(x.Key).Replace("\"", ""), new ContentView("Assembly Name".Underline()));
            view.AddColumn(cellValue: x => x.Value, new ContentView("Times Projects Referenced This Assemby".Underline()));

            var consoleRenderer = new ConsoleRenderer(console, mode: console.GetTerminal().DetectOutputMode(), resetAfterRender: true);

            var screen = new ScreenView(renderer: consoleRenderer, console)
            {
                Child = view
            };

            screen.Render(new Region(0, 0, width: Console.WindowWidth, height: int.MaxValue));
            console.GetTerminal().ShowCursor();
        }
Exemplo n.º 14
0
        public void List()
        {
            var consoleRenderer  = new ConsoleRenderer(Console);
            var protobufElements = Project.GetItems(ProtobufElement).ToList();

            if (protobufElements.Count == 0)
            {
                Console.Log(CoreStrings.LogNoReferences);
                return;
            }

            var table = new TableView <ProjectItem> {
                Items = protobufElements
            };

            // Required columns (always displayed)
            table.AddColumn(r => r.UnevaluatedInclude, CoreStrings.TableColumnProtobufReference);
            table.AddColumn(r =>
            {
                var serviceType = r.GetMetadataValue(GrpcServicesElement);
                return(string.IsNullOrEmpty(serviceType) ? "Both" : serviceType);
            }, CoreStrings.TableColumnServiceType);

            // Optional columns (only displayed if an element is not default)
            if (protobufElements.Any(r => !string.IsNullOrEmpty(r.GetMetadataValue(SourceUrlElement))))
            {
                table.AddColumn(r => r.GetMetadataValue(SourceUrlElement), CoreStrings.TableColumnSourceUrl);
            }

            // The default value is Public set by Grpc.Tools so skip this column if everything is default
            if (protobufElements.Any(r => !string.Equals(r.GetMetadataValue(AccessElement), Access.Public.ToString(), StringComparison.OrdinalIgnoreCase)))
            {
                table.AddColumn(r => r.GetMetadataValue(AccessElement), CoreStrings.TableColumnAccess);
            }

            if (protobufElements.Any(r => !string.IsNullOrEmpty(r.GetMetadataValue(AdditionalImportDirsElement))))
            {
                table.AddColumn(r => r.GetMetadataValue(AdditionalImportDirsElement), CoreStrings.TableColumnAdditionalImports);
            }

            var screen = new ScreenView(consoleRenderer, Console)
            {
                Child = table
            };
            Region region;

            try
            {
                // System.Console.WindowWidth can throw an IOException when runnning without a console attached
                region = new Region(0, 0, System.Console.WindowWidth, System.Console.WindowHeight);
            }
            catch (IOException)
            {
                region = new Region(0, 0, int.MaxValue, int.MaxValue);
            }
            screen.Child?.Render(consoleRenderer, region);
        }
Exemplo n.º 15
0
        private static void DisplayPorts()
        {
            var consoleRenderer = new ConsoleRenderer(
                _invocationContext.Console,
                _invocationContext.BindingContext.OutputMode(),
                true);

            string[] portnames = SerialPort.GetPortNames();

            if (portnames.Length == 0)
            {
                Console.WriteLine("No serial ports detected.");
                return;
            }

            List <dynamic> serialList = new List <dynamic>();

            int count = 0;

            foreach (var port in portnames)
            {
                _serialPort          = new SerialPort();
                _serialPort.PortName = portnames[count];

                bool serialStatus = false;

                try
                {
                    _serialPort.Open();
                    _serialPort.Close();
                }
                catch (Exception)
                {
                    serialStatus = true;
                }

                var serialObject = new { Count = count + 1, Port = portnames[count], Status = !serialStatus ? "(free)" : "(busy)" };
                serialList.Add(serialObject);

                count++;
            }

            var tableView = new TableView <dynamic>
            {
                Items = serialList.ToList()
            };

            tableView.AddColumn(f => f.Count, "#");
            tableView.AddColumn(f => f.Port, "Port");
            tableView.AddColumn(f => f.Status, "Status");

            Region region = new Region(0, 0, new Size(Console.WindowWidth, Console.BufferHeight));

            tableView.Render(consoleRenderer, region);
        }
Exemplo n.º 16
0
        public void _init()
        {
            int depWidth = 400;

            _tableView             = new TableView(Win, typeof(TextureReportInfo));
            _tableView.OnSelected += OnSelectAnimation;
            _tableView.AddColumn("TextureName", "纹理名称", 0.1f);
            _tableView.AddColumn("Guid", "Guid", 0.2f);
            //_tableView.AddColumn("MemSize", TextureReport.SIZE, 0.1f,TextAnchor.MiddleCenter, "<fmt_bytes>");
            _tableView.AddColumn("MemSize", TextureReport.SIZE, 0.1f, TextAnchor.MiddleCenter);
            _tableView.AddColumn("Width", TextureReport.WIDTH, 0.1f);
            _tableView.AddColumn("Height", TextureReport.HEIGHT, 0.1f);
            _tableView.AddColumn("Format", TextureReport.FORMAT, 0.1f);
            _tableView.AddColumn("MipMap", TextureReport.MIP_MAP, 0.1f);
            _tableView.AddColumn("ReadWrite", TextureReport.READ_WRITE, 0.1f);
            _tableView.AddColumn("BeRefCount", TextureReport.AB_COUNT, 0.1f);

            _panel = new TableViewPanel(Ew - 10 - depWidth, Eh);
            _panel.AddTableView(_tableView);
            AddComponent(_panel, 5, 5);

            _depTableView = new TableView(Win, typeof(TmpStringInfo));
            _depTableView.AddColumn("_param1", "冗余列表", 1, TextAnchor.MiddleLeft);
            _depTableView.OnSelected += OnSelectFile;
            _depTabPanel              = new TableViewPanel(depWidth, Eh);
            _depTabPanel.AddTableView(_depTableView);
            AddComponentRight(_depTabPanel, _panel);
        }
Exemplo n.º 17
0
        public ConsoleViewZipInfo(ZipArchive zipArchive)
        {
            var tableView = new TableView <ZipArchiveEntry>
            {
                Items = zipArchive.Entries
            };

            tableView.AddColumn(cellValue: e => e.Name, header: new ContentView("Name".Underline()));
            tableView.AddColumn(cellValue: e => e.Length, header: new ContentView("Length".Underline()));
            tableView.AddColumn(cellValue: e => e.CompressedLength, header: new ContentView("CompressedLength".Underline()));
            tableView.AddColumn(cellValue: e => e.Crc32, header: new ContentView("Crc32".Underline()));
            Add(tableView);
        }
Exemplo n.º 18
0
        public Command NewProject(List <Projects> repositories,
                                  InvocationContext invocationContext,
                                  ConsoleRenderer consoleRenderer)
        {
            var cmd = new Command("new", "Comando para criar um novo projeto");

            foreach (var command in repositories)
            {
                var repositoryCommad = new Command(command.Description, $"Comando para criar um projeto à partir do template {command.Description}");
                repositoryCommad.AddOption(new Option(new[] { "--name", "-n" }, "Nome da solução")
                {
                    Argument = new Argument <string>
                    {
                        Arity = ArgumentArity.ExactlyOne
                    }
                });

                repositoryCommad.Handler = CommandHandler.Create <string>((name) => {
                    if (string.IsNullOrEmpty(name))
                    {
                        Console.WriteLine("Usage: new [template] [options]");
                        Console.WriteLine("\n");
                        Console.WriteLine("Options:");
                        Console.WriteLine("-n, --name <NomeDoSeuProjeto>");
                        return;
                    }

                    CreateProject(name, command.Url);
                });

                cmd.Add(repositoryCommad);
            }

            cmd.Handler = CommandHandler.Create(() =>
            {
                var table = new TableView <Projects>
                {
                    Items = repositories
                };

                Console.WriteLine("\n");
                Console.WriteLine("Usage: new [template]");
                Console.WriteLine("\n");

                table.AddColumn(template => template.Description, "Template");

                var screen = new ScreenView(consoleRenderer, invocationContext.Console)
                {
                    Child = table
                };
                screen.Render();

                Console.WriteLine("-----");
                Console.WriteLine("\n");
                Console.WriteLine("Exemples:");
                Console.WriteLine($"  CodInsightsCLI new { repositories[0].Description } --name NomeDoSeuProjeto");
            });

            return(cmd);
        }
Exemplo n.º 19
0
        public BundleDataViewer(EditorWindow hostWindow)
        {
            m_dataTable = new TableView(hostWindow, typeof(BundleImportData));

            // setup the description for content
            m_dataTable.AddColumn("RootPath", "RootPath", 0.30f, TextAnchor.MiddleLeft);
            m_dataTable.AddColumn("FileNameMatch", "Name", 0.15f);
            m_dataTable.AddColumn("Index", "Priority", 0.05f);
            m_dataTable.AddColumn("Publish", "Publish", 0.05f);
            m_dataTable.AddColumn("PushDependice", "Push", 0.05f);
            m_dataTable.AddColumn("Type", "Type", 0.10f);
            m_dataTable.AddColumn("LoadState", "LoadState", 0.10f);
            m_dataTable.AddColumn("LimitCount", "LimitCount", 0.05f);
            m_dataTable.AddColumn("LimitKBSize", "LimitKBSize", 0.05f);
            m_dataTable.AddColumn("SkipData", "SkipData", 0.05f);
            m_dataTable.AddColumn("TotalCount", "Count", 0.05f);

            // sorting
            m_dataTable.SetSortParams(2, false);

            m_showTable = new TableView(hostWindow, typeof(AssetPathInfo));

            m_showTable.AddColumn("Path", "Path", 1.00f, TextAnchor.MiddleLeft);

            //m_showTable.SetSortParams(1, true);

            m_control = BundleDataControl.Instance;
            m_control.SetViewer(m_dataTable, m_showTable);

            // register the event-handling function
            m_dataTable.OnSelected += m_control.OnDataSelected;
            m_showTable.OnSelected += m_control.OnInfoSelected;
        }
Exemplo n.º 20
0
        public AutoPlaylistSongsListView(AutoPlaylist playlist)
        {
            //BackgroundColor = NSColor.Blue;
            TableView.AddColumn(new NSTableColumn("Title")
            {
                Title = "Title"
            });
            TableView.AddColumn(new NSTableColumn("Artist")
            {
                Title = "Artist"
            });
            TableView.AddColumn(new NSTableColumn("Album")
            {
                Title = "Album"
            });
            TableView.DoubleClick += (object sender, EventArgs e) => {
                var item = Model.GetItem(TableView.SelectedRow);
                Model.PlayItem(item);
            };

            Model = new AutoPlaylistSongViewModel
            {
                Playlist = playlist,
                AutoPlay = false,
            };
        }
Exemplo n.º 21
0
        private void UpdateShowTableTitle()
        {
            _showTable.ClearColumns();

            foreach (var columnType in _viewerModeManager.GetShowTable(_mode))
            {
                _showTable.AddColumn(columnType.colDataPropertyName, columnType.colTitleText, columnType.widthByPercent, columnType.alignment, columnType.fmt);
            }
        }
            public DirectoryView(DirectoryInfo directory)
            {
                if (directory == null)
                {
                    throw new ArgumentNullException(nameof(directory));
                }

                var formatter = new SpanFormatter();

                formatter.AddFormatter <DateTime>(d => $"{d:d} {ForegroundColorSpan.DarkGray()}{d:t}");

                Add(new ContentView(""));
                Add(new ContentView(""));

                Add(new ContentView($"Directory: {directory.FullName}"));

                Add(new ContentView(""));
                Add(new ContentView(""));

                var directoryContents = directory.EnumerateFileSystemInfos()
                                        .OrderBy(f => f is DirectoryInfo
                                                                   ? 0
                                                                   : 1).ToList();

                var tableView = new TableView <FileSystemInfo>();

                tableView.Items = directoryContents;
                tableView.AddColumn(f => f is DirectoryInfo
                                     ? Span($"{ForegroundColorSpan.LightGreen()}{f.Name} ")
                                     : Span($"{ForegroundColorSpan.White()}{f.Name} "),
                                    new ContentView(formatter.ParseToSpan($"{Ansi.Text.UnderlinedOn}Name{Ansi.Text.UnderlinedOff}")));

                tableView.AddColumn(f => formatter.Format(f.CreationTime),
                                    new ContentView(formatter.ParseToSpan($"{Ansi.Text.UnderlinedOn}Created{Ansi.Text.UnderlinedOff}")));
                tableView.AddColumn(f => formatter.Format(f.LastWriteTime),
                                    new ContentView(formatter.ParseToSpan($"{Ansi.Text.UnderlinedOn}Modified{Ansi.Text.UnderlinedOff}")));

                Add(tableView);

                Span Span(FormattableString formattableString)
                {
                    return(formatter.ParseToSpan(formattableString));
                }
            }
Exemplo n.º 23
0
        public void _init(EditorWindow win)
        {
            _rootPath             = new ELabelInput("根目录:", 80, "", 400);
            _searchBtn            = new EButton("根据目录检索", 150);
            _serchAllBtn          = new EButton("检索所有目录", 150);
            _loadRuleBtn          = new EButton("加载纹理规则", 150);
            _formatBtn            = new EButton("格式化纹理", 150);
            _searchBtn.OnClick   += OnSearchByPath;
            _serchAllBtn.OnClick += OnSearchAll;
            _loadRuleBtn.OnClick += OnloadRuleBtn;
            _formatBtn.OnClick   += OnFormatBtn;
            ERect item = _rootPath;

            AddComponent(_rootPath, 5, 5);
            item                      = AddComponentRight(_searchBtn, item);
            item                      = AddComponentRight(_serchAllBtn, item);
            item                      = AddComponentRight(_loadRuleBtn, item);
            item                      = AddComponentRight(_formatBtn, item);
            _texRuleTable             = new TableView(win, typeof(AssetFormatRule));
            _texRuleTable.OnSelected += OnRuleSelected;
            _texRuleTable.AddColumn("FilterPath", "过滤的路径", 0.45f);
            _texRuleTable.AddColumn("FilterRule", "过滤规则", 0.35f);
            _texRuleTable.AddColumn("FormatRule", "格式化", 0.25f);
            _texRuleTablePanel = new TableViewPanel(Ew - 10, 200);
            _texRuleTablePanel.AddTableView(_texRuleTable);
            AddComponent(_texRuleTablePanel, 5, 10 + _rootPath.Eh);

            _texShowTable             = new TableView(win, typeof(TextureFormatInfo));
            _texShowTable.OnSelected += OnInfoSelected;
            _texShowTable.AddColumn("Path", "路径", 0.35f, TextAnchor.MiddleLeft);
            _texShowTable.AddColumn("MemSize", "内存占用", 0.05f, TextAnchor.MiddleCenter, "<fmt_bytes>");
            _texShowTable.AddColumn("ReadWriteEnable", "R/W", 0.05f);
            _texShowTable.AddColumn("MipmapEnable", "Mipmap", 0.05f);
            _texShowTable.AddColumn("IsSpriteTag", "图集(和Format冲突)", 0.1f);
            _texShowTable.AddColumn("AndroidFormat", "AndroidFormat", 0.1f);
            _texShowTable.AddColumn("IosFormat", "IosFormat", 0.1f);
            _texShowTable.AddColumn("ImportType", "纹理格式", 0.1f);
            _texShowTable.AddColumn("ImportShape", "ImportShape", 0.1f);

            _texShowTablePanel = new TableViewPanel(Ew - 10, Eh - 10 - _rootPath.Eh - _texRuleTablePanel.Eh);
            _texShowTablePanel.AddTableView(_texShowTable);
            AddComponentDown(_texShowTablePanel, _texRuleTablePanel);
        }
Exemplo n.º 24
0
        public static async Task Handler(InvocationContext invocationContext, Uri fhirServer)
        {
            var region = new Region(
                0,
                0,
                Console.WindowWidth,
                Console.WindowHeight,
                true);

            var httpClient = new HttpClient
            {
                BaseAddress = fhirServer,
            };

            var jsonResult = await httpClient.GetStringAsync(new Uri("/_schema/versions"));

            List <JToken> resultsJson = JArray.Parse(jsonResult).ToList();

            var tableView = new TableView <JToken>
            {
                Items = resultsJson,
            };

            tableView.AddColumn(
                cellValue: f => f["id"],
                header: new ContentView("Version"));

            tableView.AddColumn(
                cellValue: f => f["script"],
                header: new ContentView("Script"));

            var consoleRenderer = new ConsoleRenderer(
                invocationContext.Console,
                mode: invocationContext.BindingContext.OutputMode(),
                resetAfterRender: true);

            var screen = new ScreenView(renderer: consoleRenderer)
            {
                Child = tableView
            };

            screen.Render(region);
        }
Exemplo n.º 25
0
    void Awake()
    {
        _shaderRefTable = new TableView(this, typeof(ShaderItem));
        _shaderRefTable.AddColumn("ShaderName", "ShaderName", 0.8f, TextAnchor.MiddleLeft);
        _shaderRefTable.AddColumn("ShaderRefCount", "RefCount", 0.2f);
        _shaderRefTable.OnSelected += TableView_ShaderSelected;

        _otherShaderRefTable = new TableView(this, typeof(ShaderItem));
        _otherShaderRefTable.AddColumn("ShaderName", "ShaderName", 0.8f, TextAnchor.MiddleLeft);
        _otherShaderRefTable.AddColumn("ShaderRefCount", "RefCount", 0.2f);
        _otherShaderRefTable.OnSelected += TableView_ShaderSelected;

        _matList = new TableView(this, typeof(MaterialItem));
        _matList.AddColumn("MatName", "Name", 0.3f, TextAnchor.MiddleLeft);
        _matList.AddColumn("MatPath", "Path", 0.7f, TextAnchor.MiddleLeft);
        _matList.OnSelected += TableView_MaterialSelected;

        RefreshTables();
    }
Exemplo n.º 26
0
        public void _init(EditorWindow win)
        {
            _rootPath      = new ELabelInput("文件名:", 80, "", 400);
            _searchFileBtn = new EButton("文件名检索", 150);

            _searchFileBtn.OnClick += OnSearchFileByPath;

            ERect item = _rootPath;

            AddComponent(_rootPath, 5, 5);
            item = AddComponentRight(_searchFileBtn, item);

            _effectTable             = new TableView(win, typeof(CheckEffectReportCnf));
            _effectTable.OnSelected += OnRuleSelected;
            _effectTable.AddColumn("_assetPath", CheckEffectReportCnf.ASSET_PATH, 0.4f);
            _effectTable.AddColumn("_effName", CheckEffectReportCnf.EFFECT_NAME, 0.15f);
            _effectTable.AddColumn("_loadTime", CheckEffectReportCnf.LOAD_TIME, 0.05f);
            _effectTable.AddColumn("_instTime", CheckEffectReportCnf.INST_TIME, 0.05f);

            _effectTable.AddColumn("_dc", CheckEffectReportCnf.DRAWCALL, 0.05f);
            _effectTable.AddColumn("_triangles", CheckEffectReportCnf.TRIANGLES, 0.05f);
            _effectTable.AddColumn("_materialCount", CheckEffectReportCnf.MATERIAL_COUNT, 0.05f);
            _effectTable.AddColumn("_totalPsCount", CheckEffectReportCnf.TOTAL_PS_COUNT, 0.05f);
            _effectTable.AddColumn("_texMemBytes", CheckEffectReportCnf.TEX_MEM_BYTES, 0.05f);
            _effectTable.AddColumn("_texMemCount", CheckEffectReportCnf.TEX_MEM_COUNT, 0.05f);
            _effectTable.AddColumn("_animationCount", CheckEffectReportCnf.ANIM_COUNT, 0.05f);


            _effectTablePanel = new TableViewPanel(Ew - 10, 200);
            _effectTablePanel.AddTableView(_effectTable);
            _effectTablePanel.RefreshData(_shows);

            AddComponent(_effectTablePanel, 5, 10 + _rootPath.Eh);

            _effectTexTable = new TableView(win, typeof(TmpStringInfo));
            _effectTexTable.AddColumn("_param1", "路径", 0.45f, TextAnchor.MiddleLeft);
            _effectTexTable.AddColumn("_param2", "内存占用", 0.05f, TextAnchor.MiddleCenter);


            _effectTexTablePanel = new TableViewPanel(Ew - 10, Eh - 10 - _rootPath.Eh - _effectTablePanel.Eh);
            _effectTexTablePanel.AddTableView(_effectTexTable);
            AddComponentDown(_effectTexTablePanel, _effectTablePanel);
        }
Exemplo n.º 27
0
    public TextureInfoViewer()
    {
        _textureInfoTable = new TableView(this, typeof(TextureInfoItem));
        _textureInfoTable.AddColumn("TextureName", "Texture Name", 0.5f, TextAnchor.MiddleLeft);
        _textureInfoTable.AddColumn("TextureWidth", "Width", 0.1f, TextAnchor.MiddleCenter);
        _textureInfoTable.AddColumn("TextureHeight", "Height", 0.1f, TextAnchor.MiddleCenter);
        _textureInfoTable.AddColumn("TextureSize", "Size", 0.2f, TextAnchor.MiddleCenter, PAEditorConst.BytesFormatter);
        _textureInfoTable.OnSelected += OnTextureSelected;

        _textureInfoTiles             = new TileView(this);
        _textureInfoTiles.OnSelected += OnTextureSelected;

        _textureCatTable = new TableView(this, typeof(TextureCategoryItem));
        _textureCatTable.AddColumn("TextureCatName", "Category Name", 0.5f, TextAnchor.MiddleLeft);
        _textureCatTable.AddColumn("TextureCat", "CatID", 0.1f);
        _textureCatTable.AddColumn("TextureCatSize", "Size", 0.2f, TextAnchor.MiddleCenter, PAEditorConst.BytesFormatter);
        _textureCatTable.AddColumn("TextureCatCount", "Count", 0.2f);
        _textureCatTable.OnSelected += TableView_TextureCategorySelected;
    }
        public TextureOverviewViewer(EditorWindow hostWindow)
        {
            m_data = new List <object> [(int)TextureOverviewMode.Count];
            m_flag = new bool[(int)TextureOverviewMode.Count];
            for (int i = 0; i < (int)TextureOverviewMode.Count; ++i)
            {
                m_flag[i] = false;
                m_data[i] = new List <object>();
            }
            m_dataTable = new TableView(hostWindow, typeof(TextureOverviewData));

            TextureOverviewData.SwitchDataTableMode(m_mode, m_dataTable);

            m_showTable = new TableView(hostWindow, typeof(TextureInfo));
            m_showTable.AddColumn("Path", "Path", 0.8f, TextAnchor.MiddleLeft);
            m_showTable.AddColumn("MemSize", "Memory", 0.2f, TextAnchor.MiddleCenter, "<fmt_bytes>");

            m_dataTable.OnSelected += OnDataSelected;
            m_showTable.OnSelected += OnInfoSelected;
        }
Exemplo n.º 29
0
        public void _init()
        {
            int depWidth = 400;

            _tableView             = new TableView(Win, typeof(AnimationReportInfo));
            _tableView.OnSelected += OnSelectAnimation;
            _tableView.AddColumn("AnimationName", "动作名称", 0.8f);
            _tableView.AddColumn("MemSizeT", "内存占用", 0.1f);
            _tableView.AddColumn("BeRefCount", "冗余数", 0.1f);
            _panel = new TableViewPanel(Ew - 10 - depWidth, Eh);
            _panel.AddTableView(_tableView);
            AddComponent(_panel, 5, 5);

            _depTableView = new TableView(Win, typeof(TmpStringInfo));
            _depTableView.AddColumn("_param1", "冗余列表", 1, TextAnchor.MiddleLeft);
            _depTableView.OnSelected += OnSelectFile;
            _depTabPanel              = new TableViewPanel(depWidth, Eh);
            _depTabPanel.AddTableView(_depTableView);
            AddComponentRight(_depTabPanel, _panel);
        }
Exemplo n.º 30
0
        /// <summary>
        /// Initializes a new instance of the <see cref="CaptureView"/> class.
        /// </summary>
        public CaptureView(List <Capture> captures)
        {
            Add(new ContentView(""));
            Add(new ContentView("Captures"));
            Add(new ContentView(""));

            var table = new TableView <Capture>()
            {
                Items = captures
            };

            table.AddColumn(p => p.UrlKey, new ContentView("Url".PadRight(60).Underline()));
            table.AddColumn(p => p.MimeType, new ContentView("MimeType".PadRight(30).Underline()));
            table.AddColumn(p => p.Length, new ContentView("Length".Underline()));
            table.AddColumn(p =>
            {
                if (String.IsNullOrEmpty(p.Operation))
                {
                    return("--".PadRight(15).Red());
                }

                switch (p.Operation)
                {
                case "Waiting": return(p.Operation.PadRight(15).LightYellow());

                case "Downloading": return(p.Operation.PadRight(15).Magenta());

                case "Exists": return(p.Operation.PadRight(15).Yellow());

                case "Saving": return(p.Operation.PadRight(15).Green());

                case "Done": return(p.Operation.PadRight(15).LightGreen());

                case "Error": return(p.Operation.PadRight(15).Red());

                default: return(p.Operation.PadRight(15).White());
                }
            }, new ContentView("Status".Underline()));

            Add(table);
        }