diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index eac428de..81401c93 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -21,10 +21,8 @@ ] }, "dotnet-reportgenerator-globaltool": { - "version": "5.2.1", - "commands": [ - "reportgenerator" - ] + "version": "5.2.2", + "commands": ["reportgenerator"] } } } \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f84d25a8..047ac824 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,7 +1,7 @@ name: CI and docs env: - ACTIONS_RUNNER_NODE16: true + ACTIONS_RUNNER_NODE20: true on: push: @@ -14,13 +14,13 @@ jobs: os: [ubuntu-latest, windows-latest, macos-latest] steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup .NET - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@v4 with: dotnet-version: 8.x - name: Restore dependencies - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.nuget/packages key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} @@ -41,7 +41,7 @@ jobs: - name: Convert coverage report to lcov format run: reportgenerator "-reports:./coverage.opencover.xml" "-targetdir:coverage" "-reporttypes:lcov" - name: Coveralls upload - uses: coverallsapp/github-action@master + uses: coverallsapp/github-action@v2 with: github-token: ${{ secrets.GITHUB_TOKEN }} path-to-lcov: ./coverage/lcov.info @@ -52,9 +52,9 @@ jobs: timeout-minutes: 15 steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup .NET - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@v4 with: dotnet-version: 8.x - name: Build diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 1b1ad688..6cd8bdd3 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -22,7 +22,7 @@ jobs: - name: Set VERSION variable from tag run: echo "VERSION=${GITHUB_REF/refs\/tags\/v/}" >> $GITHUB_ENV - name: Build - run: dotnet build --configuration Release /p:Version=${VERSION} + run: dotnet build -c Release /p:Version=${VERSION} /p:ContinuousIntegrationBuild=true - name: Pack run: dotnet pack src/ConsoleAppVisuals/ConsoleAppVisuals.csproj --configuration Release /p:ContinuousIntegrationBuild=true /p:Version=${VERSION} --no-build --output . - name: Push to GitHub Packages diff --git a/README.md b/README.md index 7c8388a6..ea909948 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ > User-friendly .NET visuals library designed for console apps -[![version](https://img.shields.io/nuget/v/ConsoleAppVisuals.svg?label=version)](https://www.nuget.org/packages/ConsoleAppVisuals/) [![NuGet](https://img.shields.io/nuget/dt/ConsoleAppVisuals.svg)](https://www.nuget.org/packages/ConsoleAppVisuals/) [![GitHub](https://img.shields.io/github/stars/MorganKryze/consoleappvisuals.svg?style=flat&logo=github&colorB=yellow&label=stars)](https://github.com/MorganKryze/ConsoleAppVisuals) [![Coverage Status](https://coveralls.io/repos/github/MorganKryze/ConsoleAppVisuals/badge.svg?)](https://coveralls.io/github/MorganKryze/ConsoleAppVisuals?branch=main) [![License: GNU GPL](https://img.shields.io/badge/License-GNU_GPL-orange.svg)](https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE) +[![version](https://img.shields.io/nuget/v/ConsoleAppVisuals.svg?label=version)](https://www.nuget.org/packages/ConsoleAppVisuals/) [![NuGet](https://img.shields.io/nuget/dt/ConsoleAppVisuals.svg)](https://www.nuget.org/packages/ConsoleAppVisuals/) [![GitHub](https://img.shields.io/github/stars/MorganKryze/consoleappvisuals.svg?style=flat&logo=github&colorB=yellow&label=stars)](https://github.com/MorganKryze/ConsoleAppVisuals) [![Coverage Status](https://coveralls.io/repos/github/MorganKryze/ConsoleAppVisuals/badge.svg?)](https://coveralls.io/github/MorganKryze/ConsoleAppVisuals?branch=main) [![License: GNU GPL](https://img.shields.io/badge/License-GNU_GPL-orange.svg)](https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE) [![Lines Of Code](https://tokei.rs/b1/github/MorganKryze/ConsoleAppVisuals)](https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/src/ConsoleAppVisuals) ![title](docs/assets/vid/gif/presentation.gif) @@ -10,7 +10,7 @@ Feel free to check out the following resources to help you get started: -- Take a quick look at our [example project](https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs) to understand how to implement the library in your own project +- Take a quick look at our [example project](https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/) to understand how to implement the library in your own project - A [complete documentation](https://morgankryze.github.io/ConsoleAppVisuals/) is also available. ## Install @@ -51,6 +51,7 @@ After installing the library, do not forget to add the following statement at th ```csharp using ConsoleAppVisuals; +using ConsoleAppVisuals.Elements; ``` #### Work with static elements @@ -73,20 +74,15 @@ Finally, you can display the `Window`: Window.Render(); ``` -Now at each refresh, the `Title` element will appear on screen. To disable it, you may choose one of these options: +Now at each refresh, the `Title` element will appear on screen. To disable it, you can use: ```csharp -// Will look for a Title element and deactivate it, the first on the list -Window.DeactivateElement(); - -// Will deactivate the exampleTitle element Window.DeactivateElement(exampleTitle); ``` Or simply remove it from the list: ```csharp -Window.RemoveElement<Title>(); Window.RemoveElement(exampleTitle); ``` @@ -95,7 +91,7 @@ Window.RemoveElement(exampleTitle); The process is similar to the static elements. The difference is that you can get a response from your interaction with these elements. Let's create a `Prompt` element: ```csharp -Prompt examplePrompt = new Prompt("What is your name?", "Theo"); +Prompt examplePrompt = new Prompt("What is your name?"); ``` Then, you can add it to `Window`: @@ -110,13 +106,13 @@ Finally, you can display the `Window`, remember that interactive element are dis // Add this line if you have static elements to display Window.Render(); -Window.ActivateElement<Prompt>(); +Window.ActivateElement(examplePrompt); ``` To get the response simply add: ```csharp -var responsePrompt = Window.GetResponse<Prompt, string>(); +var responsePrompt = examplePrompt.GetResponse(); ``` Access to the response data using: @@ -130,12 +126,12 @@ Console.WriteLine(responsePrompt?.Info); ``` > [!NOTE] -> Getting the response from an interactive element will automatically deactivate it. +> The `InteractiveElement` object deactivate themselves after their execution. You may now remove the element from the list if you want to: ```csharp -Window.RemoveElement<Prompt>(); +Window.RemoveElement(examplePrompt); ``` ## Roadmap diff --git a/SECURITY.md b/SECURITY.md index 8c24a48a..8d77bf6e 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -4,6 +4,7 @@ | Version | Supported | | ------- | ------------------ | +| 3.1.x | :warning: | | 3.0.x | :warning: | | 2.7.x | :white_check_mark: | | 2.6.x | :white_check_mark: | @@ -14,7 +15,7 @@ | 2.1.x | :white_check_mark: | | < 2.1.0 | :x: | -3.0.x are the latest versions. They are not fully tested yet and may contain some bugs. Please report any issue you may encounter. +3.0.x and 3.0.x are the latest versions. They are not fully tested yet and may contain some bugs. Please report any issue you may encounter. 1.0.x and 2.0.x are not supported anymore. Please update to the latest version to benefit from the latest security updates. diff --git a/docs/articles/create_element.md b/docs/articles/create_element.md index a6af44e1..c6420bb7 100644 --- a/docs/articles/create_element.md +++ b/docs/articles/create_element.md @@ -172,26 +172,26 @@ Once your customization is done, you may use your element in your application ju Now that you know how to create your own elements, you can check if they are available in the library. To do so, you can use built-in elements to display all the elements available in the library (available in the [example project](https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/InteractiveDemo.cs)). Here is an example of how to do it: ```csharp -ElementsList list = new(); -Window.AddElement(list); +ElementsList elementList = new ElementsList(); +Window.AddElement(elementList); -Window.Render(); -Window.StopExecution(); +Window.Render(elementList); +Window.Freeze(); -Window.Clear(); -Window.RemoveElement(list); +Window.DeactivateElement(elementList); +Window.RemoveElement(elementList); ``` Or target only interactive elements: ```csharp -InteractiveList list = new(); -Window.AddElement(list); +InteractiveList interactiveList = new InteractiveList(); +Window.AddElement(interactiveList); -Window.Render(); -Window.StopExecution(); +Window.Render(interactiveList); +Window.Freeze(); -Window.Clear(); -Window.RemoveElement(list); +Window.DeactivateElement(interactiveList); +Window.RemoveElement(interactiveList); ``` diff --git a/docs/articles/publish_library.md b/docs/articles/publish_library.md index 1bf6ac12..2658ddaf 100644 --- a/docs/articles/publish_library.md +++ b/docs/articles/publish_library.md @@ -90,6 +90,8 @@ Here is a template for a `.csproj` file made for publishing a package: <TargetFramework>net8.0</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> + <!-- MANDATORY: add your metadata comments to your package --> + <GenerateDocumentationFile>true</GenerateDocumentationFile> </PropertyGroup> <PropertyGroup> @@ -110,15 +112,15 @@ Here is a template for a `.csproj` file made for publishing a package: <RepositoryType>git</RepositoryType> <PackageReadmeFile>README.md</PackageReadmeFile> <PackageLicenseFile>LICENSE</PackageLicenseFile> - <!-- MANDATORY: add your metadata comments to your package --> - <GenerateDocumentationFile>true</GenerateDocumentationFile> <!-- This line make your package deterministic --> <EmbedUntrackedSources>true</EmbedUntrackedSources> </PropertyGroup> - <!-- This code block make your package deterministic --> - <PropertyGroup Condition="'$(GITHUB_ACTIONS)' == 'true'"> - <ContinuousIntegrationBuild>true</ContinuousIntegrationBuild> + <PropertyGroup> + <!-- NuGet Package Explorer health standards --> + <EmbedUntrackedSources>true</EmbedUntrackedSources> + <PublishRepositoryUrl>true</PublishRepositoryUrl> + <IncludeSymbols>true</IncludeSymbols> </PropertyGroup> <ItemGroup> @@ -210,7 +212,7 @@ jobs: - name: Set VERSION variable from tag run: echo "VERSION=${GITHUB_REF/refs\/tags\/v/}" >> $GITHUB_ENV - name: Build - run: dotnet build --configuration Release /p:Version=${VERSION} + run: dotnet build --configuration Release /p:ContinuousIntegrationBuild=true /p:Version=${VERSION} - name: Pack run: dotnet pack <your_path_from_your_project_file> --configuration Release /p:ContinuousIntegrationBuild=true /p:Version=${VERSION} --no-build --output . - name: Push to GitHub Packages @@ -242,7 +244,6 @@ If that project was indeed for you for demo purposes, you cannot delete it from ## Resources - [Official NuGet documentation](https://learn.microsoft.com/nuget/quickstart/create-and-publish-a-package-using-the-dotnet-cli) - - [Main Source](https://acraven.medium.com/a-nuget-package-workflow-using-github-actions-7da8c6557863) - - [Recap](https://levelup.gitconnected.com/publish-to-nuget-with-github-actions-4e1486e7c19f) +- [Deterministic Builds](https://github.com/clairernovotny/DeterministicBuilds) diff --git a/docs/elements/first_element.md b/docs/elements/first_element.md deleted file mode 100644 index ab790eb9..00000000 --- a/docs/elements/first_element.md +++ /dev/null @@ -1,6 +0,0 @@ -# First element - -Work in progress... - -> [!NOTE] -> If this part really raises your interest, feel free to notify me by [opening an issue](https://github.com/MorganKryze/ConsoleAppVisuals/issues) or [contact me by email](mailto:morgan@kodelab.fr). diff --git a/docs/elements/index.md b/docs/elements/index.md deleted file mode 100644 index f844a34d..00000000 --- a/docs/elements/index.md +++ /dev/null @@ -1,6 +0,0 @@ -# Elements - -Work in progress... - -> [!NOTE] -> This subject is briefly tackled in the docs but if this part really thrills you, feel free to notify me by [opening an issue](https://github.com/MorganKryze/ConsoleAppVisuals/issues) or [contact me by email](mailto:morgan@kodelab.fr). diff --git a/docs/elements/toc.yml b/docs/elements/toc.yml deleted file mode 100644 index ce6d4da3..00000000 --- a/docs/elements/toc.yml +++ /dev/null @@ -1,5 +0,0 @@ -items: - - name: Getting Started - href: index.md - - name: First element - href: first_element.md diff --git a/docs/index.md b/docs/index.md index c8e267cf..9f2f5c40 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,6 +1,6 @@ # ConsoleAppVisuals -[![version](https://img.shields.io/nuget/v/ConsoleAppVisuals.svg?label=version)](https://www.nuget.org/packages/ConsoleAppVisuals/) [![NuGet](https://img.shields.io/nuget/dt/ConsoleAppVisuals.svg)](https://www.nuget.org/packages/ConsoleAppVisuals/) [![GitHub](https://img.shields.io/github/stars/MorganKryze/consoleappvisuals.svg?style=flat&logo=github&colorB=yellow&label=stars)](https://github.com/MorganKryze/ConsoleAppVisuals) [![Coverage Status](https://coveralls.io/repos/github/MorganKryze/ConsoleAppVisuals/badge.svg?branch=main)](https://coveralls.io/github/MorganKryze/ConsoleAppVisuals?branch=main)[![License: GNU GPL](https://img.shields.io/badge/License-GNU_GPL-orange.svg)](https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE) +[![version](https://img.shields.io/nuget/v/ConsoleAppVisuals.svg?label=version)](https://www.nuget.org/packages/ConsoleAppVisuals/) [![NuGet](https://img.shields.io/nuget/dt/ConsoleAppVisuals.svg)](https://www.nuget.org/packages/ConsoleAppVisuals/) [![GitHub](https://img.shields.io/github/stars/MorganKryze/consoleappvisuals.svg?style=flat&logo=github&colorB=yellow&label=stars)](https://github.com/MorganKryze/ConsoleAppVisuals) [![Coverage Status](https://coveralls.io/repos/github/MorganKryze/ConsoleAppVisuals/badge.svg?branch=main)](https://coveralls.io/github/MorganKryze/ConsoleAppVisuals?branch=main)[![License: GNU GPL](https://img.shields.io/badge/License-GNU_GPL-orange.svg)](https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE) [![Lines Of Code](https://tokei.rs/b1/github/MorganKryze/ConsoleAppVisuals)](https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/src/ConsoleAppVisuals) ![presentation](assets/vid/gif/presentation.gif) @@ -9,12 +9,11 @@ This is the documentation for the `ConsoleAppVisuals` library. This is a simple and easy-to-use library that allows you to create visual elements in the console. Here are all the resources available: 1. [Introduction](/ConsoleAppVisuals/introduction/index.html): find the installation process, the first steps into the library and the description of the `Core` and `Window` classes. -2. [Elements](/ConsoleAppVisuals/elements/index.html): find the detailed features of the visual elements available and recommendations. -3. [References](/ConsoleAppVisuals/references/index.html): find all methods, properties and classes with their description and all arguments available. -4. [Articles](/ConsoleAppVisuals/articles/index.html): find some additional articles about how to create and publish a library or create your documentation. -5. [Legacy](/ConsoleAppVisuals/legacy/index.html): find the old documentation of the library for the versions 2.x.x and below. +2. [References](/ConsoleAppVisuals/references/index.html): find all methods, properties and classes with their description and all arguments available. +3. [Articles](/ConsoleAppVisuals/articles/index.html): find some additional articles about how to create and publish a library or create your documentation. +4. [Legacy](/ConsoleAppVisuals/legacy/index.html): find the old documentation of the library for the versions 2.x.x and below. -Finally, an commented [example project](https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs) to see how to use the library in a real project. If you have any questions, feel free to ask them in the [discussions](https://github.com/MorganKryze/ConsoleAppVisuals/discussions) section. +Finally, an commented [example project](https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/) to see how to use the library in a real project. If you have any questions, feel free to ask them in the [discussions](https://github.com/MorganKryze/ConsoleAppVisuals/discussions) section. ## Supported .NET versions diff --git a/docs/introduction/first_app.md b/docs/introduction/first_app.md index 2ef4d38a..fe65982a 100644 --- a/docs/introduction/first_app.md +++ b/docs/introduction/first_app.md @@ -81,6 +81,7 @@ Now, let's add the `ConsoleAppVisuals` package to our project: ```csharp using System; using ConsoleAppVisuals; +using ConsoleAppVisuals.Elements; namespace MyApp { @@ -105,7 +106,7 @@ Window.AddElement(title); And finally, we can render the `Title` from the `Window`: ```csharp -Window.RenderOneElement(title); +Window.Render(title); ``` ![Title](../assets/img/jpg/first_app/title.jpg) @@ -158,7 +159,7 @@ Window.ActivateElement(prompt); Now that we have well displayed the prompt, we can get the user's response by adding the following line of code after the `Window.ActivateElement(prompt)` line: ```csharp -var response = Window.GetResponse<Prompt, string>(); +var response = prompt.GetResponse(); ``` This will retrieve an response object that has two properties: `State` and `Value`: @@ -182,11 +183,11 @@ EmbeddedText text = new EmbeddedText( "You just wrote " + response?.Value + "!", "And you " + response?.Status + "!" }, - $"Next {Core.GetSelector.Item1}", - TextAlignment.Center + $"Next {Core.GetSelector.Item1}" ); Window.AddElement(text); + Window.ActivateElement(text); ``` @@ -226,17 +227,17 @@ Window.AddElement(prompt); Window.ActivateElement(prompt); -var response = Window.GetResponse<Prompt, string>(); +var response = prompt.GetResponse(); EmbedText text = new EmbedText( new List<string>() { "You just wrote " + response?.Value + "!", "And you " + response?.Status + "!" }, - $"Next {Core.GetSelector.Item1}", - TextAlignment.Center + $"Next {Core.GetSelector.Item1}" ); Window.AddElement(text); + Window.ActivateElement(text); Window.Close(); diff --git a/docs/introduction/index.md b/docs/introduction/index.md index 27270975..4815ebe5 100644 --- a/docs/introduction/index.md +++ b/docs/introduction/index.md @@ -61,7 +61,7 @@ Window.Render(); Now at each refresh, the `Title` element will appear on screen. To disable it, you may add: ```csharp -Window.DeactivateElement<Title>(); +Window.DeactivateElement(exampleTitle); ``` ## Installation diff --git a/docs/introduction/menus_management.md b/docs/introduction/menus_management.md index be4f1a0c..66182ae4 100644 --- a/docs/introduction/menus_management.md +++ b/docs/introduction/menus_management.md @@ -24,6 +24,8 @@ And your cleaned `Program.cs` file should look like this: ```csharp using System; using ConsoleAppVisuals; +using ConsoleAppVisuals.Elements; +using ConsoleAppVisuals.Enums; namespace MyApp { @@ -37,6 +39,9 @@ namespace MyApp } ``` +> ![Note] +> We added `using ConsoleAppVisuals.Enums;` to the using statements to use the `Placement` and `TextAlignment` enums. + ## Manage menu status Now that we can create a menu and collect the output, let's see how to manage the output and act accordingly: @@ -54,7 +59,7 @@ var menu = new ScrollingMenu( Window.AddElement(menu); Window.ActivateElement(menu); -var response = Window.GetResponse<ScrollingMenu, int>(); +var response = menu.GetResponse(); switch (response?.Status) { @@ -71,6 +76,8 @@ switch (response?.Status) ); Window.AddElement(embedSelected); Window.ActivateElement(embedSelected); + + Window.RemoveElement(embedSelected); break; case Output.Escaped: var embedEscaped = new EmbedText( @@ -85,6 +92,8 @@ switch (response?.Status) ); Window.AddElement(embedEscaped); Window.ActivateElement(embedEscaped); + + Window.RemoveElement(embedEscaped); break; case Output.Deleted: var embedDeleted = new EmbedText( @@ -99,6 +108,8 @@ switch (response?.Status) ); Window.AddElement(embedDeleted); Window.ActivateElement(embedDeleted); + + Window.RemoveElement(embedDeleted); break; } Window.Close(); @@ -124,6 +135,8 @@ switch (response?.Status) ); Window.AddElement(embedSelected); Window.ActivateElement(embedSelected); + + Window.RemoveElement(embedSelected); break; case Output.Escaped: case Output.Deleted: @@ -148,7 +161,7 @@ var menu = new ScrollingMenu( Window.AddElement(menu); Window.ActivateElement(menu); -var response = Window.GetResponse<ScrollingMenu, int>(); +var response = menu.GetResponse(); switch (response?.Status) { case Output.Selected: @@ -201,7 +214,7 @@ EmbedText play = new( TextAlignment.Left ); Window.AddElement(play); -Window.DeactivateElement(play); +Window.DeactivateElement(play, false); EmbedText language = new( new List<string>() { "Changing language..." }, @@ -209,7 +222,7 @@ EmbedText language = new( TextAlignment.Left ); Window.AddElement(language); -Window.DeactivateElement(language); +Window.DeactivateElement(language, false); EmbedText sound = new( new List<string>() { "Changing volume..." }, @@ -217,7 +230,7 @@ EmbedText sound = new( TextAlignment.Left ); Window.AddElement(sound); -Window.DeactivateElement(sound); +Window.DeactivateElement(sound, false); var settingsOptions = new string[] { "Language", "Sound", "Back" }; var settingsMenu = new ScrollingMenu( @@ -237,7 +250,7 @@ MainMenu: Window.ActivateElement(menu); -var response = Window.GetResponse<ScrollingMenu, int>(); +var response = menu.GetResponse(); switch (response?.Status) { case Output.Selected: @@ -268,7 +281,7 @@ SettingsMenu: Window.ActivateElement(settingsMenu); -var settingsResponse = Window.GetResponse<ScrollingMenu, int>(); +var settingsResponse = settingsMenu.GetResponse(); switch (settingsResponse?.Status) { case Output.Selected: diff --git a/docs/introduction/new_elements.md b/docs/introduction/new_elements.md index d713016a..9f5377dd 100644 --- a/docs/introduction/new_elements.md +++ b/docs/introduction/new_elements.md @@ -29,6 +29,8 @@ And your cleaned `Program.cs` file should look like this: ```csharp using System; using ConsoleAppVisuals; +using ConsoleAppVisuals.Elements; +using ConsoleAppVisuals.Enums; namespace MyApp { @@ -42,6 +44,9 @@ namespace MyApp } ``` +> ![Note] +> We added `using ConsoleAppVisuals.Enums;` to the using statements to use the `Placement` and `TextAlignment` enums. + ## Disabling elements We tackled adding elements to the window. Now, let's see how to do the opposite. @@ -77,12 +82,12 @@ ElementsDashboard dashboard = new ElementsDashboard(); Window.AddElement(dashboard); Window.Render(); -Window.StopExecution(); +Window.Freeze(); Window.DeactivateElement(title); Window.Render(); -Window.StopExecution(); +Window.Freeze(); ``` ![DashBoard](../assets/vid/gif/new_elements/dash_deactivate.gif) @@ -112,12 +117,12 @@ ElementsDashboard dashboard = new ElementsDashboard(); Window.AddElement(dashboard); Window.Render(); -Window.StopExecution(); +Window.Freeze(); Window.RemoveElement(title); Window.Render(); -Window.StopExecution(); +Window.Freeze(); ``` ![DashBoard](../assets/vid/gif/new_elements/dash_remove.gif) @@ -146,7 +151,7 @@ Window.AddElement(students); Window.Render(); // TableView is a static element, so we need to stop the execution to see the result without exiting the application -Window.StopExecution(); +Window.Freeze(); ``` ![TableView](../assets/img/jpg/new_elements/table_view.jpg) @@ -183,7 +188,7 @@ TableSelector<string> players = Window.AddElement(players); // Contrary to the TableView, the TableSelector is interactive, so we do not have to stop the execution to see it, but to activate it -Window.ActivateElement<TableSelector<string>>(); +Window.ActivateElement(players); ``` ![TableSelector](../assets/vid/gif/new_elements/table_selector.gif) @@ -192,9 +197,8 @@ Now let's collect the user interaction response: ```csharp // Here a little subtlety, the type is TableSelector<string> and is associated with an int response, string refers to the type of the data displayed in the table -var response = Window.GetResponse<TableSelector<string>, int>(); - -Window.AddElement( +var response = players.GetResponse(); +var playersEmbedResponse = new EmbedText( new List<string>() { @@ -205,9 +209,9 @@ Window.AddElement( }, $"Next {Core.GetSelector.Item1}", TextAlignment.Center - ) -); -Window.ActivateElement<EmbedText>(); + ); +Window.AddElement(playersEmbedResponse); +Window.ActivateElement(playersEmbedResponse); ``` ![DashBoard](../assets/vid/gif/new_elements/embed.gif) @@ -229,7 +233,8 @@ Matrix<int?> matrix = new(data); Window.AddElement(matrix); -Window.ActivateElement<Matrix<int?>>(); +Window.Render(matrix); +Window.Freeze(); ``` ![Matrix](../assets/img/jpg/new_elements/matrix.jpg) @@ -251,13 +256,13 @@ var menu = new ScrollingMenu( ); Window.AddElement(menu); Window.ActivateElement(menu); -var response = Window.GetResponse<ScrollingMenu, int>(); +var responseMenu = menu.GetResponse(); var embedResponse = new EmbedText( new List<string>() { - $"The user: {response?.Status}", - $"Index: {response?.Value}", - $"Which corresponds to: {options[response?.Value ?? 0]}" + $"The user: {responseMenu?.Status}", + $"Index: {responseMenu?.Value}", + $"Which corresponds to: {options[responseMenu?.Value ?? 0]}" }, $"Next {Core.GetSelector.Item1}", TextAlignment.Left diff --git a/docs/references/index.md b/docs/references/index.md index 3449c51b..c563fb4e 100644 --- a/docs/references/index.md +++ b/docs/references/index.md @@ -1,12 +1,67 @@ # Getting started -## Introduction +This section describes all references of the library. you will find all arguments, method signatures, classes, and enums that are available for the user. -This section describes all complete references of the library. you will find all arguments, method signatures, classes, and enums that are available for the user. +> [!CAUTION] +> Adding `using ConsoleAppVisuals;` at the beginning of your C# file is necessary but not sufficient to use the full potential of the library. Refer to the descriptions below to discover which namespaces to add to your project and the Introduction section to see how they are used. + +## Namespace descriptions + +### `ConsoleAppVisuals` + +```csharp +using ConsoleAppVisuals; +``` + +This is the main namespace of the library. It contains the `Core` and `Window` classes. The `Core` class is the core of the library interaction with the console. It contains the methods to interact with the console on a low level basis. The `Window` class is used to manage visual elements. You may use it to add, remove, update and display elements on the console. + +### `Elements` + +```csharp +using ConsoleAppVisuals.Elements; +``` + +This namespace contains all the visual elements of the library. You may find the static elements as well as the interactive elements. They share common characteristics and methods defined in the `models/Element.cs` and the `models/InteractiveElement.cs` class. + +### `Enums` + +```csharp +using ConsoleAppVisuals.Enums; +``` + +This namespace contains all the enumerations used in the library. They are used to define the behaviors, position, response of the elements in the console. + +### `Models` + +```csharp +using ConsoleAppVisuals.Models; +``` + +This namespace contains all the models of the library. They are used to define the characteristics of the elements and the interactions. You may find the `Element`, `InteractiveElement` classes for example. + +### `Attributes` + +```csharp +using ConsoleAppVisuals.Attributes; +``` + +This namespace contains the `VisualAttribute` class. This attribute is used to ignore the element when calculating coverage since untestable. + +### `Errors` + +```csharp +using ConsoleAppVisuals.Errors; +``` + +This namespace contains all the custom exceptions of the library. They are used to handle specific errors that may occur during the execution of the library. + +### Bonus: `Usings.cs` + +This file contains the different usings of the library. It is used to import the different classes of the library and enable them globally in the library. I recommend you to do the same in your projects. [See file](https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/src/ConsoleAppVisuals/Usings.cs) ## Structure -Here is the file structure of the library: +Here is the detailed file structure of the library: ```bash ConsoleAppVisuals @@ -18,18 +73,19 @@ ConsoleAppVisuals │ │ ├───Prompt.cs │ │ ├───ScrollingMenu.cs │ │ └───TableSelector.cs -│ ├───inspectors -│ │ ├───ElementList.cs -│ │ ├───InteractiveList.cs -│ │ └───ElementsDashboard.cs -│ ├───FakeLoadingBar.cs -│ ├───LoadingBar.cs -│ ├───Matrix.cs -│ ├───TableView.cs -│ ├───Banner.cs -│ ├───Header.cs -│ ├───Footer.cs -│ └───Title.cs +│ └───static +│ ├───inspectors +│ │ ├───ElementList.cs +│ │ ├───InteractiveList.cs +│ │ └───ElementsDashboard.cs +│ ├───FakeLoadingBar.cs +│ ├───LoadingBar.cs +│ ├───Matrix.cs +│ ├───TableView.cs +│ ├───Banner.cs +│ ├───Header.cs +│ ├───Footer.cs +│ └───Title.cs ├───attributes │ └───VisualAttribute.cs ├───enums @@ -46,47 +102,9 @@ ConsoleAppVisuals │ ├───InteractiveElement.cs │ ├───InteractionEventArgs.cs │ ├───Position.cs +│ ├───TextStyler.cs │ └───FontYamlFile.cs ├───Core.cs ├───Window.cs -├───TextStyler.cs └───Usings.cs ``` - -## Small descriptions - -### `Usings.cs` - -This file contains the different usings of the library. It is used to import the different classes of the library and enable them globally in the library. - -### `Core.cs` - -This class is the core of the library interaction with the console. It contains the methods to interact with the console on a low level basis. - -### `Window.cs` - -This class is used to manage visual elements. You may use it to add, remove, update and display elements on the console. - -### `TextStyler.cs` - -This class is used to style text according to a specified font. It contains the methods to apply a specific style to a text. Often used for the title. - -### `elements` - -This folder contains all the visual elements of the library. You may find the static elements as well as the interactive elements. They share common characteristics and methods defined in the `models/Element.cs` and the `models/InteractiveElement.cs` class. - -### `attributes` - -This folder contains the `VisualAttribute` class. this attribute basically indicate to ignore the element when calculating coverage since untestable. - -### `enums` - -This folder contains all the enums used in the library. They are used to define the behaviors, position, response of the elements in the console. - -### `errors` - -This folder contains all the custom exceptions of the library. They are used to handle specific errors that may occur during the execution of the library. - -### `models` - -This folder contains all the models of the library to format interactions. diff --git a/docs/toc.yml b/docs/toc.yml index 22250181..c4284f6b 100644 --- a/docs/toc.yml +++ b/docs/toc.yml @@ -2,9 +2,6 @@ items: - name: Introduction href: introduction/ homepage: introduction/index.md - - name: Elements - href: elements/ - homepage: elements/index.md - name: References href: references/ homepage: references/index.md diff --git a/example/InteractDemo.cs b/example/InteractDemo.cs index f4a32ecd..5035c574 100644 --- a/example/InteractDemo.cs +++ b/example/InteractDemo.cs @@ -1,5 +1,7 @@ using System.Text; using ConsoleAppVisuals; +using ConsoleAppVisuals.Enums; +using ConsoleAppVisuals.Models; namespace example { diff --git a/example/Program.cs b/example/Program.cs index 56896d3c..5cae4f13 100644 --- a/example/Program.cs +++ b/example/Program.cs @@ -1,4 +1,7 @@ using ConsoleAppVisuals; +using ConsoleAppVisuals.Elements; +using ConsoleAppVisuals.Enums; +using ConsoleAppVisuals.Models; namespace example { @@ -6,68 +9,85 @@ public static class Program { private static void Main() { - Debugging(); // Empty, do not mind, just for debugging purposes - - Window.AddElement(new Title("Example project")); // Define the default elements to display - Window.AddElement(new Header()); - Window.AddElement(new Footer()); - Window.AddElement(new FakeLoadingBar("[ Loading ...]")); - Window.Render(); // Render the window to display the elements above, they have only been added to the window - - Window.AddElement( // Add the scrolling menu to the window - new ScrollingMenu( - "What will be your next action?", - 0, - Placement.TopCenter, - null, - "Change Console color", - "Write on the console", - "Display paragraph", - "Display styled text", - "Display matrix", - "Answer some prompt", - "Select number", - "Display table", - "Interact with table", - "Display loading bar", - "Display elements space", - "Custom window element", - "Custom interactive element", - "Display dashboard", - "Quit the app" - ) + // Empty, do not mind, just for debugging purposes + Debugging(); + + // Create the title element + var title = new Title("Example project"); + // Add the title to the window + Window.AddElement(title); + + var header = new Header(); + Window.AddElement(header); + var footer = new Footer(); + Window.AddElement(footer); + + var fakeLoadingBar = new FakeLoadingBar("[ Loading ...]"); + Window.AddElement(fakeLoadingBar); + + // Render the window to display the elements above + Window.Render(); + + // Create the main menu element + var mainMenu = new ScrollingMenu( + "What will be your next action?", + 0, + Placement.TopCenter, + "Change Console color", + "Write on the console", + "Display styled text", + "Display paragraph", + "Answer some prompt", + "Select number", + "Display matrix", + "Display table", + "Interact with table", + "Display loading bar", + "Custom window element", + "Custom interactive element", + "Display elements space", + "Display dashboard", + "Quit the app" ); + // Add the main menu to the window + Window.AddElement(mainMenu); + // This is a label, it is used to go back to the main menu after the selection Menu: - Window.ActivateElement<ScrollingMenu>(); // Only this line will make the menu appear on the console - var response = Window.GetResponse<ScrollingMenu, int>(); // Get the response from the user. It is very important to Get the response for an Interactive element, or to Deactivate it (done by default by the GetResponse method) + // Only this line will make the menu appear on the console + Window.ActivateElement(mainMenu); + // Get the response from the user + var response = mainMenu.GetResponse(); - switch (response?.Status) // Check the response state (escape, enter or backspace) see the Output enum for more details + // Check the response state (escape, enter or backspace) + // see the Output enum for more details + switch (response?.Status) { case Output.Selected: - switch (response.Value) // Check the response info (the index of the selected item). Here the Info for a ScrollingMenu is an int + // Check the response info (the index of the selected item). + // Here the Info for a ScrollingMenu is an int + switch (response.Value) { case 0: - Window.OnResize(); // Render the window if the console has been resized - - Window.AddElement( - new ScrollingMenu( - "What color do you want to change?", - 0, - Placement.TopCenter, - null, - "White", - "Red", - "Green", - "Blue", - "Yellow", - "Magenta", - "Cyan" - ) + var colorMenu = new ScrollingMenu( + "What color do you want to change?", + 0, + Placement.TopCenter, + "White", + "Red", + "Green", + "Blue", + "Yellow", + "Magenta", + "Cyan" ); - Window.ActivateElement(5); // Activate the element at the index 5 (the ScrollingMenu) - var responseColor = Window.GetResponse<ScrollingMenu, int>(); + Window.AddElement(colorMenu); + + // Activate the element at the index 5 (the ScrollingMenu) + Window.ActivateElement(5); + var responseColor = colorMenu.GetResponse(); + switch (responseColor?.Value) { case 0: @@ -94,17 +114,19 @@ private static void Main() default: break; } + // This will refresh the window to apply the new color + Window.Render(); Window.RemoveElement(5); - Window.OnResize(); goto Menu; - case 1: // These following functions are at the core of the library, they should not be used directly - Window.OnResize(); - + case 1: + int startLine = Window.GetLineAvailable(Placement.TopCenter); + // These following functions are at the core of the library, + // they should not be used directly but can be useful Core.WriteContinuousString( "Have a look on the console to see all the text!", - Window.GetLineAvailable(Placement.TopCenter), + startLine, true, 1500, 100, @@ -116,195 +138,191 @@ private static void Main() "Bonjour le monde !", TextAlignment.Left, false, - Window.GetLineAvailable(Placement.TopLeft) + 1, + startLine + 1, true ); Core.WritePositionedString( "Hola Mundo !", TextAlignment.Right, false, - Window.GetLineAvailable(Placement.TopRight) + 2, + startLine + 2, true ); Core.WritePositionedString( "Hallo Welt !", TextAlignment.Center, false, - Window.GetLineAvailable(Placement.TopCenter) + 3, + startLine + 3, true ); Core.WritePositionedString( "Ciao mondo !", TextAlignment.Left, false, - Window.GetLineAvailable(Placement.TopLeft) + 4, + startLine + 4, true ); - Window.StopExecution(); + Window.Freeze(); - Window.Render(); - Window.OnResize(); + Window.Clear(default, startLine, 5); goto Menu; case 2: - Window.OnResize(); - - Window.AddElement( // When you add an element, the info of the constructor are not displayed by default consider looking to the documentation to know what they are or use your IDE to see them - new EmbedText( - new List<string>() - { - "C# is a general-purpose, multi-paradigm programming language encompassing strong typing,", - "lexically scoped, imperative, declarative, functional, generic, object-oriented (class-based),", - "and component-oriented programming disciplines.", - "" - }, - "Press [Enter] to continue..." - ) - ); - Window.ActivateElement<EmbedText>(); // Activate the element to display it on the console - - Window.RemoveElement<EmbedText>(); // Removing the elements from the window after their use is not mandatory but it is recommended to keep the list clean - Window.OnResize(); - goto Menu; - - case 3: // These following functions are at the core of the library, they should not be used directly - Window.OnResize(); - + // These following functions are at the core of the library, + // they should not be used directly but can be useful + int styledTextStartLine = Window.GetLineAvailable(Placement.TopCenter); Core.WritePositionedStyledText( Core.StyleText("Hello World!"), - Window.GetLineAvailable(Placement.TopCenter) + styledTextStartLine ); - Window.StopExecution(); + Window.Freeze(); - Window.Render(); + Window.Clear(default, styledTextStartLine, 6); + goto Menu; - Core.WritePositionedStyledText( - Core.StyleText("Welcome Aboard!"), - Window.GetLineAvailable(Placement.TopCenter) + case 3: + var text = new EmbedText( + new List<string>() + { + "C# is a general-purpose, multi-paradigm programming language encompassing strong typing,", + "lexically scoped, imperative, declarative, functional, generic, object-oriented (class-based),", + "and component-oriented programming disciplines.", + "" + }, + "Press [Enter] to continue..." ); - Window.StopExecution(); + Window.AddElement(text); - Window.Render(); - Window.OnResize(); + // Activate the element to display it on the console + Window.ActivateElement(text); + + // Removing the elements from the window after their use is not mandatory + // but it is recommended to keep the list clean + Window.RemoveElement(text); goto Menu; case 4: - Window.OnResize(); - - List<int?> firstRow = new() { 1, null, 2, 7, 9, 3 }; // We first create the data to display - List<int?> secondRow = new() { 4, 5, 6, 8, null, 2 }; - List<int?> thirdRow = new() { 7, 8, null, 3, 4, 5 }; - List<int?> fourthRow = new() { null, 2, 3, 4, 5, 6 }; - List<List<int?>> data = - new() { firstRow, secondRow, thirdRow, fourthRow }; - Matrix<int?> matrix = new(data); - matrix.SetRoundedCorners(false); - Window.AddElement(matrix); // Then we add the element to the window, you may update the matrix after adding it, the modification will be taken in account + var prompt = new Prompt("What is your name?", "Theo"); + Window.AddElement(prompt); - Window.ActivateElement<Matrix<int?>>(); // As this is only a display element and not interactive, we have to stop the execution to see it - Window.StopExecution(); - Window.DeactivateElement<Matrix<int?>>(); + Window.ActivateElement(prompt); - matrix.RemoveItem(new Position(0, 0)); // You can indeed update the matrix after adding it - matrix.RemoveItem(new Position(3, 5)); - Window.ActivateElement<Matrix<int?>>(); - Window.StopExecution(); - Window.DeactivateElement<Matrix<int?>>(); + var responsePrompt = prompt.GetResponse(); - matrix.UpdateItem(new Position(0, 0), 1); - matrix.UpdateItem(new Position(3, 5), 6); - Window.ActivateElement<Matrix<int?>>(); - Window.StopExecution(); - Window.DeactivateElement<Matrix<int?>>(); + // We create an EmbedText to display the response + var embedResponsePrompt = new EmbedText( + new List<string>() + { + "You just wrote " + responsePrompt?.Value + "!" + }, + $"Next {Core.GetSelector.Item1}", + TextAlignment.Center + ); + Window.AddElement(embedResponsePrompt); + Window.ActivateElement(embedResponsePrompt); - Window.RemoveElement<Matrix<int?>>(); - Window.Render(); - Window.OnResize(); + Window.RemoveElement(prompt); + Window.RemoveElement(embedResponsePrompt); goto Menu; case 5: - Window.OnResize(); + // A FloatSelector is also available depending on your needs + var intSelector = new IntSelector("Select a number", 10, 100, 25, 5); + Window.AddElement(intSelector); - Window.AddElement(new Prompt("What is your name?", "Theo")); // For more information about the Prompt element, see the documentation + Window.ActivateElement(intSelector); + var responseNumber = intSelector.GetResponse(); - Window.ActivateElement<Prompt>(); - var responsePrompt = Window.GetResponse<Prompt, string>(); // We saw Interactive elements before, here we get the response from the user as a string, an error will if you do not associate Prompt with a string - Window.AddElement( - new EmbedText( - new List<string>() - { - "You just wrote " + responsePrompt?.Value + "!" - }, - $"Next {Core.GetSelector.Item1}", - TextAlignment.Center - ) + var embedResponseNumber = new EmbedText( + new List<string>() + { + "Status: " + responseNumber?.Status.ToString(), + "Selected the number " + (responseNumber?.Value) + "!" + } ); - Window.ActivateElement<EmbedText>(); + Window.AddElement(embedResponseNumber); + Window.ActivateElement(embedResponseNumber); - Window.RemoveElement<Prompt>(); - Window.RemoveElement<EmbedText>(); + Window.RemoveElement(intSelector); + Window.RemoveElement(embedResponseNumber); goto Menu; + case 6: - Window.OnResize(); + // We first create the data to display + List<int?> firstRow = new() { 1, null, 2, 7, 9, 3 }; + List<int?> secondRow = new() { 4, 5, 6, 8, null, 2 }; + List<int?> thirdRow = new() { 7, 8, null, 3, 4, 5 }; + List<int?> fourthRow = new() { null, 2, 3, 4, 5, 6 }; + List<List<int?>> data = + new() { firstRow, secondRow, thirdRow, fourthRow }; - Window.AddElement(new IntSelector("Select a number", 10, 100, 25, 5)); // A FloatSelector is also available depending on your needs + var matrix = new Matrix<int?>(data); - Window.ActivateElement<IntSelector>(); - var responseNumber = Window.GetResponse<IntSelector, int>(); - Window.AddElement( - new EmbedText( - new List<string>() - { - "You chose to " + responseNumber?.Status.ToString(), - "the number " + (responseNumber?.Value) + "!" - }, - $"Next {Core.GetSelector.Item1}", - TextAlignment.Center - ) - ); - Window.ActivateElement<EmbedText>(); + // Then we add the element to the window, + // You may update the matrix after adding it, + // the modification will be taken in account + Window.AddElement(matrix); + Window.Render(matrix); + + // As this is only a display element and not interactive, + // we have to stop the execution to see it + Window.Freeze(); + + // You can update the matrix after adding it + matrix.RemoveItem(new Position(0, 0)); + matrix.RemoveItem(new Position(3, 5)); + Window.Render(matrix); + + Window.Freeze(); + + // Restore the data + matrix.UpdateItem(new Position(0, 0), 1); + matrix.UpdateItem(new Position(3, 5), 6); + Window.Render(matrix); + + Window.Freeze(); - Window.OnResize(); - Window.RemoveElement<IntSelector>(); - Window.RemoveElement<EmbedText>(); + Window.DeactivateElement(matrix); + Window.RemoveElement(matrix); goto Menu; case 7: - Window.OnResize(); - + // We first create the data to display, + // pay attention to the order of the data and their length + // (the length of the headers and the data must be the same) List<string> studentsHeaders = - new() { "id", "name", "major", "grades" }; // We first create the data to display, pay attention to the order of the data and their length (the length of the headers and the data must be the same) + new() { "id", "name", "major", "grades" }; List<string> student1 = new() { "01", "Theo", "Technology", "97" }; List<string> student2 = new() { "02", "Paul", "Mathematics", "86" }; List<string> student3 = new() { "03", "Maxime", "Physics", "92" }; List<string> student4 = - new() { "04", "Charles", "Computer Science", "100" }; + new() { "04", "Charles", "Computer Science", "89" }; TableView<string> students = new( "Students grades", studentsHeaders, new() { student1, student2, student3, student4 } ); - students.SetRoundedCorners(false); Window.AddElement(students); - Window.ActivateElement<TableView<string>>(); // As this is only a display element and not interactive, we have to stop the execution to see it - Window.StopExecution(); - Window.DeactivateElement<TableView<string>>(); + Window.ActivateElement(students); + // As this is only a display element and not interactive, + // we have to stop the execution to see it + Window.Freeze(); + Window.DeactivateElement(students); - students.UpdateLine(0, new() { "01", "Theo", "Biology", "100" }); // Similarly to the matrix, you can update the table after adding it + // Similarly to the matrix, you can update the table after adding it + students.UpdateLine(0, new() { "01", "Theo", "Biology", "100" }); students.RemoveLine(3); - Window.ActivateElement<TableView<string>>(); - Window.StopExecution(); - Window.DeactivateElement<TableView<string>>(); - Window.OnResize(); - Window.RemoveElement<TableView<string>>(); + Window.ActivateElement(students); + Window.Freeze(); + Window.DeactivateElement(students); + + Window.RemoveElement(students); goto Menu; case 8: - Window.OnResize(); - List<string> playersHeaders = new() { "id", "first name", "last name", "nationality", "slams" }; List<string> player1 = @@ -330,151 +348,151 @@ private static void Main() player6, player7 }; + TableSelector<string> players = new("Great tennis players", playersHeaders, playersData); - players.SetRoundedCorners(false); Window.AddElement(players); - Window.ActivateElement<TableSelector<string>>(); // Contrary to the matrix and the table, the TableSelector is interactive, so we do not have to stop the execution to see it - var responseTable = Window.GetResponse<TableSelector<string>, int>(); // Here a little subtlety, the type is TableSelector<string> and is associated with an int response, string refers to the type of the data displayed in the table - Window.AddElement( - new EmbedText( - new List<string>() - { - "You chose to " + responseTable?.Status.ToString(), - "the player " - + playersData[responseTable?.Value ?? 0][2] - + "!" - }, - $"Next {Core.GetSelector.Item1}", - TextAlignment.Center - ) + Window.ActivateElement(players); + var responseTable = players.GetResponse(); + var embedResponseTable = new EmbedText( + new List<string>() + { + "Status: " + responseTable?.Status.ToString(), + "Selected the player " + + playersData[responseTable?.Value ?? 0][2] + + "!" + } ); - Window.ActivateElement<EmbedText>(); + Window.AddElement(embedResponseTable); + Window.ActivateElement(embedResponseTable); - Window.OnResize(); - Window.RemoveElement<TableSelector<string>>(); - Window.RemoveElement<EmbedText>(); + Window.RemoveElement(players); + Window.RemoveElement(embedResponseTable); goto Menu; case 9: - Window.OnResize(); - - float progress = 0f; // Contrary to the FakeLoadingBar, the LoadingBar is corresponds to a real loading defined by a variable, here progress - Window.AddElement( - new LoadingBar( - "[ Loading ...]", - ref progress, // The variable must be passed by reference so the updates on the variable are taken in account - Placement.TopCenter, - default, - 2000 - ) + // Contrary to the FakeLoadingBar, the LoadingBar + // corresponds to a real loading defined by a variable (here progress) + float progress = 0f; + var loadingBar = new LoadingBar( + "[ Loading ...]", + // The variable must be passed by reference + // so the updates on the variable are taken in account + ref progress, + Placement.TopCenter, + 2000 ); - Thread thread = // We create a thread to simulate a process that will update the progress variable while we display the loading bar in the main thread + Window.AddElement(loadingBar); + + // We create a thread to simulate a process + // that will update the progress variable while + // we display the loading bar in the main thread + Thread thread = new(() => { for (progress = 0f; progress <= 100f; progress++) { - Window - .GetElement<LoadingBar>() - ?.UpdateProgress(progress / 100); + loadingBar.UpdateProgress(progress / 100); Thread.Sleep(30); } - Window.GetElement<LoadingBar>()?.UpdateProgress(1f); // Here is an example of how to access method from an object in the window + loadingBar.UpdateProgress(1f); }); + // Start the process thread.Start(); - Window.ActivateElement<LoadingBar>(); // Start the loading bar - thread.Join(); // Wait for the thread to finish + // Start the loading bar + Window.ActivateElement(loadingBar); + // Wait for the thread to finish + thread.Join(); - Window.RemoveElement<LoadingBar>(); + Window.RemoveElement(loadingBar); goto Menu; - case 10: // These following functions are for debugging purposes, they should not be used in a production state of a software - Window.OnResize(); - - Window.AddElement( - new EmbedText( - new List<string>() - { - "The colors represented the space taken by the elements. Press [Enter] to continue..." - }, - $"Next {Core.GetSelector.Item1}", - TextAlignment.Left - ) + case 10: + // Custom element, see the StaticDemo class + // in this project for more information + var customStaticElement = new StaticDemo( + "This element has been created in this project", + "Its interest is for demonstration only", + "The model in on the StaticDemo.cs file", + 3, + 2, + Placement.TopCenterFullWidth ); - Window.ActivateElement<EmbedText>(false); + Window.AddElement(customStaticElement); + Window.Render(customStaticElement); + Window.Freeze(); - Window.RenderAllElementsSpace(); // This method will display all the spaces taken by the element in teh window - Window.StopExecution(); - - Window.Render(); // Render the window to display the elements above - - Window.OnResize(); - Window.RemoveElement<EmbedText>(); + Window.RemoveElement(customStaticElement); goto Menu; case 11: - Window.OnResize(); - - Window.AddElement( - new StaticDemo( // Custom element, see the StaticDemo class for more information - new List<string>() - { - "This element has been created in this project", - "Its interest is for demonstration only", - "The model in on the StaticDemo.cs file" - }, - TextAlignment.Center - ) + var customInteractiveElement = new InteractDemo( + "This element is also custom for demo purposes, you may type something:" ); - Window.ActivateElement<StaticDemo>(); + Window.AddElement(customInteractiveElement); + + Window.ActivateElement(customInteractiveElement); - Window.RemoveElement<StaticDemo>(); - Window.OnResize(); + Window.RemoveElement(customInteractiveElement); goto Menu; case 12: - Window.OnResize(); - - Window.AddElement( - new InteractDemo( - "This element is also custom for demo purposes, you may type something:" - ) + // These following elements are for debugging purposes, + // they should not be used in a production state of a project + var embedInfo = new EmbedText( + new List<string>() + { + "The colors represented the space taken by the elements. Press [Enter] to continue..." + } ); - Window.ActivateElement<InteractDemo>(); + Window.AddElement(embedInfo); + Window.ActivateElement(embedInfo); - Window.DeactivateElement<InteractDemo>(); + // This method will display all the spaces taken by the element in the window + Window.RenderElementsSpace(); + Window.Freeze(); - Window.RemoveElement<InteractDemo>(); - Window.OnResize(); + // Render the window to display the elements above + Window.Render(); + + Window.RemoveElement(embedInfo); goto Menu; - case 13: // These following functions are for debugging purposes, they should not be used in a production state of a software - Window.AddElement(new ElementsDashboard()); // See all the elements in the window + case 13: + // These following functions are for debugging purposes, + // they should not be used in a production state of a software - Window.Render(); - Window.StopExecution(); + // See all the elements in the window + var dashboard = new ElementsDashboard(); + Window.AddElement(dashboard); - Window.Clear(); - Window.RemoveElement<ElementsDashboard>(); // This will remove the items from the window + Window.Render(dashboard); + Window.Freeze(); - Window.AddElement(new ElementList()); + Window.DeactivateElement(dashboard); + Window.RemoveElement<ElementsDashboard>(); - Window.Render(); - Window.StopExecution(); + // See all the element types available + var elementList = new ElementList(); + Window.AddElement(elementList); + + Window.Render(elementList); + Window.Freeze(); - Window.Clear(); + Window.DeactivateElement(elementList); Window.RemoveElement<ElementList>(); - Window.AddElement(new InteractiveList()); + // See all the interactive element types available + var interactiveList = new InteractiveList(); + Window.AddElement(interactiveList); - Window.Render(); + Window.Render(interactiveList); + Window.Freeze(); - Window.StopExecution(); - Window.DeactivateElement<InteractiveList>(); - - Window.OnResize(); + Window.DeactivateElement(interactiveList); + Window.RemoveElement<InteractiveList>(); goto Menu; default: @@ -484,40 +502,36 @@ private static void Main() break; case Output.Escaped: - Window.OnResize(); - - Window.AddElement( - new EmbedText( - new List<string>() - { - "You have selected to quit the app. Press [Enter] to continue..." - }, - $"Next {Core.GetSelector.Item1}", - TextAlignment.Left - ) + var exitText = new EmbedText( + new List<string>() + { + "You have selected to quit the app. Press [Enter] to continue..." + }, + $"Next {Core.GetSelector.Item1}", + TextAlignment.Left ); - Window.ActivateElement<EmbedText>(); + Window.AddElement(exitText); + Window.ActivateElement(exitText); + + Window.RemoveElement(exitText); - Window.RemoveElement<EmbedText>(); - Window.Close(); // Close the window and exits the app + // Close the window and exits the app + Window.Close(); break; case Output.Deleted: - Window.OnResize(); - - Window.AddElement( - new EmbedText( - new List<string>() - { - "You have selected the backspace tile. Press [Enter] to continue..." - }, - $"Next {Core.GetSelector.Item1}", - TextAlignment.Left - ) + var backspaceText = new EmbedText( + new List<string>() + { + "You have selected the backspace tile.", + "You will be redirected to the main menu.", + "Press [Enter] to continue..." + } ); - Window.ActivateElement<EmbedText>(); + Window.AddElement(backspaceText); + Window.ActivateElement(backspaceText); - Window.RemoveElement<EmbedText>(); + Window.RemoveElement(backspaceText); goto Menu; default: diff --git a/example/StaticDemo.cs b/example/StaticDemo.cs index 96476373..7f072be1 100644 --- a/example/StaticDemo.cs +++ b/example/StaticDemo.cs @@ -1,146 +1,198 @@ using ConsoleAppVisuals; +using ConsoleAppVisuals.Enums; +using ConsoleAppVisuals.Models; namespace example { - // This object is a slight modification of the EmbedText object for the demo (here not interactive). + // This object is a slight modification of the Banner object for the demo (here not interactive). public class StaticDemo : Element { - #region Fields - private readonly List<string> _text; // Your attributes should be private. - private readonly TextAlignment _align; - private readonly Placement _placement; - private readonly int _line; - private List<string>? _textToDisplay; + #region Fields + // Your attributes should be private. + private (string, string, string) _text; + private int _upperMargin; + private int _lowerMargin; + private Placement _placement; #endregion #region Properties + // You can limit the number of this element in the window. + // Do not forget that the default value is 1. + public override int MaxNumberOfThisElement => 10; + /// <summary> - /// The position of the StaticDemo element in the console. <see cref="ConsoleAppVisuals.Placement"/> for more information. + /// The placement of the banner. /// </summary> public override Placement Placement => _placement; /// <summary> - /// The Line of the StaticDemo element. + /// The height of the banner. + /// </summary> + public override int Height => UpperMargin + 1 + LowerMargin; + + /// <summary> + /// The width of the banner. /// </summary> - public override int Line => _line; + public override int Width => Console.WindowWidth; /// <summary> - /// The height of the StaticDemo element. + /// The text of the banner. /// </summary> - public override int Height => _textToDisplay!.Count; // Find the maximum of the height or width of the element to avoid conflict with other elements. + public (string, string, string) Text => _text; /// <summary> - /// The width of the StaticDemo element. + /// The upper margin of the banner. /// </summary> - public override int Width => _textToDisplay!.Max((string s) => s.Length); + public int UpperMargin => _upperMargin; - public override int MaxNumberOfThisElement => 10; // You can limit the number of this element in the window. Do not forget that the default value is 1. + /// <summary> + /// The lower margin of the banner. + /// </summary> + public int LowerMargin => _lowerMargin; #endregion #region Constructor /// <summary> - /// The natural constructor of the StaticDemo element. + /// The natural constructor of the banner. /// </summary> - /// <param name="text">The text to display.</param> - /// <param name="align">The alignment of the StaticDemo element.</param> - /// <param name="placement">The placement of the StaticDemo element.</param> - /// <param name="line">The line of the StaticDemo element.</param> + /// <param name="leftText">The text on the left of the banner.</param> + /// <param name="centerText">The text in the center of the banner.</param> + /// <param name="rightText">The text on the right of the banner.</param> + /// <param name="upperMargin">The upper margin of the banner.</param> + /// <param name="lowerMargin">The lower margin of the banner.</param> + /// <param name="placement">The placement of the banner.</param> public StaticDemo( - List<string> text, - TextAlignment align = TextAlignment.Left, - Placement placement = Placement.TopCenter, - int? line = null + string leftText = "Banner Left", + string centerText = "Banner Center", + string rightText = "Banner Right", + int upperMargin = 0, + int lowerMargin = 0, + Placement placement = Placement.TopCenterFullWidth ) { - _text = text; - _align = align; - _placement = placement; - _line = Window.CheckLine(line) ?? Window.GetLineAvailable(placement); // We consider this line mandatory to keep the code safe. - BuildText(); + _text.Item1 = leftText; + _text.Item2 = centerText; + _text.Item3 = rightText; + _upperMargin = upperMargin; + _lowerMargin = lowerMargin; + _placement = CheckPlacement(placement); + } + + private static Placement CheckPlacement(Placement placement) + { + if (placement is not (Placement.BottomCenterFullWidth or Placement.TopCenterFullWidth)) + { + throw new ArgumentException( + "The placement of the banner must be TopCenterFullWidth or BottomCenterFullWidth." + ); + } + return placement; } #endregion #region Methods /// <summary> - /// Adds a line to the StaticDemo element. + /// This method is used to update the text on the left of the banner. /// </summary> - /// <param name="line">The line to add.</param> - public void AddLine(string line) // Feel free to add your own methods to manipulate your element after adding it to the window. + /// <param name="leftText">The new text on the left of the banner.</param> + public void UpdateLeftText(string leftText) // Feel free to add your own methods to manipulate your element after adding it to the window. { - _text.Add(line); + _text.Item1 = leftText; } /// <summary> - /// Inserts a line to the StaticDemo element. + /// This method is used to update the text in the center of the banner. /// </summary> - /// <param name="line">The line to insert.</param> - /// <param name="index">The index where to insert the line.</param> - public void InsertLine(string line, int index) + /// <param name="centerText">The new text in the center of the banner.</param> + public void UpdateCenterText(string centerText) { - _text.Insert(index, line); + _text.Item2 = centerText; } /// <summary> - /// Removes a line from the StaticDemo element. + /// This method is used to update the text on the right of the banner. /// </summary> - /// <param name="line">The line to remove.</param> - public void RemoveLine(string line) + /// <param name="rightText">The new text on the right of the banner.</param> + public void UpdateRightText(string rightText) { - _text.Remove(line); + _text.Item3 = rightText; } /// <summary> - /// Removes a line from the StaticDemo element. + /// This method is used to update the placement of the banner. /// </summary> - /// <param name="index">The index of the line to remove.</param> - public void RemoveLine(int index) + /// <param name="placement">The new placement of the banner.</param> + public void UpdatePlacement(Placement placement) { - _text.RemoveAt(index); + _placement = CheckPlacement(placement); } /// <summary> - /// Renders the StaticDemo element. + /// This method is used to update the upper margin of the banner. /// </summary> - protected override void RenderElementActions() // This method is mandatory to render correctly your element. If not, an error will be thrown. + /// <param name="upperMargin">The new upper margin of the banner.</param> + /// <exception cref="ArgumentOutOfRangeException">The upper margin of the banner must be between 0 and the height of the console window.</exception> + public void UpdateUpperMargin(int upperMargin) { - BuildText(); - Core.WriteMultiplePositionedLines( - false, - _placement.ToTextAlignment(), - false, - _line, - _textToDisplay!.ToArray() - ); - Window.StopExecution(); - Window.DeactivateElement<StaticDemo>(); + if (upperMargin < 0 || upperMargin > Console.WindowHeight - 1) + { + throw new ArgumentOutOfRangeException( + nameof(upperMargin), + "The upper margin of the banner must be between 0 and the height of the console window." + ); + } + _upperMargin = upperMargin; + } + + /// <summary> + /// This method is used to update the lower margin of the banner. + /// </summary> + /// <param name="lowerMargin">The new lower margin of the banner.</param> + /// <exception cref="ArgumentOutOfRangeException">The lower margin of the banner must be between 0 and the height of the console window.</exception> + public void UpdateLowerMargin(int lowerMargin) + { + if (lowerMargin < 0 || lowerMargin > Console.WindowHeight - 1) + { + throw new ArgumentOutOfRangeException( + nameof(lowerMargin), + "The lower margin of the banner must be between 0 and the height of the console window." + ); + } + _lowerMargin = lowerMargin; } - private void BuildText() + /// <summary> + /// This method is used to render the banner on the console. + /// </summary> + protected override void RenderElementActions() // This method is mandatory to render correctly your element. If not, an error will be thrown. { - var maxLength = _text.Max((string s) => s.Length); - _textToDisplay = new List<string>(); - foreach (var line in _text) + for (int i = 0; i < UpperMargin; i++) + { + Core.WritePositionedString( + string.Empty, + TextAlignment.Center, + true, + Line + i, + false + ); + } + Core.WritePositionedString( + Text.BannerToString(), + TextAlignment.Center, + true, + Line, + false + ); + for (int i = 0; i < LowerMargin; i++) { - var lineToDisplay = "│ "; - switch (_align) - { - case TextAlignment.Center: - int totalPadding = maxLength - line.Length; - int padLeft = totalPadding / 2; - lineToDisplay += line.PadLeft(line.Length + padLeft).PadRight(maxLength); - break; - case TextAlignment.Left: - lineToDisplay += line.PadRight(maxLength); - break; - case TextAlignment.Right: - lineToDisplay += line.PadLeft(maxLength); - break; - } - lineToDisplay += " │"; - _textToDisplay.Add(lineToDisplay); + Core.WritePositionedString( + string.Empty, + TextAlignment.Center, + true, + Line + Height - 1 - i, + false + ); } - _textToDisplay.Insert(0, "┌" + new string('─', maxLength + 2) + "┐"); - _textToDisplay.Add("└" + new string('─', maxLength + 2) + "┘"); } #endregion } diff --git a/example/bin/Release/net8.0/ConsoleAppVisuals.dll b/example/bin/Release/net8.0/ConsoleAppVisuals.dll index 2a1f289b..1d714dcf 100644 Binary files a/example/bin/Release/net8.0/ConsoleAppVisuals.dll and b/example/bin/Release/net8.0/ConsoleAppVisuals.dll differ diff --git a/example/bin/Release/net8.0/ConsoleAppVisuals.pdb b/example/bin/Release/net8.0/ConsoleAppVisuals.pdb index 56daa159..a3c88bec 100644 Binary files a/example/bin/Release/net8.0/ConsoleAppVisuals.pdb and b/example/bin/Release/net8.0/ConsoleAppVisuals.pdb differ diff --git a/example/bin/Release/net8.0/ConsoleAppVisuals.xml b/example/bin/Release/net8.0/ConsoleAppVisuals.xml index 54a26243..27be0cf4 100644 --- a/example/bin/Release/net8.0/ConsoleAppVisuals.xml +++ b/example/bin/Release/net8.0/ConsoleAppVisuals.xml @@ -4,48 +4,48 @@ <name>ConsoleAppVisuals</name> </assembly> <members> - <member name="T:ConsoleAppVisuals.VisualAttribute"> + <member name="T:ConsoleAppVisuals.Attributes.VisualAttribute"> <summary> - The <see cref="T:ConsoleAppVisuals.VisualAttribute"/> class is used to mark a class, struct, enum, constructor, method, property, field, event, interface, or delegate as a visual and so interact with the console. + The <see cref="T:ConsoleAppVisuals.Attributes.VisualAttribute"/> class is used to mark a class, struct, enum, constructor, method, property, field, event, interface, or delegate as a visual and so interact with the console. </summary> <remarks> [ WARNING ] This element cannot be tested. </remarks> </member> - <member name="M:ConsoleAppVisuals.VisualAttribute.#ctor"> + <member name="M:ConsoleAppVisuals.Attributes.VisualAttribute.#ctor"> <summary> - Initializes a new instance of the <see cref="T:ConsoleAppVisuals.VisualAttribute"/> class. + Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Attributes.VisualAttribute"/> class. </summary> </member> - <member name="M:ConsoleAppVisuals.VisualAttribute.#ctor(System.String)"> + <member name="M:ConsoleAppVisuals.Attributes.VisualAttribute.#ctor(System.String)"> <summary> - Initializes a new instance of the <see cref="T:ConsoleAppVisuals.VisualAttribute"/> class with a specified workaround message. + Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Attributes.VisualAttribute"/> class with a specified workaround message. </summary> <param name="message">The text string that describes alternative workarounds.</param> </member> - <member name="M:ConsoleAppVisuals.VisualAttribute.#ctor(System.String,System.Boolean)"> + <member name="M:ConsoleAppVisuals.Attributes.VisualAttribute.#ctor(System.String,System.Boolean)"> <summary> - Initializes a new instance of the <see cref="T:ConsoleAppVisuals.VisualAttribute"/> class with a workaround message and a Boolean value indicating whether the obsolete element usage is considered an error. + Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Attributes.VisualAttribute"/> class with a workaround message and a Boolean value indicating whether the obsolete element usage is considered an error. </summary> <param name="message">The text string that describes alternative workarounds.</param> <param name="error">True if the obsolete element usage generates a compiler error; false if it generates a compiler warning.</param> </member> - <member name="P:ConsoleAppVisuals.VisualAttribute.DiagnosticId"> + <member name="P:ConsoleAppVisuals.Attributes.VisualAttribute.DiagnosticId"> <summary> Gets or sets the ID that the compiler will use when reporting a use of the API. </summary> </member> - <member name="P:ConsoleAppVisuals.VisualAttribute.IsError"> + <member name="P:ConsoleAppVisuals.Attributes.VisualAttribute.IsError"> <summary> Gets a value that indicates whether the compiler will treat usage of the obsolete program element as an error. </summary> <returns>True if the obsolete element usage is considered an error; otherwise, false. The default is false.</returns> </member> - <member name="P:ConsoleAppVisuals.VisualAttribute.Message"> + <member name="P:ConsoleAppVisuals.Attributes.VisualAttribute.Message"> <summary> Gets the workaround message. </summary> <returns>The workaround text string.</returns> </member> - <member name="P:ConsoleAppVisuals.VisualAttribute.UrlFormat"> + <member name="P:ConsoleAppVisuals.Attributes.VisualAttribute.UrlFormat"> <summary> Gets or sets the URL for corresponding documentation. The API accepts a format string instead of an actual URL, creating a generic URL that includes the diagnostic ID. </summary> @@ -53,7 +53,7 @@ </member> <member name="T:ConsoleAppVisuals.Core"> <summary> - The <see cref="T:ConsoleAppVisuals.Core"/> class contains visual elements for a console app. + The <see cref="T:ConsoleAppVisuals.Core"/> class contains all the interactions between the application and the console. </summary> </member> <member name="F:ConsoleAppVisuals.Core.NEGATIVE_ANCHOR"> @@ -70,20 +70,24 @@ <summary> This property is used to get the colors of the console. </summary> - <returns>A tuple containing the font color and the background color.</returns> </member> <member name="P:ConsoleAppVisuals.Core.GetInitialColorPanel"> <summary> This property is used to get the initial colors of the console. </summary> - <returns>A tuple containing the initial font color and the initial background color.</returns> </member> - <member name="P:ConsoleAppVisuals.Core.IsScreenUpdated"> + <member name="M:ConsoleAppVisuals.Core.IsScreenUpdated"> <summary> - This property is used to check if the screen has been updated. + This method is used to check if the screen has been updated. </summary> <returns>True if the screen has been updated, false otherwise.</returns> - <remarks>The screen is updated if the window size has changed or if the color panel has changed.</remarks> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> <member name="M:ConsoleAppVisuals.Core.SetSelector(System.Char,System.Char)"> <summary> @@ -95,7 +99,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -108,7 +112,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -121,7 +125,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -133,7 +137,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -145,7 +149,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -157,7 +161,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -169,7 +173,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -182,7 +186,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -196,7 +200,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -209,7 +213,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -221,7 +225,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -235,11 +239,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.WritePositionedString(System.String,ConsoleAppVisuals.TextAlignment,System.Boolean,System.Nullable{System.Int32},System.Boolean)"> + <member name="M:ConsoleAppVisuals.Core.WritePositionedString(System.String,ConsoleAppVisuals.Enums.TextAlignment,System.Boolean,System.Nullable{System.Int32},System.Boolean)"> <summary> This method is used to write a string positioned in the console. </summary> @@ -252,11 +256,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.WriteContinuousString(System.String,System.Nullable{System.Int32},System.Boolean,System.Int32,System.Int32,System.Int32,ConsoleAppVisuals.TextAlignment,System.Boolean)"> + <member name="M:ConsoleAppVisuals.Core.WriteContinuousString(System.String,System.Nullable{System.Int32},System.Boolean,System.Int32,System.Int32,System.Int32,ConsoleAppVisuals.Enums.TextAlignment,System.Boolean)"> <summary> This method is used to write a string continuously in the console. The string is written letter by letter on the console. @@ -273,11 +277,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.WritePositionedStyledText(System.String[],System.Nullable{System.Int32},System.Nullable{System.Int32},System.Nullable{System.Int32},ConsoleAppVisuals.TextAlignment,System.Boolean)"> + <member name="M:ConsoleAppVisuals.Core.WritePositionedStyledText(System.String[],System.Nullable{System.Int32},System.Nullable{System.Int32},System.Nullable{System.Int32},ConsoleAppVisuals.Enums.TextAlignment,System.Boolean)"> <summary> This method is used to write a styled string in the console. </summary> @@ -291,11 +295,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.WriteMultiplePositionedLines(System.Boolean,ConsoleAppVisuals.TextAlignment,System.Boolean,System.Nullable{System.Int32},System.String[])"> + <member name="M:ConsoleAppVisuals.Core.WriteMultiplePositionedLines(System.Boolean,ConsoleAppVisuals.Enums.TextAlignment,System.Boolean,System.Nullable{System.Int32},System.String[])"> <summary> This method prints a paragraph in the console. </summary> @@ -308,11 +312,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.ResizeString(System.String,System.Int32,ConsoleAppVisuals.TextAlignment,System.Boolean)"> + <member name="M:ConsoleAppVisuals.Core.ResizeString(System.String,System.Int32,ConsoleAppVisuals.Enums.TextAlignment,System.Boolean)"> <summary> This method builds a string with a specific size and a specific placement. </summary> @@ -325,11 +329,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.InsertString(System.String,System.String,ConsoleAppVisuals.Placement)"> + <member name="M:ConsoleAppVisuals.Core.InsertString(System.String,System.String,ConsoleAppVisuals.Enums.Placement)"> <summary> Insert a specified string into another string, at a specified position. </summary> @@ -341,7 +345,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -355,7 +359,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -369,11 +373,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.ToTextAlignment(ConsoleAppVisuals.Placement)"> + <member name="M:ConsoleAppVisuals.Core.ToTextAlignment(ConsoleAppVisuals.Enums.Placement)"> <summary> This method is used to convert a Placement into a TextAlignment. </summary> @@ -384,11 +388,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.ToPlacement(ConsoleAppVisuals.TextAlignment)"> + <member name="M:ConsoleAppVisuals.Core.ToPlacement(ConsoleAppVisuals.Enums.TextAlignment)"> <summary> This method is used to convert a TextAlignment into a Placement. </summary> @@ -399,1322 +403,1799 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="T:ConsoleAppVisuals.Banner"> + <member name="T:ConsoleAppVisuals.Elements.EmbedText"> <summary> - Defines the banner of the console window. + Defines the basic properties of an Embed text. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Banner.Placement"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.Placement"> <summary> - The placement of the banner. + The position of the Embed text. </summary> </member> - <member name="P:ConsoleAppVisuals.Banner.Line"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.Height"> <summary> - The line of the banner in the console. + The height of the Embed text. </summary> - <remarks>We add 2 because so the banner does not overlap with the title.</remarks> </member> - <member name="P:ConsoleAppVisuals.Banner.Height"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.Width"> <summary> - The height of the banner. + The width of the Embed text. </summary> </member> - <member name="P:ConsoleAppVisuals.Banner.Width"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.Text"> <summary> - The width of the banner. + The text of the Embed text. </summary> </member> - <member name="P:ConsoleAppVisuals.Banner.Text"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.ButtonText"> <summary> - Getter and setter of the text of the banner. + The text of the button. </summary> </member> - <member name="P:ConsoleAppVisuals.Banner.UpperMargin"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.TextToDisplay"> <summary> - Getter and setter of the upper margin of the banner. + The text to display. </summary> </member> - <member name="P:ConsoleAppVisuals.Banner.LowerMargin"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.RoundedCorners"> <summary> - Getter and setter of the lower margin of the banner. + Wether the corners are rounded or not. </summary> </member> - <member name="M:ConsoleAppVisuals.Banner.#ctor(System.String,System.String,System.String,System.Int32,System.Int32,ConsoleAppVisuals.Placement,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.#ctor(System.Collections.Generic.List{System.String},System.String,ConsoleAppVisuals.Enums.TextAlignment,ConsoleAppVisuals.Enums.Placement,System.Boolean)"> <summary> - The natural constructor of the banner. + The natural constructor of the Embed text. </summary> - <param name="leftText">The text on the left of the banner.</param> - <param name="centerText">The text in the center of the banner.</param> - <param name="rightText">The text on the right of the banner.</param> - <param name="upperMargin">The upper margin of the banner.</param> - <param name="lowerMargin">The lower margin of the banner.</param> - <param name="placement">The placement of the banner.</param> - <param name="line">The line of the banner in the console.</param> + <param name="text">The text to display.</param> + <param name="button">The text of the button.</param> + <param name="align">The alignment of the Embed text.</param> + <param name="placement">The placement of the Embed text element.</param> + <param name="roundedCorners">Wether the corners are rounded or not.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Banner.UpdateLeftText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.UpdateButtonText(System.String)"> <summary> - This method is used to update the text on the left of the banner. + This method updates the text of the button. </summary> - <param name="leftText">The new text on the left of the banner.</param> + <param name="newButton">The new text of the button.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Banner.UpdateCenterText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.UpdateText(System.Collections.Generic.List{System.String})"> <summary> - This method is used to update the text in the center of the banner. + This method updates the text of the Embed text. </summary> - <param name="centerText">The new text in the center of the banner.</param> + <param name="newText">The new text of the Embed text.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Banner.UpdateRightText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - This method is used to update the text on the right of the banner. + This method updates the placement of the Embed text. </summary> - <param name="rightText">The new text on the right of the banner.</param> + <param name="newPlacement">The new placement of the Embed text.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Banner.RenderElementActions"> - <summary> - This method is used to render the banner on the console. - </summary> - </member> - <member name="T:ConsoleAppVisuals.FakeLoadingBar"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.UpdateAlignment(ConsoleAppVisuals.Enums.TextAlignment)"> <summary> - Defines the loading bar of the console window. + This method updates the alignment of the Embed text. </summary> + <param name="newAlignment">The new alignment of the Embed text.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.Line"> - <summary> - The line of the loading bar in the console. - </summary> - <remarks>We add 2 because so the loading bar does not overlap with the title.</remarks> - </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.Height"> - <summary> - The height of the loading bar. - </summary> - <remarks>One line for the text,one line for the space between and one line for the progress.</remarks> - </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.Width"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.SetRoundedCorners(System.Boolean)"> <summary> - The width of the loading bar. - </summary> - </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.Text"> - <summary> - Getter and setter of the text of the loading bar. - </summary> - </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.Placement"> - <summary> - Getter of the placement of the loading bar. + This method updates the rounded corners of the Embed text. </summary> + <param name="roundedCorners">Wether the corners are rounded or not.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.ProcessDuration"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.AddLine(System.String)"> <summary> - Getter of the duration of the loading bar. + Adds a line to the Embed text. </summary> + <param name="line">The line to add.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.AdditionalDuration"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.InsertLine(System.String,System.Int32)"> <summary> - Getter of the additional duration of the loading bar at the end. + Inserts a line to the Embed text. </summary> + <param name="line">The line to insert.</param> + <param name="index">The index where to insert the line.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.FakeLoadingBar.#ctor(System.String,ConsoleAppVisuals.Placement,System.Nullable{System.Int32},System.Int32,System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.RemoveLine(System.String)"> <summary> - The natural constructor of the loading bar. + Removes a line from the Embed text. </summary> - <param name="text">The text of the loading bar.</param> - <param name="placement">The placement of the loading bar.</param> - <param name="line">The line of the loading bar.</param> - <param name="processDuration">The duration of the loading bar.</param> - <param name="additionalDuration">The additional duration of the loading bar at the end.</param> + <param name="line">The line to remove.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.FakeLoadingBar.UpdateText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.RemoveLine(System.Int32)"> <summary> - This method is used to update the text of the loading bar. + Removes a line from the Embed text. </summary> - <param name="text">The new text of the loading bar.</param> + <param name="index">The index of the line to remove.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.FakeLoadingBar.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.RenderElementActions"> <summary> - This method is used to draw the loading bar on the console. + Renders the Embed text. </summary> </member> - <member name="T:ConsoleAppVisuals.Footer"> + <member name="T:ConsoleAppVisuals.Elements.FloatSelector"> <summary> - Defines the footer of the console window. + Defines the number selector of the console window. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Footer.Placement"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Placement"> <summary> - The placement of the footer. + The placement of the selector on the console. </summary> </member> - <member name="P:ConsoleAppVisuals.Footer.Line"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Height"> <summary> - The line of the footer in the console. + The height of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.Footer.Height"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Width"> <summary> - The height of the footer. + The width of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.Footer.Width"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Question"> <summary> - The width of the footer. + The question to ask the user. </summary> </member> - <member name="P:ConsoleAppVisuals.Footer.Text"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Min"> <summary> - The text of the footer. + The minimum value of the selector. </summary> </member> - <member name="M:ConsoleAppVisuals.Footer.#ctor(System.String,System.String,System.String)"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Max"> <summary> - The natural constructor of the footer. + The maximum value of the selector. </summary> - <param name="leftText">The text on the left of the footer.</param> - <param name="centerText">The text in the center of the footer.</param> - <param name="rightText">The text on the right of the footer.</param> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.Footer.UpdateLeftText(System.String)"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Start"> <summary> - This method is used to update the text on the left of the footer. + The start value of the selector. </summary> - <param name="leftText">The new text on the left of the footer.</param> + </member> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Step"> + <summary> + The step of the selector. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.RoundedCorners"> + <summary> + Whether the corners of the selector are rounded. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.#ctor(System.String,System.Single,System.Single,System.Single,System.Single,ConsoleAppVisuals.Enums.Placement,System.Boolean)"> + <summary> + The constructor of the FloatSelector class. + </summary> + <param name="question">The question to ask the user.</param> + <param name="min">The minimum value of the selector.</param> + <param name="max">The maximum value of the selector.</param> + <param name="start">The start value of the selector.</param> + <param name="step">The step of the selector.</param> + <param name="placement">The placement of the selector on the console.</param> + <param name="roundedCorners">Whether the corners of the selector are rounded.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Footer.UpdateCenterText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.UpdateQuestion(System.String)"> <summary> - This method is used to update the text in the center of the footer. + This method is used to update the question of the selector. </summary> - <param name="centerText">The new text in the center of the footer.</param> + <param name="question">The question to ask the user.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Footer.UpdateRightText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.UpdateMin(System.Single)"> <summary> - This method is used to update the text on the right of the footer. + This method is used to update the minimum value of the selector. </summary> - <param name="rightText">The new text on the right of the footer.</param> + <param name="min">The minimum value of the selector.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Footer.RenderElementActions"> - <summary> - This method is used to render the footer on the console. - </summary> - </member> - <member name="T:ConsoleAppVisuals.Header"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.UpdateMax(System.Single)"> <summary> - Defines the header of the console window. + This method is used to update the maximum value of the selector. </summary> + <param name="max">The maximum value of the selector.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Header.Placement"> - <summary> - The placement of the header. - </summary> - </member> - <member name="P:ConsoleAppVisuals.Header.Line"> - <summary> - The line of the header in the console. - </summary> - </member> - <member name="P:ConsoleAppVisuals.Header.Height"> - <summary> - The height of the header. - </summary> - </member> - <member name="P:ConsoleAppVisuals.Header.Width"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.UpdateStart(System.Single)"> <summary> - The width of the header. - </summary> - </member> - <member name="P:ConsoleAppVisuals.Header.Text"> - <summary> - The getter of the text of the header. - </summary> - </member> - <member name="P:ConsoleAppVisuals.Header.Margin"> - <summary> - The getter and setter of the margin of the header. - </summary> - </member> - <member name="M:ConsoleAppVisuals.Header.#ctor(System.String,System.String,System.String,System.Int32)"> - <summary> - The natural constructor of the header. + This method is used to update the start value of the selector. </summary> - <param name="leftText">The text on the left of the header.</param> - <param name="centerText">The text in the center of the header.</param> - <param name="rightText">The text on the right of the header.</param> - <param name="margin">The margin of the header.</param> + <param name="start">The start value of the selector.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Header.UpdateLeftText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.UpdateStep(System.Single)"> <summary> - This method is used to update the text on the left of the header. + This method is used to update the step of the selector. </summary> - <param name="leftText">The new text on the left of the header.</param> + <param name="step">The step of the selector.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Header.UpdateCenterText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - This method is used to update the text in the center of the header. + This method is used to update the placement of the selector. </summary> - <param name="centerText">The new text in the center of the header.</param> + <param name="placement">The placement of the selector on the console.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Header.UpdateRightText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.SetRoundedCorners(System.Boolean)"> <summary> - This method is used to update the text on the right of the header. + This method is used to update the rounded corners of the selector. </summary> - <param name="rightText">The new text on the right of the header.</param> + <param name="roundedCorners">Whether the corners of the selector are rounded.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Header.UpdateMargin(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.RenderElementActions"> <summary> - This method is used to update the margin of the header. + This method is used to draw the selector on the console. + </summary> + </member> + <member name="T:ConsoleAppVisuals.Elements.IntSelector"> + <summary> + Defines the number selector of the console window. </summary> - <param name="margin">The new margin of the header.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Header.RenderElementActions"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Placement"> <summary> - This method is used to render the header on the console. - </summary> - </member> - <member name="T:ConsoleAppVisuals.ElementList"> - <summary> - This class is used to display a ElementList of all the elements in the window. + The placement of the selector on the console. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.RoundedCorners"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Height"> <summary> - This property wether the corners of the ElementList are rounded. + The height of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.GetHeaders"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Width"> <summary> - This property returns the headers of the ElementList. + The width of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.GetLines"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Question"> <summary> - This property returns the lines of the ElementList. + The question to ask the user. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.Placement"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Min"> <summary> - This property returns the title of the ElementList. + The minimum value of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.Line"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Max"> <summary> - This property returns the line to display the ElementList on. + The maximum value of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.Height"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Start"> <summary> - This property returns the height of the ElementList. + The start value of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.Width"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Step"> <summary> - This property returns the width of the ElementList. + The step of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.Count"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.RoundedCorners"> <summary> - This property returns the number of lines in the ElementList. + Whether the corners of the selector are rounded. </summary> </member> - <member name="M:ConsoleAppVisuals.ElementList.#ctor(ConsoleAppVisuals.Placement,System.Boolean,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.#ctor(System.String,System.Int32,System.Int32,System.Int32,System.Int32,ConsoleAppVisuals.Enums.Placement,System.Boolean)"> <summary> - This constructor creates a new instance of the WindowElementsElementList class. + The constructor of the intSelector class. </summary> - <param name="placement">The placement of the ElementList.</param> - <param name="roundedCorners">If true, the corners of the ElementList will be rounded.</param> - <param name="line">The line to display the ElementList on.</param> + <param name="question">The question to ask the user.</param> + <param name="min">The minimum value of the selector.</param> + <param name="max">The maximum value of the selector.</param> + <param name="start">The start value of the selector.</param> + <param name="step">The step of the selector.</param> + <param name="placement">The placement of the selector on the console.</param> + <param name="roundedCorners">Whether the corners of the selector are rounded.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.ElementList.SetRoundedCorners(System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.UpdateQuestion(System.String)"> <summary> - Toggles the rounded corners of the element. + This method is used to update the question of the selector. </summary> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <param name="question">The question to ask the user.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.ElementList.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.UpdateMin(System.Int32)"> <summary> - This method displays the ElementList. + This method is used to update the minimum value of the selector. </summary> + <param name="min">The minimum value of the selector.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="T:ConsoleAppVisuals.ElementsDashboard"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.UpdateMax(System.Int32)"> <summary> - This class is used to display a dashboard of all the elements in the window. + This method is used to update the maximum value of the selector. </summary> + <param name="max">The maximum value of the selector.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.RoundedCorners"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.UpdateStart(System.Int32)"> <summary> - This property wether the corners of the dashboard are rounded. - </summary> - </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.GetHeaders"> - <summary> - This property returns the headers of the dashboard. - </summary> - </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.GetLines"> - <summary> - This property returns the lines of the dashboard. - </summary> - </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.Placement"> - <summary> - This property returns the title of the dashboard. - </summary> - </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.Line"> - <summary> - This property returns the line to display the dashboard on. - </summary> - </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.Height"> - <summary> - This property returns the height of the dashboard. + This method is used to update the start value of the selector. </summary> + <param name="start">The start value of the selector.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.Width"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.UpdateStep(System.Int32)"> <summary> - This property returns the width of the dashboard. + This method is used to update the step of the selector. </summary> + <param name="step">The step of the selector.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.Count"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - This property returns the number of lines in the dashboard. + This method is used to update the placement of the selector. </summary> + <param name="placement">The placement of the selector on the console.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.ElementsDashboard.#ctor(ConsoleAppVisuals.Placement,System.Boolean,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.SetRoundedCorners(System.Boolean)"> <summary> - This constructor creates a new instance of the WindowElementsDashboard class. + This method is used to update the rounded corners of the selector. </summary> - <param name="placement">The placement of the dashboard.</param> - <param name="roundedCorners">If true, the corners of the dashboard will be rounded.</param> - <param name="line">The line to display the dashboard on.</param> + <param name="roundedCorners">Whether the corners of the selector are rounded.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.ElementsDashboard.SetRoundedCorners(System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.RenderElementActions"> <summary> - Toggles the rounded corners of the element. + This method is used to draw the selector on the console. </summary> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> </member> - <member name="M:ConsoleAppVisuals.ElementsDashboard.RenderElementActions"> + <member name="T:ConsoleAppVisuals.Elements.Prompt"> <summary> - This method displays the dashboard. + Defines the prompt element of the console window. </summary> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="T:ConsoleAppVisuals.InteractiveList"> + <member name="P:ConsoleAppVisuals.Elements.Prompt.Placement"> <summary> - This class is used to display a InteractiveList of all the elements in the window. + The placement of the prompt element. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.RoundedCorners"> + <member name="P:ConsoleAppVisuals.Elements.Prompt.Height"> <summary> - This property wether the corners of the InteractiveList are rounded. + The height of the prompt element. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.GetHeaders"> + <member name="P:ConsoleAppVisuals.Elements.Prompt.Width"> <summary> - This property returns the headers of the InteractiveList. + The width of the prompt element. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.GetLines"> + <member name="P:ConsoleAppVisuals.Elements.Prompt.Question"> <summary> - This property returns the lines of the InteractiveList. + The question of the prompt element. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.Placement"> + <member name="P:ConsoleAppVisuals.Elements.Prompt.DefaultValue"> <summary> - This property returns the title of the InteractiveList. + The default value of the response. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.Line"> + <member name="P:ConsoleAppVisuals.Elements.Prompt.MaxLength"> <summary> - This property returns the line to display the InteractiveList on. + The maximum length of the response. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.Height"> + <member name="M:ConsoleAppVisuals.Elements.Prompt.#ctor(System.String,System.String,ConsoleAppVisuals.Enums.Placement,System.Int32)"> <summary> - This property returns the height of the InteractiveList. + The natural constructor of the prompt element. </summary> + <param name="question">The text on the left of the prompt element.</param> + <param name="defaultValue">The text in the center of the prompt element.</param> + <param name="placement">The placement of the prompt element.</param> + <param name="maxLength">The maximum length of the response.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.Width"> + <member name="M:ConsoleAppVisuals.Elements.Prompt.UpdateQuestion(System.String)"> <summary> - This property returns the width of the InteractiveList. + This method is used to update the question of the prompt element. </summary> + <param name="question">The new question of the prompt element.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.Count"> + <member name="M:ConsoleAppVisuals.Elements.Prompt.UpdateDefaultValue(System.String)"> <summary> - This property returns the number of lines in the InteractiveList. + This method is used to update the default value of the prompt element. </summary> + <param name="defaultValue">The new default value of the prompt element.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.InteractiveList.#ctor(ConsoleAppVisuals.Placement,System.Boolean,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.Prompt.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - This constructor creates a new instance of the WindowElementsInteractiveList class. + This method is used to update the placement of the prompt element. </summary> - <param name="placement">The placement of the InteractiveList.</param> - <param name="roundedCorners">If true, the corners of the InteractiveList will be rounded.</param> - <param name="line">The line to display the InteractiveList on.</param> + <param name="placement">The new placement of the prompt element.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.InteractiveList.SetRoundedCorners(System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.Prompt.UpdateMaxLength(System.Int32)"> <summary> - Toggles the rounded corners of the element. + This method is used to update the maximum length of the response. </summary> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <param name="maxLength">The new maximum length of the response.</param> + <exception cref="T:System.ArgumentOutOfRangeException">The maximum length of the response must be greater than 0 and less than the width of the console window.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.InteractiveList.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.Prompt.RenderElementActions"> <summary> - This method displays the InteractiveList. + This method is used to render the prompt element on the console. </summary> </member> - <member name="T:ConsoleAppVisuals.EmbedText"> + <member name="T:ConsoleAppVisuals.Elements.ScrollingMenu"> <summary> - Defines the basic properties of an Embed text. + Defines the scrolling menu the console window. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.EmbedText.Placement"> - <summary> - The position of the Embed text. - </summary> - </member> - <member name="P:ConsoleAppVisuals.EmbedText.Line"> + <member name="P:ConsoleAppVisuals.Elements.ScrollingMenu.Placement"> <summary> - The Line of the Embed text. + The placement of the menu on the console. </summary> </member> - <member name="P:ConsoleAppVisuals.EmbedText.Height"> + <member name="P:ConsoleAppVisuals.Elements.ScrollingMenu.Height"> <summary> - The height of the Embed text. + The height of the menu. </summary> </member> - <member name="P:ConsoleAppVisuals.EmbedText.Width"> + <member name="P:ConsoleAppVisuals.Elements.ScrollingMenu.Width"> <summary> - The width of the Embed text. + The width of the menu. </summary> </member> - <member name="P:ConsoleAppVisuals.EmbedText.Text"> + <member name="P:ConsoleAppVisuals.Elements.ScrollingMenu.Question"> <summary> - The text of the Embed text. + The question to ask the user. </summary> </member> - <member name="P:ConsoleAppVisuals.EmbedText.ButtonText"> + <member name="P:ConsoleAppVisuals.Elements.ScrollingMenu.Choices"> <summary> - The text of the button. + The different choices of the menu. </summary> </member> - <member name="P:ConsoleAppVisuals.EmbedText.TextToDisplay"> + <member name="P:ConsoleAppVisuals.Elements.ScrollingMenu.DefaultIndex"> <summary> - The text to display. + The index of the default choice(initially 0). </summary> </member> - <member name="M:ConsoleAppVisuals.EmbedText.#ctor(System.Collections.Generic.List{System.String},System.String,ConsoleAppVisuals.TextAlignment,ConsoleAppVisuals.Placement,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.ScrollingMenu.#ctor(System.String,System.Int32,ConsoleAppVisuals.Enums.Placement,System.String[])"> <summary> - The natural constructor of the Embed text. + The constructor of the ScrollingMenu class. </summary> - <param name="text">The text to display.</param> - <param name="button">The text of the button.</param> - <param name="align">The alignment of the Embed text.</param> - <param name="placement">The placement of the Embed text element.</param> - <param name="line">The line of the Embed text.</param> + <param name="question">The question to ask the user.</param> + <param name="defaultIndex">The index of the default choice(initially 0).</param> + <param name="placement">The placement of the menu on the console.</param> + <param name="choices">The different choices of the menu.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.EmbedText.AddLine(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.ScrollingMenu.UpdateQuestion(System.String)"> <summary> - Adds a line to the Embed text. + This method is used to update the question of the menu. </summary> - <param name="line">The line to add.</param> + <param name="question">The new question of the menu.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.EmbedText.InsertLine(System.String,System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.ScrollingMenu.UpdateChoices(System.String[])"> <summary> - Inserts a line to the Embed text. + This method is used to update the choices of the menu. </summary> - <param name="line">The line to insert.</param> - <param name="index">The index where to insert the line.</param> + <param name="choices">The new choices of the menu.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.EmbedText.RemoveLine(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.ScrollingMenu.UpdateDefaultIndex(System.Int32)"> <summary> - Removes a line from the Embed text. + This method is used to update the default index of the menu. </summary> - <param name="line">The line to remove.</param> + <param name="defaultIndex">The new default index of the menu.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.EmbedText.RemoveLine(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.ScrollingMenu.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - Removes a line from the Embed text. + This method is used to update the placement of the menu. </summary> - <param name="index">The index of the line to remove.</param> + <param name="placement">The new placement of the menu.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.EmbedText.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.ScrollingMenu.RenderElementActions"> <summary> - Renders the Embed text. + This method is used to draw the menu on the console. </summary> </member> - <member name="T:ConsoleAppVisuals.FloatSelector"> + <member name="T:ConsoleAppVisuals.Elements.TableSelector`1"> <summary> - Defines the number selector of the console window. + The <see cref="T:ConsoleAppVisuals.Elements.TableSelector`1"/> class that contains the methods to create a table and display it. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Placement"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.Placement"> <summary> - The placement of the selector on the console. + This property returns the title of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Line"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.Height"> <summary> - The line where the selector will be displayed. + This property returns the height of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Height"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.Width"> <summary> - The height of the selector. + This property returns the width of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Width"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.Title"> <summary> - The width of the selector. + This property returns the title of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Question"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.ExcludeHeader"> <summary> - The question to ask the user. + This property returns if the header is excluded. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Min"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.ExcludeFooter"> <summary> - The minimum value of the selector. + This property returns if the footer is excluded. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Max"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.FooterText"> <summary> - The maximum value of the selector. + This property returns the text of the footer. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Start"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.RoundedCorners"> <summary> - The start value of the selector. + This property returns if the corners are rounded. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Step"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.GetCorners"> <summary> - The step of the selector. + This property returns the corners of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.RoundedCorners"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.GetRawHeaders"> <summary> - Whether the corners of the selector are rounded. + This property returns the headers of the table. </summary> </member> - <member name="M:ConsoleAppVisuals.FloatSelector.#ctor(System.String,System.Single,System.Single,System.Single,System.Single,ConsoleAppVisuals.Placement,System.Nullable{System.Int32},System.Boolean)"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.GetRawLines"> <summary> - The constructor of the FloatSelector class. + This property returns the lines of the table. </summary> - <param name="question">The question to ask the user.</param> - <param name="min">The minimum value of the selector.</param> - <param name="max">The maximum value of the selector.</param> - <param name="start">The start value of the selector.</param> - <param name="step">The step of the selector.</param> - <param name="placement">The placement of the selector on the console.</param> - <param name="line">The line where the selector will be displayed.</param> - <param name="roundedCorners">Whether the corners of the selector are rounded.</param> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.FloatSelector.RenderElementActions"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.Count"> <summary> - This method is used to draw the selector on the console. + This property returns the number of lines in the table. </summary> </member> - <member name="T:ConsoleAppVisuals.IntSelector"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.DisplayArray"> <summary> - Defines the number selector of the console window. + This property returns the display array of the table. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.#ctor(System.String,System.Collections.Generic.List{System.String},System.Collections.Generic.List{System.Collections.Generic.List{`0}},System.Boolean,System.Boolean,System.String,ConsoleAppVisuals.Enums.Placement)"> + <summary> + The <see cref="T:ConsoleAppVisuals.Elements.TableSelector`1"/> natural constructor. </summary> + <param name="title">The title of the table.</param> + <param name="lines">The lines of the table.</param> + <param name="headers">The headers of the table.</param> + <param name="excludeHeader">Whether to exclude the header from selectable elements.</param> + <param name="excludeFooter">Whether to exclude the footer from selectable elements.</param> + <param name="footerText">The text to display in the footer.</param> + <param name="placement">The placement of the table.</param> + <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> + <exception cref="T:System.NullReferenceException">Is thrown when no body lines were provided.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.IntSelector.Placement"> - <summary> - The placement of the selector on the console. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Line"> - <summary> - The line where the selector will be displayed. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Height"> - <summary> - The height of the selector. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Width"> - <summary> - The width of the selector. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Question"> - <summary> - The question to ask the user. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Min"> - <summary> - The minimum value of the selector. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Max"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - The maximum value of the selector. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Start"> - <summary> - The start value of the selector. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Step"> - <summary> - The step of the selector. + This method updates the placement of the table. </summary> + <param name="placement">The placement of the table.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.IntSelector.RoundedCorners"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.UpdateFooterText(System.String)"> <summary> - Whether the corners of the selector are rounded. + This method updates the text of the footer. </summary> + <param name="footerText"></param> </member> - <member name="M:ConsoleAppVisuals.IntSelector.#ctor(System.String,System.Int32,System.Int32,System.Int32,System.Int32,ConsoleAppVisuals.Placement,System.Nullable{System.Int32},System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.SetExcludeHeader(System.Boolean)"> <summary> - The constructor of the intSelector class. + This method sets the table to exclude the header. </summary> - <param name="question">The question to ask the user.</param> - <param name="min">The minimum value of the selector.</param> - <param name="max">The maximum value of the selector.</param> - <param name="start">The start value of the selector.</param> - <param name="step">The step of the selector.</param> - <param name="placement">The placement of the selector on the console.</param> - <param name="line">The line where the selector will be displayed.</param> - <param name="roundedCorners">Whether the corners of the selector are rounded.</param> + <param name="excludeHeader">Whether to exclude the header or not.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.IntSelector.RenderElementActions"> - <summary> - This method is used to draw the selector on the console. - </summary> - </member> - <member name="T:ConsoleAppVisuals.Prompt"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.SetExcludeFooter(System.Boolean)"> <summary> - Defines the prompt element of the console window. + This method sets the table to exclude the footer. </summary> + <param name="excludeFooter">Whether to exclude the footer or not.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Prompt.Placement"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.AddHeaders(System.Collections.Generic.List{System.String})"> <summary> - The placement of the prompt element. + This method adds headers to the table. </summary> + <param name="headers">The headers to add.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.Prompt.Line"> - <summary> - The line of the prompt element in the console. - </summary> - <remarks>We add 2 because so the prompt element does not overlap with the title.</remarks> - </member> - <member name="P:ConsoleAppVisuals.Prompt.Height"> - <summary> - The height of the prompt element. - </summary> - </member> - <member name="P:ConsoleAppVisuals.Prompt.Width"> - <summary> - The width of the prompt element. - </summary> - <remarks>We add a margin of 2 to be sur to take in account odd question lengths.</remarks> - </member> - <member name="M:ConsoleAppVisuals.Prompt.#ctor(System.String,System.String,ConsoleAppVisuals.Placement,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.UpdateHeaders(System.Collections.Generic.List{System.String})"> <summary> - The natural constructor of the prompt element. + This method updates the headers of the table. </summary> - <param name="question">The text on the left of the prompt element.</param> - <param name="defaultValue">The text in the center of the prompt element.</param> - <param name="placement">The placement of the prompt element.</param> - <param name="line">The line of the prompt element in the console.</param> + <param name="headers">The headers to update.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Prompt.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.AddTitle(System.String)"> <summary> - This method is used to render the prompt element on the console. + This method adds a title to the table. </summary> + <param name="title">The title to add.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="T:ConsoleAppVisuals.ScrollingMenu"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.UpdateTitle(System.String)"> <summary> - Defines the scrolling menu the console window. + This method updates the title of the table. </summary> + <param name="title">The title to update.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.Placement"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.SetRoundedCorners(System.Boolean)"> <summary> - The placement of the menu on the console. + Toggles the rounded corners of the table. </summary> + <param name="rounded">Whether to round the corners or not.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.Line"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.GetLine(System.Int32)"> <summary> - The line where the menu will be displayed. + This property returns the specified line in the table. </summary> + <param name="index">The index of the line to return.</param> + <returns>The line at the specified index.</returns> + <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.Height"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.GetColumnData(System.Int32)"> <summary> - The height of the menu. + This method is used to get all the elements from a column given its index. </summary> + <param name="index">The index of the column.</param> + <returns>The elements of the column.</returns> + <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.Width"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.GetColumnData(System.String)"> <summary> - The width of the menu. + This method is used to get all the elements from a column given its header. </summary> + <param name="header">The header of the column.</param> + <returns>The elements of the column.</returns> + <exception cref="T:System.ArgumentException">Is thrown when the header is invalid.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.Question"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.AddLine(System.Collections.Generic.List{`0})"> <summary> - The question to ask the user. + This method adds a line to the table. </summary> + <param name="line">The line to add.</param> + <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.Choices"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.RemoveLine(System.Int32)"> <summary> - The different choices of the menu. + This method removes a line from the table. </summary> + <param name="index">The index of the line to remove.</param> + <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.DefaultIndex"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.UpdateLine(System.Int32,System.Collections.Generic.List{`0})"> <summary> - The index of the default choice(initially 0). + This method updates a line in the table. </summary> + <param name="index">The index of the line to update.</param> + <param name="line">The new line.</param> + <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> + <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.ScrollingMenu.#ctor(System.String,System.Int32,ConsoleAppVisuals.Placement,System.Nullable{System.Int32},System.String[])"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.ClearHeaders"> <summary> - The constructor of the ScrollingMenu class. + This method clears the headers of the table. </summary> - <param name="question">The question to ask the user.</param> - <param name="defaultIndex">The index of the default choice(initially 0).</param> - <param name="placement">The placement of the menu on the console.</param> - <param name="line">The line where the menu will be displayed.</param> - <param name="choices">The different choices of the menu.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.ScrollingMenu.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.ClearLines"> <summary> - This method is used to draw the menu on the console. + This method clears the lines of the table. </summary> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="T:ConsoleAppVisuals.TableSelector`1"> - <summary> - The <see cref="T:ConsoleAppVisuals.TableSelector`1"/> class that contains the methods to create a table and display it. - </summary> - - </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.Placement"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.Reset"> <summary> - This property returns the title of the table. + This method clears the table. </summary> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.Line"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.RenderElementActions"> <summary> - This property returns the line to display the table on. + This method displays the table without interaction. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.Height"> + <member name="T:ConsoleAppVisuals.Elements.Banner"> <summary> - This property returns the height of the table. + Defines the banner of the console window. </summary> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.Width"> + <member name="P:ConsoleAppVisuals.Elements.Banner.Placement"> <summary> - This property returns the width of the table. + The placement of the banner. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.Title"> + <member name="P:ConsoleAppVisuals.Elements.Banner.Height"> <summary> - This property returns the title of the table. + The height of the banner. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.ExcludeHeader"> + <member name="P:ConsoleAppVisuals.Elements.Banner.Width"> <summary> - This property returns if the header is excluded. + The width of the banner. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.ExcludeFooter"> + <member name="P:ConsoleAppVisuals.Elements.Banner.Text"> <summary> - This property returns if the footer is excluded. + The text of the banner. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.FooterText"> + <member name="P:ConsoleAppVisuals.Elements.Banner.UpperMargin"> <summary> - This property returns the text of the footer. + The upper margin of the banner. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.RoundedCorners"> + <member name="P:ConsoleAppVisuals.Elements.Banner.LowerMargin"> <summary> - This property returns if the corners are rounded. + The lower margin of the banner. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.GetCorners"> + <member name="M:ConsoleAppVisuals.Elements.Banner.#ctor(System.String,System.String,System.String,System.Int32,System.Int32,ConsoleAppVisuals.Enums.Placement)"> <summary> - This property returns the corners of the table. + The natural constructor of the banner. </summary> + <param name="leftText">The text on the left of the banner.</param> + <param name="centerText">The text in the center of the banner.</param> + <param name="rightText">The text on the right of the banner.</param> + <param name="upperMargin">The upper margin of the banner.</param> + <param name="lowerMargin">The lower margin of the banner.</param> + <param name="placement">The placement of the banner.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.GetRawHeaders"> + <member name="M:ConsoleAppVisuals.Elements.Banner.UpdateLeftText(System.String)"> <summary> - This property returns the headers of the table. + This method is used to update the text on the left of the banner. </summary> + <param name="leftText">The new text on the left of the banner.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.GetRawLines"> + <member name="M:ConsoleAppVisuals.Elements.Banner.UpdateCenterText(System.String)"> <summary> - This property returns the lines of the table. + This method is used to update the text in the center of the banner. </summary> + <param name="centerText">The new text in the center of the banner.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.Count"> + <member name="M:ConsoleAppVisuals.Elements.Banner.UpdateRightText(System.String)"> <summary> - This property returns the number of lines in the table. + This method is used to update the text on the right of the banner. </summary> + <param name="rightText">The new text on the right of the banner.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.DisplayArray"> + <member name="M:ConsoleAppVisuals.Elements.Banner.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - This property returns the display array of the table. + This method is used to update the placement of the banner. </summary> + <param name="placement">The new placement of the banner.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.#ctor(System.String,System.Collections.Generic.List{System.String},System.Collections.Generic.List{System.Collections.Generic.List{`0}},System.Boolean,System.Boolean,System.String,ConsoleAppVisuals.Placement,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.Banner.UpdateUpperMargin(System.Int32)"> <summary> - The <see cref="T:ConsoleAppVisuals.TableSelector`1"/> natural constructor. + This method is used to update the upper margin of the banner. </summary> - <param name="title">The title of the table.</param> - <param name="lines">The lines of the table.</param> - <param name="headers">The headers of the table.</param> - <param name="excludeHeader">Whether to exclude the header from selectable elements.</param> - <param name="excludeFooter">Whether to exclude the footer from selectable elements.</param> - <param name="footerText">The text to display in the footer.</param> - <param name="placement">The placement of the table.</param> - <param name="line">The line to display the table on.</param> - <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> - <exception cref="T:System.NullReferenceException">Is thrown when no body lines were provided.</exception> + <param name="upperMargin">The new upper margin of the banner.</param> + <exception cref="T:System.ArgumentOutOfRangeException">The upper margin of the banner must be between 0 and the height of the console window.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.AddHeaders(System.Collections.Generic.List{System.String})"> + <member name="M:ConsoleAppVisuals.Elements.Banner.UpdateLowerMargin(System.Int32)"> <summary> - This method adds headers to the table. + This method is used to update the lower margin of the banner. </summary> - <param name="headers">The headers to add.</param> + <param name="lowerMargin">The new lower margin of the banner.</param> + <exception cref="T:System.ArgumentOutOfRangeException">The lower margin of the banner must be between 0 and the height of the console window.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.UpdateHeaders(System.Collections.Generic.List{System.String})"> + <member name="M:ConsoleAppVisuals.Elements.Banner.RenderElementActions"> <summary> - This method updates the headers of the table. + This method is used to render the banner on the console. + </summary> + </member> + <member name="T:ConsoleAppVisuals.Elements.FakeLoadingBar"> + <summary> + Defines the loading bar of the console window. </summary> - <param name="headers">The headers to update.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.AddTitle(System.String)"> + <member name="P:ConsoleAppVisuals.Elements.FakeLoadingBar.Height"> <summary> - This method adds a title to the table. + The height of the loading bar. </summary> - <param name="title">The title to add.</param> + <remarks>One line for the text,one line for the space between and one line for the progress.</remarks> + </member> + <member name="P:ConsoleAppVisuals.Elements.FakeLoadingBar.Width"> + <summary> + The width of the loading bar. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.FakeLoadingBar.Text"> + <summary> + The text of the loading bar. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.FakeLoadingBar.Placement"> + <summary> + The placement of the loading bar. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.FakeLoadingBar.ProcessDuration"> + <summary> + Getter of the duration of the loading bar. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.FakeLoadingBar.AdditionalDuration"> + <summary> + Getter of the additional duration of the loading bar at the end. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.FakeLoadingBar.#ctor(System.String,ConsoleAppVisuals.Enums.Placement,System.Int32,System.Int32)"> + <summary> + The natural constructor of the loading bar. + </summary> + <param name="text">The text of the loading bar.</param> + <param name="placement">The placement of the loading bar.</param> + <param name="processDuration">The duration of the loading bar.</param> + <param name="additionalDuration">The additional duration of the loading bar at the end.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.UpdateTitle(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.FakeLoadingBar.UpdateText(System.String)"> <summary> - This method updates the title of the table. + This method is used to update the text of the loading bar. </summary> - <param name="title">The title to update.</param> + <param name="text">The new text of the loading bar.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.SetRoundedCorners(System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.FakeLoadingBar.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - Toggles the rounded corners of the table. + This method is used to update the placement of the loading bar. + </summary> + <param name="placement">The new placement of the loading bar.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.FakeLoadingBar.UpdateAdditionalDuration(System.Int32)"> + <summary> + This method is used to update the additional duration of the loading bar. + </summary> + <param name="additionalDuration">The new additional duration of the loading bar.</param> + <exception cref="T:System.ArgumentOutOfRangeException">The additional duration of the loading bar cannot be negative.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.FakeLoadingBar.RenderElementActions"> + <summary> + This method is used to draw the loading bar on the console. + </summary> + </member> + <member name="T:ConsoleAppVisuals.Elements.Footer"> + <summary> + Defines the footer of the console window. + </summary> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="P:ConsoleAppVisuals.Elements.Footer.Placement"> + <summary> + The placement of the footer. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Footer.Height"> + <summary> + The height of the footer. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Footer.Width"> + <summary> + The width of the footer. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Footer.Text"> + <summary> + The text of the footer. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.Footer.#ctor(System.String,System.String,System.String)"> + <summary> + The natural constructor of the footer. + </summary> + <param name="leftText">The text on the left of the footer.</param> + <param name="centerText">The text in the center of the footer.</param> + <param name="rightText">The text on the right of the footer.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Footer.UpdateLeftText(System.String)"> + <summary> + This method is used to update the text on the left of the footer. + </summary> + <param name="leftText">The new text on the left of the footer.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Footer.UpdateCenterText(System.String)"> + <summary> + This method is used to update the text in the center of the footer. + </summary> + <param name="centerText">The new text in the center of the footer.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Footer.UpdateRightText(System.String)"> + <summary> + This method is used to update the text on the right of the footer. + </summary> + <param name="rightText">The new text on the right of the footer.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Footer.RenderElementActions"> + <summary> + This method is used to render the footer on the console. + </summary> + </member> + <member name="T:ConsoleAppVisuals.Elements.Header"> + <summary> + Defines the header of the console window. + </summary> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="P:ConsoleAppVisuals.Elements.Header.Placement"> + <summary> + The placement of the header. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Header.Height"> + <summary> + The height of the header. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Header.Width"> + <summary> + The width of the header. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Header.Text"> + <summary> + The text of the header. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Header.Margin"> + <summary> + The margin of the header. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.Header.#ctor(System.String,System.String,System.String,System.Int32)"> + <summary> + The natural constructor of the header. + </summary> + <param name="leftText">The text on the left of the header.</param> + <param name="centerText">The text in the center of the header.</param> + <param name="rightText">The text on the right of the header.</param> + <param name="margin">The margin of the header.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Header.UpdateLeftText(System.String)"> + <summary> + This method is used to update the text on the left of the header. + </summary> + <param name="leftText">The new text on the left of the header.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Header.UpdateCenterText(System.String)"> + <summary> + This method is used to update the text in the center of the header. + </summary> + <param name="centerText">The new text in the center of the header.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Header.UpdateRightText(System.String)"> + <summary> + This method is used to update the text on the right of the header. + </summary> + <param name="rightText">The new text on the right of the header.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Header.UpdateMargin(System.Int32)"> + <summary> + This method is used to update the margin of the header. + </summary> + <param name="margin">The new margin of the header.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Header.RenderElementActions"> + <summary> + This method is used to render the header on the console. + </summary> + </member> + <member name="T:ConsoleAppVisuals.Elements.ElementList"> + <summary> + This class is used to display a ElementList of all the elements in the window. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.RoundedCorners"> + <summary> + This property wether the corners of the ElementList are rounded. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Title"> + <summary> + This property returns the title of the ElementList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Headers"> + <summary> + This property returns the headers of the ElementList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Lines"> + <summary> + This property returns the lines of the ElementList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Placement"> + <summary> + This property returns the title of the ElementList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Height"> + <summary> + This property returns the height of the ElementList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Width"> + <summary> + This property returns the width of the ElementList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Count"> + <summary> + This property returns the number of lines in the ElementList. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementList.#ctor(ConsoleAppVisuals.Enums.Placement,System.Boolean)"> + <summary> + This constructor creates a new instance of the WindowElementsElementList class. + </summary> + <param name="placement">The placement of the ElementList.</param> + <param name="roundedCorners">If true, the corners of the ElementList will be rounded.</param> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementList.SetRoundedCorners(System.Boolean)"> + <summary> + Toggles the rounded corners of the element. + </summary> + <param name="rounded">If true, the corners of the ElementList will be rounded.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementList.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> + <summary> + This method adds a line to the ElementList. + </summary> + <param name="placement">The placement of the ElementList.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementList.RenderElementActions"> + <summary> + This method displays the ElementList. + </summary> + </member> + <member name="T:ConsoleAppVisuals.Elements.ElementsDashboard"> + <summary> + This class is used to display a dashboard of all the elements in the window. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.RoundedCorners"> + <summary> + This property wether the corners of the dashboard are rounded. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Title"> + <summary> + This property returns the title of the dashboard. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Headers"> + <summary> + This property returns the headers of the dashboard. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Lines"> + <summary> + This property returns the lines of the dashboard. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Placement"> + <summary> + This property returns the title of the dashboard. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Height"> + <summary> + This property returns the height of the dashboard. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Width"> + <summary> + This property returns the width of the dashboard. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Count"> + <summary> + This property returns the number of lines in the dashboard. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementsDashboard.#ctor(ConsoleAppVisuals.Enums.Placement,System.Boolean)"> + <summary> + This constructor creates a new instance of the WindowElementsDashboard class. + </summary> + <param name="placement">The placement of the dashboard.</param> + <param name="roundedCorners">If true, the corners of the dashboard will be rounded.</param> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementsDashboard.SetRoundedCorners(System.Boolean)"> + <summary> + Toggles the rounded corners of the element. + </summary> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementsDashboard.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> + <summary> + This method updates the placement of the dashboard. </summary> - <param name="rounded">Whether to round the corners or not.</param> + <param name="placement">The new placement of the dashboard.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.GetLine(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.ElementsDashboard.RenderElementActions"> <summary> - This property returns the specified line in the table. + This method displays the dashboard. </summary> - <param name="index">The index of the line to return.</param> - <returns>The line at the specified index.</returns> - <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.GetColumnData(System.Int32)"> + <member name="T:ConsoleAppVisuals.Elements.InteractiveList"> <summary> - This method is used to get all the elements from a column given its index. + This class is used to display a InteractiveList of all the elements in the window. </summary> - <param name="index">The index of the column.</param> - <returns>The elements of the column.</returns> - <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.GetColumnData(System.String)"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Title"> <summary> - This method is used to get all the elements from a column given its header. + This property returns the title of the InteractiveList. </summary> - <param name="header">The header of the column.</param> - <returns>The elements of the column.</returns> - <exception cref="T:System.ArgumentException">Is thrown when the header is invalid.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.AddLine(System.Collections.Generic.List{`0})"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Headers"> <summary> - This method adds a line to the table. + This property returns the headers of the dashboard. </summary> - <param name="line">The line to add.</param> - <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.RemoveLine(System.Int32)"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.RoundedCorners"> <summary> - This method removes a line from the table. + This property wether the corners of the InteractiveList are rounded. </summary> - <param name="index">The index of the line to remove.</param> - <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.UpdateLine(System.Int32,System.Collections.Generic.List{`0})"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Lines"> <summary> - This method updates a line in the table. + This property returns the lines of the InteractiveList. </summary> - <param name="index">The index of the line to update.</param> - <param name="line">The new line.</param> - <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> - <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.ClearHeaders"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Placement"> <summary> - This method clears the headers of the table. + This property returns the title of the InteractiveList. </summary> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.ClearLines"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Height"> <summary> - This method clears the lines of the table. + This property returns the line to display the InteractiveList on. + </summary> + <summary> + This property returns the height of the InteractiveList. </summary> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.Reset"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Width"> <summary> - This method clears the table. + This property returns the width of the InteractiveList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Count"> + <summary> + This property returns the number of lines in the InteractiveList. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.InteractiveList.#ctor(ConsoleAppVisuals.Enums.Placement,System.Boolean)"> + <summary> + This constructor creates a new instance of the WindowElementsInteractiveList class. + </summary> + <param name="placement">The placement of the InteractiveList.</param> + <param name="roundedCorners">If true, the corners of the InteractiveList will be rounded.</param> + </member> + <member name="M:ConsoleAppVisuals.Elements.InteractiveList.SetRoundedCorners(System.Boolean)"> + <summary> + Toggles the rounded corners of the element. + </summary> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.InteractiveList.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> + <summary> + This method updates the placement of the InteractiveList. </summary> + <param name="placement">The new placement of the InteractiveList.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.InteractiveList.RenderElementActions"> <summary> - This method displays the table without interaction. + This method displays the InteractiveList. </summary> </member> - <member name="T:ConsoleAppVisuals.LoadingBar"> + <member name="T:ConsoleAppVisuals.Elements.LoadingBar"> <summary> Defines the loading bar of the console window. </summary> @@ -1722,65 +2203,58 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.LoadingBar.Line"> - <summary> - The line of the loading bar in the console. - </summary> - <remarks>We add 2 because so the loading bar does not overlap with the title.</remarks> - </member> - <member name="P:ConsoleAppVisuals.LoadingBar.Height"> + <member name="P:ConsoleAppVisuals.Elements.LoadingBar.Height"> <summary> The height of the loading bar. </summary> <remarks>One line for the text,one line for the space between and one line for the progress.</remarks> </member> - <member name="P:ConsoleAppVisuals.LoadingBar.Width"> + <member name="P:ConsoleAppVisuals.Elements.LoadingBar.Width"> <summary> The width of the loading bar. </summary> </member> - <member name="P:ConsoleAppVisuals.LoadingBar.Placement"> + <member name="P:ConsoleAppVisuals.Elements.LoadingBar.Placement"> <summary> The placement of the loading bar. </summary> </member> - <member name="P:ConsoleAppVisuals.LoadingBar.Text"> + <member name="P:ConsoleAppVisuals.Elements.LoadingBar.Text"> <summary> Getters and setters of the text of the loading bar. </summary> </member> - <member name="P:ConsoleAppVisuals.LoadingBar.Progress"> + <member name="P:ConsoleAppVisuals.Elements.LoadingBar.Progress"> <summary> Getters and setters of the progress of the loading bar. </summary> </member> - <member name="P:ConsoleAppVisuals.LoadingBar.AdditionalDuration"> + <member name="P:ConsoleAppVisuals.Elements.LoadingBar.AdditionalDuration"> <summary> Getters of the additional duration of the loading bar at the end. </summary> </member> - <member name="M:ConsoleAppVisuals.LoadingBar.#ctor(System.String,System.Single@,ConsoleAppVisuals.Placement,System.Nullable{System.Int32},System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.LoadingBar.#ctor(System.String,System.Single@,ConsoleAppVisuals.Enums.Placement,System.Int32)"> <summary> The natural constructor of the loading bar. </summary> <param name="text">The text of the loading bar.</param> <param name="progress">The reference of the progress of the loading bar (that means that you should put a reference to a variable that will contain the percentage of progress of your process).</param> <param name="placement">The placement of the loading bar.</param> - <param name="line">The line of the loading bar.</param> <param name="additionalDuration">The duration of the loading bar after the process.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.LoadingBar.UpdateText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.LoadingBar.UpdateText(System.String)"> <summary> This method is used to update the text of the loading bar. </summary> @@ -1789,11 +2263,38 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.LoadingBar.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> + <summary> + This method is used to update the placement of the loading bar. + </summary> + <param name="placement">The new placement of the loading bar.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.LoadingBar.UpdateAdditionalDuration(System.Int32)"> + <summary> + This method is used to update the additional duration of the loading bar. + </summary> + <param name="additionalDuration">The new additional duration of the loading bar.</param> + <exception cref="T:System.ArgumentException">The additional duration of the loading bar cannot be negative.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.LoadingBar.UpdateProgress(System.Single)"> + <member name="M:ConsoleAppVisuals.Elements.LoadingBar.UpdateProgress(System.Single)"> <summary> This method is used to update the progress of the loading bar. </summary> @@ -1802,63 +2303,57 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.LoadingBar.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.LoadingBar.RenderElementActions"> <summary> This method is used to draw the loading bar on the console. </summary> </member> - <member name="T:ConsoleAppVisuals.Matrix`1"> + <member name="T:ConsoleAppVisuals.Elements.Matrix`1"> <summary> A matrix class for the console. </summary> </member> - <member name="P:ConsoleAppVisuals.Matrix`1.RoundedCorners"> + <member name="P:ConsoleAppVisuals.Elements.Matrix`1.RoundedCorners"> <summary> Gets the rounded corners boolean value of the matrix. </summary> </member> - <member name="P:ConsoleAppVisuals.Matrix`1.Count"> + <member name="P:ConsoleAppVisuals.Elements.Matrix`1.Count"> <summary> Gets the number of lines in the matrix. </summary> </member> - <member name="P:ConsoleAppVisuals.Matrix`1.Placement"> + <member name="P:ConsoleAppVisuals.Elements.Matrix`1.Placement"> <summary> Gets the placement of the matrix. </summary> </member> - <member name="P:ConsoleAppVisuals.Matrix`1.Height"> + <member name="P:ConsoleAppVisuals.Elements.Matrix`1.Height"> <summary> Gets the height of the matrix. </summary> </member> - <member name="P:ConsoleAppVisuals.Matrix`1.Width"> + <member name="P:ConsoleAppVisuals.Elements.Matrix`1.Width"> <summary> Gets the width of the matrix. </summary> </member> - <member name="P:ConsoleAppVisuals.Matrix`1.Line"> - <summary> - Gets the line of the matrix. - </summary> - </member> - <member name="M:ConsoleAppVisuals.Matrix`1.#ctor(System.Collections.Generic.List{System.Collections.Generic.List{`0}},System.Boolean,ConsoleAppVisuals.Placement,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.#ctor(System.Collections.Generic.List{System.Collections.Generic.List{`0}},System.Boolean,ConsoleAppVisuals.Enums.Placement)"> <summary> - The natural constructor of the <see cref="T:ConsoleAppVisuals.Matrix`1"/> class. + The natural constructor of the <see cref="T:ConsoleAppVisuals.Elements.Matrix`1"/> class. </summary> <param name="rawLines">The matrix to be used.</param> <param name="roundedCorners">Whether the matrix should have rounded corners or not.</param> <param name="placement">The placement of the matrix.</param> - <param name="line">The line of the matrix.</param> <exception cref="T:System.ArgumentException">Thrown when the matrix is empty or not compatible (lines are not of the same length).</exception> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.SetRoundedCorners(System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.SetRoundedCorners(System.Boolean)"> <summary> Toggles the rounded corners of the table. </summary> @@ -1866,11 +2361,24 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> + <summary> + This method is used to update the placement of the matrix. + </summary> + <param name="placement">The new placement of the matrix.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.GetItem(ConsoleAppVisuals.Position)"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.GetItem(ConsoleAppVisuals.Models.Position)"> <summary> Gets the element at the specified position. </summary> @@ -1881,11 +2389,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.AddLine(System.Collections.Generic.List{`0})"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.AddLine(System.Collections.Generic.List{`0})"> <summary> Adds a line to the matrix. </summary> @@ -1896,11 +2404,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.InsertLine(System.Int32,System.Collections.Generic.List{`0})"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.InsertLine(System.Int32,System.Collections.Generic.List{`0})"> <summary> Inserts a line at the specified index. </summary> @@ -1913,11 +2421,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.UpdateLine(System.Int32,System.Collections.Generic.List{`0})"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.UpdateLine(System.Int32,System.Collections.Generic.List{`0})"> <summary> Updates a line in the matrix. </summary> @@ -1930,11 +2438,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.UpdateItem(ConsoleAppVisuals.Position,`0)"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.UpdateItem(ConsoleAppVisuals.Models.Position,`0)"> <summary> Updates an element in the matrix. </summary> @@ -1946,11 +2454,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.RemoveLine(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.RemoveLine(System.Int32)"> <summary> Removes a line from the matrix. </summary> @@ -1961,11 +2469,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.RemoveItem(ConsoleAppVisuals.Position)"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.RemoveItem(ConsoleAppVisuals.Models.Position)"> <summary> Removes an element from the matrix. </summary> @@ -1976,11 +2484,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.RenderElementActions"> <summary> Writes the matrix instance to the console. </summary> @@ -1988,118 +2496,112 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="T:ConsoleAppVisuals.TableView`1"> + <member name="T:ConsoleAppVisuals.Elements.TableView`1"> <summary> - The <see cref="T:ConsoleAppVisuals.TableView`1"/> class that contains the methods to create a table and display it. + The <see cref="T:ConsoleAppVisuals.Elements.TableView`1"/> class that contains the methods to create a table and display it. </summary> </member> - <member name="P:ConsoleAppVisuals.TableView`1.GetRawHeaders"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.GetRawHeaders"> <summary> This property returns the headers of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.TableView`1.GetRawLines"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.GetRawLines"> <summary> This property returns the lines of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.TableView`1.Placement"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.Placement"> <summary> This property returns the title of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.TableView`1.Line"> - <summary> - This property returns the line to display the table on. - </summary> - </member> - <member name="P:ConsoleAppVisuals.TableView`1.Height"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.Height"> <summary> This property returns the height of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.TableView`1.Width"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.Width"> <summary> This property returns the width of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.TableView`1.MaxNumberOfThisElement"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.MaxNumberOfThisElement"> <summary> This property returns the maximum number of this element that can be displayed on the console. </summary> </member> - <member name="M:ConsoleAppVisuals.TableView`1.#ctor(System.String,System.Collections.Generic.List{System.String},System.Collections.Generic.List{System.Collections.Generic.List{`0}},System.Boolean,ConsoleAppVisuals.Placement,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.#ctor(System.String,System.Collections.Generic.List{System.String},System.Collections.Generic.List{System.Collections.Generic.List{`0}},System.Boolean,ConsoleAppVisuals.Enums.Placement)"> <summary> - The <see cref="T:ConsoleAppVisuals.TableView`1"/> natural constructor. + The <see cref="T:ConsoleAppVisuals.Elements.TableView`1"/> natural constructor. </summary> <param name="title">The title of the table.</param> <param name="headers">The headers of the table.</param> <param name="lines">The lines of the table.</param> <param name="roundedCorners">The rounded corners of the table.</param> <param name="placement">The placement of the table.</param> - <param name="line">The line to display the table on.</param> <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> <exception cref="T:System.NullReferenceException">Is thrown when no body lines were provided.</exception> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="P:ConsoleAppVisuals.TableView`1.Count"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.Count"> <summary> This property returns the number of lines in the table. </summary> </member> - <member name="M:ConsoleAppVisuals.TableView`1.SetRoundedCorners(System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.SetRoundedCorners(System.Boolean)"> <summary> Toggles the rounded corners of the table. </summary> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="M:ConsoleAppVisuals.TableView`1.AddTitle(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.AddTitle(System.String)"> <summary> This method adds a title to the table. </summary> <param name="title">The title to add.</param> </member> - <member name="M:ConsoleAppVisuals.TableView`1.UpdateTitle(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.UpdateTitle(System.String)"> <summary> This method updates the title of the table. </summary> <param name="title">The title to update.</param> </member> - <member name="M:ConsoleAppVisuals.TableView`1.ClearTitle"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.ClearTitle"> <summary> This method clears the title of the table. </summary> </member> - <member name="M:ConsoleAppVisuals.TableView`1.AddHeaders(System.Collections.Generic.List{System.String})"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.AddHeaders(System.Collections.Generic.List{System.String})"> <summary> This method adds headers to the table. </summary> <param name="headers">The headers to add.</param> </member> - <member name="M:ConsoleAppVisuals.TableView`1.UpdateHeaders(System.Collections.Generic.List{System.String})"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.UpdateHeaders(System.Collections.Generic.List{System.String})"> <summary> This method updates the headers of the table. </summary> <param name="headers">The headers to update.</param> </member> - <member name="M:ConsoleAppVisuals.TableView`1.ClearHeaders"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.ClearHeaders"> <summary> This method clears the headers of the table. </summary> </member> - <member name="M:ConsoleAppVisuals.TableView`1.AddLine(System.Collections.Generic.List{`0})"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.AddLine(System.Collections.Generic.List{`0})"> <summary> This method adds a line to the table. </summary> <param name="line">The line to add.</param> <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="M:ConsoleAppVisuals.TableView`1.UpdateLine(System.Int32,System.Collections.Generic.List{`0})"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.UpdateLine(System.Int32,System.Collections.Generic.List{`0})"> <summary> This method updates a line in the table. </summary> @@ -2107,31 +2609,31 @@ <param name="line">The new line.</param> <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="M:ConsoleAppVisuals.TableView`1.RemoveLine(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.RemoveLine(System.Int32)"> <summary> This method removes a line from the table. </summary> <param name="index">The index of the line to remove.</param> <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="M:ConsoleAppVisuals.TableView`1.ClearLines"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.ClearLines"> <summary> This method clears the lines of the table. </summary> </member> - <member name="M:ConsoleAppVisuals.TableView`1.GetLine(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.GetLine(System.Int32)"> <summary> This property returns the specified line in the table. </summary> <param name="index">The index of the line to return.</param> <returns>The line at the specified index.</returns> <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="M:ConsoleAppVisuals.TableView`1.GetColumnData(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.GetColumnData(System.Int32)"> <summary> This method is used to get all the elements from a column given its index. </summary> @@ -2139,7 +2641,7 @@ <returns>The elements of the column.</returns> <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> </member> - <member name="M:ConsoleAppVisuals.TableView`1.GetColumnData(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.GetColumnData(System.String)"> <summary> This method is used to get all the elements from a column given its header. </summary> @@ -2148,17 +2650,17 @@ <exception cref="T:System.InvalidOperationException">Is thrown when the table is empty.</exception> <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the header is invalid.</exception> </member> - <member name="M:ConsoleAppVisuals.TableView`1.Reset"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.Reset"> <summary> This method clears the table. </summary> </member> - <member name="M:ConsoleAppVisuals.TableView`1.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.RenderElementActions"> <summary> This method displays the table without interaction. </summary> </member> - <member name="T:ConsoleAppVisuals.Title"> + <member name="T:ConsoleAppVisuals.Elements.Title"> <summary> Defines the title of the console window. </summary> @@ -2166,31 +2668,36 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Title.StyledText"> - <summary> + <member name="P:ConsoleAppVisuals.Elements.Title.StyledText"> + <summary> - </summary> + </summary> </member> - <member name="P:ConsoleAppVisuals.Title.Placement"> + <member name="P:ConsoleAppVisuals.Elements.Title.Placement"> <summary> The placement of the title. </summary> </member> - <member name="P:ConsoleAppVisuals.Title.Height"> + <member name="P:ConsoleAppVisuals.Elements.Title.Height"> <summary> The height of the title. </summary> </member> - <member name="P:ConsoleAppVisuals.Title.Width"> + <member name="P:ConsoleAppVisuals.Elements.Title.Width"> <summary> The width of the title. </summary> </member> - <member name="M:ConsoleAppVisuals.Title.#ctor(System.String,System.Int32,System.Nullable{System.Int32},ConsoleAppVisuals.TextAlignment)"> + <member name="P:ConsoleAppVisuals.Elements.Title.Line"> + <summary> + The line of the title. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.Title.#ctor(System.String,System.Int32,System.Nullable{System.Int32},ConsoleAppVisuals.Enums.TextAlignment)"> <summary> The constructor of the title. </summary> @@ -2202,11 +2709,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Title.UpdateText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.Title.UpdateText(System.String)"> <summary> This method updates the text of the title. </summary> @@ -2215,51 +2722,79 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Title.UpdateMargin(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.Title.UpdateMargin(System.Int32)"> <summary> This method updates the margin of the title. </summary> <param name="margin">The new margin of the title.</param> + <exception cref="T:System.ArgumentOutOfRangeException">The margin must be between 0 and the half of the console height.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Title.UpdateWidth(System.Int32)"> + <summary> + This method updates the width of the title. + </summary> + <param name="width">The new width of the title.</param> + <exception cref="T:System.ArgumentOutOfRangeException">The width must be between 0 and the console width.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Title.UpdateAlignment(ConsoleAppVisuals.Enums.TextAlignment)"> + <summary> + This method updates the alignment of the title. + </summary> + <param name="align">The new alignment of the title.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Title.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.Title.RenderElementActions"> <summary> This method is used to draw the title on the console. </summary> </member> - <member name="T:ConsoleAppVisuals.Direction"> + <member name="T:ConsoleAppVisuals.Enums.Direction"> <summary> - The <see cref="T:ConsoleAppVisuals.Direction"/> enum defines the direction in some space. + The <see cref="T:ConsoleAppVisuals.Enums.Direction"/> enum defines the direction in some space. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="F:ConsoleAppVisuals.Direction.Up"> + <member name="F:ConsoleAppVisuals.Enums.Direction.Up"> <summary> The up direction. </summary> </member> - <member name="F:ConsoleAppVisuals.Direction.Down"> + <member name="F:ConsoleAppVisuals.Enums.Direction.Down"> <summary> The down direction. </summary> </member> - <member name="T:ConsoleAppVisuals.Output"> + <member name="T:ConsoleAppVisuals.Enums.Output"> <summary> Enum for the output of the scrolling menus. </summary> @@ -2267,96 +2802,96 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="F:ConsoleAppVisuals.Output.None"> + <member name="F:ConsoleAppVisuals.Enums.Output.None"> <summary> Default value. </summary> </member> - <member name="F:ConsoleAppVisuals.Output.Selected"> + <member name="F:ConsoleAppVisuals.Enums.Output.Selected"> <summary> Chose to validate the input. </summary> </member> - <member name="F:ConsoleAppVisuals.Output.Deleted"> + <member name="F:ConsoleAppVisuals.Enums.Output.Deleted"> <summary> Chose to delete an item. </summary> </member> - <member name="F:ConsoleAppVisuals.Output.Escaped"> + <member name="F:ConsoleAppVisuals.Enums.Output.Escaped"> <summary> Chose to exit the menu. </summary> </member> - <member name="T:ConsoleAppVisuals.Placement"> + <member name="T:ConsoleAppVisuals.Enums.Placement"> <summary> - The <see cref="T:ConsoleAppVisuals.Placement"/> enum defines the placement of a string in some space. + The <see cref="T:ConsoleAppVisuals.Enums.Placement"/> enum defines the placement of a string in some space. It could be another string or a console line. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="F:ConsoleAppVisuals.Placement.TopCenter"> + <member name="F:ConsoleAppVisuals.Enums.Placement.TopCenter"> <summary> The object is placed in the top center of the space. </summary> </member> - <member name="F:ConsoleAppVisuals.Placement.TopLeft"> + <member name="F:ConsoleAppVisuals.Enums.Placement.TopLeft"> <summary> The object is placed in the top left of the space. </summary> </member> - <member name="F:ConsoleAppVisuals.Placement.TopRight"> + <member name="F:ConsoleAppVisuals.Enums.Placement.TopRight"> <summary> The object is placed in the top right of the space. </summary> </member> - <member name="F:ConsoleAppVisuals.Placement.TopCenterFullWidth"> + <member name="F:ConsoleAppVisuals.Enums.Placement.TopCenterFullWidth"> <summary> The object is placed in the top center of the space and takes all the width. </summary> </member> - <member name="F:ConsoleAppVisuals.Placement.BottomCenterFullWidth"> + <member name="F:ConsoleAppVisuals.Enums.Placement.BottomCenterFullWidth"> <summary> The object is placed in the bottom center of the space and takes all the width. </summary> </member> - <member name="T:ConsoleAppVisuals.TextAlignment"> + <member name="T:ConsoleAppVisuals.Enums.TextAlignment"> <summary> - The <see cref="T:ConsoleAppVisuals.TextAlignment"/> enum defines the alignment of a string in the space. + The <see cref="T:ConsoleAppVisuals.Enums.TextAlignment"/> enum defines the alignment of a string in the space. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="F:ConsoleAppVisuals.TextAlignment.Center"> + <member name="F:ConsoleAppVisuals.Enums.TextAlignment.Center"> <summary> The string is placed in the center of the space. </summary> </member> - <member name="F:ConsoleAppVisuals.TextAlignment.Left"> + <member name="F:ConsoleAppVisuals.Enums.TextAlignment.Left"> <summary> The string is placed on the left of the space. </summary> </member> - <member name="F:ConsoleAppVisuals.TextAlignment.Right"> + <member name="F:ConsoleAppVisuals.Enums.TextAlignment.Right"> <summary> The string is placed on the right of the space. </summary> </member> - <member name="T:ConsoleAppVisuals.ElementNotFoundException"> + <member name="T:ConsoleAppVisuals.Errors.ElementNotFoundException"> <summary> Exception thrown when an element is not found in a collection. </summary> @@ -2364,44 +2899,29 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.ElementNotFoundException.#ctor"> + <member name="M:ConsoleAppVisuals.Errors.ElementNotFoundException.#ctor"> <summary> Default constructor. </summary> </member> - <member name="M:ConsoleAppVisuals.ElementNotFoundException.#ctor(System.String)"> + <member name="M:ConsoleAppVisuals.Errors.ElementNotFoundException.#ctor(System.String)"> <summary> Constructor with message. </summary> <param name="message">Message to be displayed.</param> </member> - <member name="M:ConsoleAppVisuals.ElementNotFoundException.#ctor(System.String,System.Exception)"> + <member name="M:ConsoleAppVisuals.Errors.ElementNotFoundException.#ctor(System.String,System.Exception)"> <summary> Constructor with message and inner exception. </summary> <param name="message">Message to be displayed.</param> <param name="inner">Inner exception.</param> </member> - <member name="M:ConsoleAppVisuals.ElementNotFoundException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> - <summary> - Serialization constructor. - </summary> - <param name="info">Serialization info.</param> - <param name="context">Streaming context.</param> - </member> - <member name="M:ConsoleAppVisuals.ElementNotFoundException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> - <summary> - Get object data for serialization. - </summary> - <param name="info">Serialization info.</param> - <param name="context">Streaming context.</param> - <exception cref="T:System.ArgumentNullException"></exception> - </member> - <member name="T:ConsoleAppVisuals.EmptyFileException"> + <member name="T:ConsoleAppVisuals.Errors.EmptyFileException"> <summary> Exception thrown when no data is found in a file. </summary> @@ -2409,44 +2929,29 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.EmptyFileException.#ctor"> + <member name="M:ConsoleAppVisuals.Errors.EmptyFileException.#ctor"> <summary> Default constructor. </summary> </member> - <member name="M:ConsoleAppVisuals.EmptyFileException.#ctor(System.String)"> + <member name="M:ConsoleAppVisuals.Errors.EmptyFileException.#ctor(System.String)"> <summary> Constructor with message. </summary> <param name="message">Message to be displayed.</param> </member> - <member name="M:ConsoleAppVisuals.EmptyFileException.#ctor(System.String,System.Exception)"> + <member name="M:ConsoleAppVisuals.Errors.EmptyFileException.#ctor(System.String,System.Exception)"> <summary> Constructor with message and inner exception. </summary> <param name="message">Message to be displayed.</param> <param name="inner">Inner exception.</param> </member> - <member name="M:ConsoleAppVisuals.EmptyFileException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> - <summary> - Serialization constructor. - </summary> - <param name="info">Serialization info.</param> - <param name="context">Streaming context.</param> - </member> - <member name="M:ConsoleAppVisuals.EmptyFileException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> - <summary> - Get object data for serialization. - </summary> - <param name="info">Serialization info.</param> - <param name="context">Streaming context.</param> - <exception cref="T:System.ArgumentNullException"></exception> - </member> - <member name="T:ConsoleAppVisuals.NotSupportedCharException"> + <member name="T:ConsoleAppVisuals.Errors.NotSupportedCharException"> <summary> Exception thrown when a character is not supported by the TextStyler class. </summary> @@ -2454,44 +2959,29 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.NotSupportedCharException.#ctor"> + <member name="M:ConsoleAppVisuals.Errors.NotSupportedCharException.#ctor"> <summary> Default constructor. </summary> </member> - <member name="M:ConsoleAppVisuals.NotSupportedCharException.#ctor(System.String)"> + <member name="M:ConsoleAppVisuals.Errors.NotSupportedCharException.#ctor(System.String)"> <summary> Constructor with message. </summary> <param name="message">Message to be displayed.</param> </member> - <member name="M:ConsoleAppVisuals.NotSupportedCharException.#ctor(System.String,System.Exception)"> + <member name="M:ConsoleAppVisuals.Errors.NotSupportedCharException.#ctor(System.String,System.Exception)"> <summary> Constructor with message and inner exception. </summary> <param name="message">Message to be displayed.</param> <param name="inner">Inner exception.</param> </member> - <member name="M:ConsoleAppVisuals.NotSupportedCharException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> - <summary> - Serialization constructor. - </summary> - <param name="info">Serialization info.</param> - <param name="context">Streaming context.</param> - </member> - <member name="M:ConsoleAppVisuals.NotSupportedCharException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> - <summary> - Get object data for serialization. - </summary> - <param name="info">Serialization info.</param> - <param name="context">Streaming context.</param> - <exception cref="T:System.ArgumentNullException"></exception> - </member> - <member name="T:ConsoleAppVisuals.Element"> + <member name="T:ConsoleAppVisuals.Models.Element"> <summary> Defines the basic properties of an console element. </summary> @@ -2499,69 +2989,68 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Element.Id"> + <member name="P:ConsoleAppVisuals.Models.Element.Id"> <summary> The id number of the element. </summary> <remarks>This property is sealed. The ID of an element is automatically generated and managed by the <see cref="T:ConsoleAppVisuals.Window"/> class.</remarks> </member> - <member name="P:ConsoleAppVisuals.Element.Visibility"> + <member name="P:ConsoleAppVisuals.Models.Element.Visibility"> <summary> The visibility of the element. </summary> - <remarks>This property is sealed. The visibility of an element is managed by the <see cref="M:ConsoleAppVisuals.Element.ToggleVisibility"/> method.</remarks> + <remarks>This property is sealed. The visibility of an element is managed by the <see cref="M:ConsoleAppVisuals.Models.Element.ToggleVisibility"/> method.</remarks> </member> - <member name="P:ConsoleAppVisuals.Element.Placement"> + <member name="P:ConsoleAppVisuals.Models.Element.Placement"> <summary> The placement of the element. </summary> </member> - <member name="P:ConsoleAppVisuals.Element.TextAlignment"> + <member name="P:ConsoleAppVisuals.Models.Element.TextAlignment"> <summary> The text alignment of the text of the element. </summary> </member> - <member name="P:ConsoleAppVisuals.Element.IsInteractive"> + <member name="P:ConsoleAppVisuals.Models.Element.IsInteractive"> <summary> Whether the element is executable or not. </summary> </member> - <member name="P:ConsoleAppVisuals.Element.Line"> + <member name="P:ConsoleAppVisuals.Models.Element.Line"> <summary> The line of the element in the console. </summary> - <remarks>This property is marked as virtual. It is recommended to override this property in derived classes to make it more specific.</remarks> </member> - <member name="P:ConsoleAppVisuals.Element.Height"> + <member name="P:ConsoleAppVisuals.Models.Element.Height"> <summary> The height of the element. </summary> <remarks>This property is marked as virtual. It is recommended to override this property in derived classes to make it more specific.</remarks> </member> - <member name="P:ConsoleAppVisuals.Element.Width"> + <member name="P:ConsoleAppVisuals.Models.Element.Width"> <summary> The width of the element. </summary> <remarks>This property is marked as virtual. It is recommended to override this property in derived classes to make it more specific.</remarks> </member> - <member name="P:ConsoleAppVisuals.Element.MaxNumberOfThisElement"> + <member name="P:ConsoleAppVisuals.Models.Element.MaxNumberOfThisElement"> <summary> The maximum number of this element that can be drawn on the console. </summary> <remarks>This property is marked as virtual. It is recommended to override this property in derived classes to make it more specific.</remarks> </member> - <member name="M:ConsoleAppVisuals.Element.ToggleVisibility"> + <member name="M:ConsoleAppVisuals.Models.Element.ToggleVisibility"> <summary> This method is used to toggle the visibility of the element.This method is used to toggle the visibility of the element. If the maximum number of this element is reached, an exception is thrown. </summary> <exception cref="T:System.InvalidOperationException">Thrown when the maximum number of this element is reached.</exception> <remarks>This method is effectively sealed. The only way to change the visibility of an element is to use this method.</remarks> </member> - <member name="M:ConsoleAppVisuals.Element.RenderElement"> + <member name="M:ConsoleAppVisuals.Models.Element.RenderElement"> <summary> This method is used to draw the element on the console. </summary> @@ -2569,27 +3058,27 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Element.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Models.Element.RenderElementActions"> <summary> This method is used to define the actions to perform when the element is drawn on the console. </summary> <remarks>This method is marked as virtual. It is recommended to override this method in derived classes to make it more specific.</remarks> </member> - <member name="M:ConsoleAppVisuals.Element.RenderOptionsBeforeHand"> + <member name="M:ConsoleAppVisuals.Models.Element.RenderOptionsBeforeHand"> <summary> This method is used to set options before drawing the element on the console. </summary> </member> - <member name="M:ConsoleAppVisuals.Element.RenderOptionsAfterHand"> + <member name="M:ConsoleAppVisuals.Models.Element.RenderOptionsAfterHand"> <summary> This method is used to set options after drawing the element on the console. </summary> </member> - <member name="M:ConsoleAppVisuals.Element.RenderElementSpace"> + <member name="M:ConsoleAppVisuals.Models.Element.RenderElementSpace"> <summary> This method is used to draw the space taken by the element on the console. </summary> @@ -2597,45 +3086,45 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Element.GetRenderSpace"> + <member name="M:ConsoleAppVisuals.Models.Element.GetRenderSpace"> <summary> This method is used to simulate the drawing space of the element on the console. </summary> <returns>The space taken by the element.</returns> <remarks>This method is marked as virtual. It is recommended to override this method in derived classes to make it more specific.</remarks> </member> - <member name="M:ConsoleAppVisuals.Element.Clear"> + <member name="M:ConsoleAppVisuals.Models.Element.Clear"> <summary> This method is used to clear the space taken by the element on the console. </summary> </member> - <member name="T:ConsoleAppVisuals.FontYamlFile"> + <member name="T:ConsoleAppVisuals.Models.FontYamlFile"> <summary> - The <see cref="T:ConsoleAppVisuals.FontYamlFile"/> class defines the structure of a yaml file used to store the height of each character of a font. + The <see cref="T:ConsoleAppVisuals.Models.FontYamlFile"/> class defines the structure of a yaml file used to store the height of each character of a font. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.FontYamlFile.Name"> + <member name="P:ConsoleAppVisuals.Models.FontYamlFile.Name"> <summary> The name of the font. </summary> </member> - <member name="P:ConsoleAppVisuals.FontYamlFile.Chars"> + <member name="P:ConsoleAppVisuals.Models.FontYamlFile.Chars"> <summary> The height of the elements of the font. </summary> </member> - <member name="T:ConsoleAppVisuals.InteractionEventArgs`1"> + <member name="T:ConsoleAppVisuals.Models.InteractionEventArgs`1"> <summary> This class contains the arguments of the ScrollingMenuSelected event. </summary> @@ -2643,29 +3132,29 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.InteractionEventArgs`1.Status"> + <member name="P:ConsoleAppVisuals.Models.InteractionEventArgs`1.Status"> <summary> The status after exiting the interactive element. </summary> <value>Output.Escaped : pressed escape, Output.Deleted : pressed backspace, Output.Selected : pressed enter, Output.None : default value</value> </member> - <member name="P:ConsoleAppVisuals.InteractionEventArgs`1.Value"> + <member name="P:ConsoleAppVisuals.Models.InteractionEventArgs`1.Value"> <summary> The value of the response after exiting the interactive element. </summary> </member> - <member name="M:ConsoleAppVisuals.InteractionEventArgs`1.#ctor(ConsoleAppVisuals.Output,`0)"> + <member name="M:ConsoleAppVisuals.Models.InteractionEventArgs`1.#ctor(ConsoleAppVisuals.Enums.Output,`0)"> <summary> This constructor initializes the InteractionEventArgs class. </summary> <param name="status">The status of the exit from the menu.</param> <param name="value">The value of the response after exiting the interactive element.</param> </member> - <member name="T:ConsoleAppVisuals.InteractiveElement`1"> + <member name="T:ConsoleAppVisuals.Models.InteractiveElement`1"> <summary> Defines the basic properties of an console element. </summary> @@ -2673,60 +3162,72 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.InteractiveElement`1.IsInteractive"> + <member name="P:ConsoleAppVisuals.Models.InteractiveElement`1.IsInteractive"> <summary> Whether the element is interactive or not. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveElement`1.MaxNumberOfThisElement"> + <member name="P:ConsoleAppVisuals.Models.InteractiveElement`1.MaxNumberOfThisElement"> <summary> The maximum number of this element that can be drawn on the console. As an interactive element, the value is 1. </summary> </member> - <member name="E:ConsoleAppVisuals.InteractiveElement`1.EndOfInteractionEvent"> + <member name="E:ConsoleAppVisuals.Models.InteractiveElement`1.EndOfInteractionEvent"> <summary> </summary> </member> - <member name="F:ConsoleAppVisuals.InteractiveElement`1._interactionResponse"> + <member name="F:ConsoleAppVisuals.Models.InteractiveElement`1._interactionResponse"> <summary> The response of the user. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveElement`1.GetInteractionResponse"> - <summary> - Returns the response of the user. - </summary> - </member> - <member name="M:ConsoleAppVisuals.InteractiveElement`1.SetInteractionResponse(System.Object,ConsoleAppVisuals.InteractionEventArgs{`0})"> + <member name="M:ConsoleAppVisuals.Models.InteractiveElement`1.SetInteractionResponse(System.Object,ConsoleAppVisuals.Models.InteractionEventArgs{`0})"> <summary> Sets the response of the user in the attribute field. </summary> <param name="sender">The sender of the event.</param> <param name="e">The response of the user.</param> </member> - <member name="M:ConsoleAppVisuals.InteractiveElement`1.SendResponse(System.Object,ConsoleAppVisuals.InteractionEventArgs{`0})"> + <member name="M:ConsoleAppVisuals.Models.InteractiveElement`1.SendResponse(System.Object,ConsoleAppVisuals.Models.InteractionEventArgs{`0})"> <summary> Triggers the EndOfInteractionEvent event. </summary> <param name="sender">The sender of the event.</param> <param name="e">The response of the user.</param> </member> - <member name="M:ConsoleAppVisuals.InteractiveElement`1.RenderOptionsBeforeHand"> + <member name="M:ConsoleAppVisuals.Models.InteractiveElement`1.GetResponse"> + <summary> + Returns the response of the user after an interaction. + </summary> + <returns>Null if the user has not interacted with the element, otherwise the response of the user.</returns> + <remarks> + This sample shows how to use the <see cref="M:ConsoleAppVisuals.Models.InteractiveElement`1.GetResponse"/> method using the var keyword: + <code> + var response = element.GetResponse(); + </code> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Models.InteractiveElement`1.RenderOptionsBeforeHand"> <summary> This method is used to set options before drawing the element on the console. </summary> </member> - <member name="M:ConsoleAppVisuals.InteractiveElement`1.RenderOptionsAfterHand"> + <member name="M:ConsoleAppVisuals.Models.InteractiveElement`1.RenderOptionsAfterHand"> <summary> This method is used to set options after drawing the element on the console. </summary> </member> - <member name="T:ConsoleAppVisuals.Position"> + <member name="T:ConsoleAppVisuals.Models.Position"> <summary> A class that stores the position into X and Y parameters of a position. </summary> @@ -2734,23 +3235,23 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Position.X"> + <member name="P:ConsoleAppVisuals.Models.Position.X"> <summary> The x coordinate of the position. </summary> </member> - <member name="P:ConsoleAppVisuals.Position.Y"> + <member name="P:ConsoleAppVisuals.Models.Position.Y"> <summary> The y coordinate of the position. </summary> </member> - <member name="M:ConsoleAppVisuals.Position.#ctor(System.Int32,System.Int32)"> + <member name="M:ConsoleAppVisuals.Models.Position.#ctor(System.Int32,System.Int32)"> <summary> - Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Position"/> class with 2 coordinates. + Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Models.Position"/> class with 2 coordinates. </summary> <param name="x">The x coordinate of the position.</param> <param name="y">The y coordinate of the position.</param> @@ -2758,24 +3259,24 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Position.#ctor(ConsoleAppVisuals.Position)"> + <member name="M:ConsoleAppVisuals.Models.Position.#ctor(ConsoleAppVisuals.Models.Position)"> <summary> - Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Position"/> class with another instance of the <see cref="T:ConsoleAppVisuals.Position"/> class. + Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Models.Position"/> class with another instance of the <see cref="T:ConsoleAppVisuals.Models.Position"/> class. </summary> <param name="pos">The position to copy.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Position.ToString"> + <member name="M:ConsoleAppVisuals.Models.Position.ToString"> <summary> This method is used to convert the position to a string. </summary> @@ -2784,11 +3285,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Position.Equals(System.Object)"> + <member name="M:ConsoleAppVisuals.Models.Position.Equals(System.Object)"> <summary> This method is used to check if the position is equal to another position. </summary> @@ -2798,11 +3299,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Position.GetHashCode"> + <member name="M:ConsoleAppVisuals.Models.Position.GetHashCode"> <summary> Implementation of the IEquatable interface. </summary> @@ -2811,18 +3312,18 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Position.System#IEquatable{ConsoleAppVisuals#Position}#Equals(ConsoleAppVisuals.Position)"> + <member name="M:ConsoleAppVisuals.Models.Position.System#IEquatable{ConsoleAppVisuals#Models#Position}#Equals(ConsoleAppVisuals.Models.Position)"> <summary> Implementation of the IEquatable interface. </summary> <param name="other">The position to compare to.</param> <returns>True if the positions are equal, false otherwise.</returns> </member> - <member name="M:ConsoleAppVisuals.Position.op_Equality(ConsoleAppVisuals.Position,ConsoleAppVisuals.Position)"> + <member name="M:ConsoleAppVisuals.Models.Position.op_Equality(ConsoleAppVisuals.Models.Position,ConsoleAppVisuals.Models.Position)"> <summary> This operator is used to check if the position is equal to another position. </summary> @@ -2830,7 +3331,7 @@ <param name="right">The second position to compare.</param> <returns>True if the positions are equal, false otherwise.</returns> </member> - <member name="M:ConsoleAppVisuals.Position.op_Inequality(ConsoleAppVisuals.Position,ConsoleAppVisuals.Position)"> + <member name="M:ConsoleAppVisuals.Models.Position.op_Inequality(ConsoleAppVisuals.Models.Position,ConsoleAppVisuals.Models.Position)"> <summary> This operator is used to check if the position is not equal to another position. </summary> @@ -2838,32 +3339,32 @@ <param name="right">The second position to compare.</param> <returns>True if the positions are not equal, false otherwise.</returns> </member> - <member name="T:ConsoleAppVisuals.TextStyler"> + <member name="T:ConsoleAppVisuals.Models.TextStyler"> <summary> The class that styles any text with specified font files. </summary> </member> - <member name="P:ConsoleAppVisuals.TextStyler.Dictionary"> + <member name="P:ConsoleAppVisuals.Models.TextStyler.Dictionary"> <summary> The dictionary that stores the characters and their styled equivalent. </summary> </member> - <member name="M:ConsoleAppVisuals.TextStyler.#ctor(System.String,System.Reflection.Assembly)"> + <member name="M:ConsoleAppVisuals.Models.TextStyler.#ctor(System.String,System.Reflection.Assembly)"> <summary> The constructor of the TextStyler class. </summary> <param name="fontPath">The path to the font files.</param> <param name="assembly">The assembly in which to take the files. Do not use it by default.</param> - <exception cref="T:ConsoleAppVisuals.EmptyFileException">Thrown when the config.yml file is empty.</exception> + <exception cref="T:ConsoleAppVisuals.Errors.EmptyFileException">Thrown when the config.yml file is empty.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TextStyler.StyleTextToString(System.String)"> + <member name="M:ConsoleAppVisuals.Models.TextStyler.StyleTextToString(System.String)"> <summary> Styles the given text with the font files. </summary> @@ -2873,11 +3374,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TextStyler.StyleTextToStringArray(System.String)"> + <member name="M:ConsoleAppVisuals.Models.TextStyler.StyleTextToStringArray(System.String)"> <summary> Styles the given text with the font files. </summary> @@ -2887,45 +3388,49 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TextStyler.ToString"> + <member name="M:ConsoleAppVisuals.Models.TextStyler.ToString"> <summary> Get the info of the actual style (from the config.yml file). </summary> <returns>A string compiling these pieces of information.</returns> - <exception cref="T:ConsoleAppVisuals.EmptyFileException">Thrown when the config.yml file is empty.</exception> + <exception cref="T:ConsoleAppVisuals.Errors.EmptyFileException">Thrown when the config.yml file is empty.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> <member name="T:ConsoleAppVisuals.Window"> <summary> - The major class of the library. The window is used to collect the elements of the console and draw them. + The Window class manages the elements that are to be displayed on the console. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> <member name="M:ConsoleAppVisuals.Window.#cctor"> <summary> - This method sets up the window without the need to call it. + This method sets up the console as soon as the Program starts. </summary> </member> <member name="F:ConsoleAppVisuals.Window.DEFAULT_VISIBILITY"> <summary> The default visibility of the elements when they are added to the window. </summary> + <remarks> + This value should not be changed. + Each time the user adds an element to the window, it will try to toggle the visibility of the element. + </remarks> </member> <member name="P:ConsoleAppVisuals.Window.NextId"> <summary> @@ -2937,11 +3442,19 @@ Gives the number of elements in the window. </summary> </member> - <member name="P:ConsoleAppVisuals.Window.GetElements"> + <member name="P:ConsoleAppVisuals.Window.Elements"> <summary> Gives the list of elements in the window. </summary> </member> + <member name="M:ConsoleAppVisuals.Window.GetRange(System.Int32,System.Int32)"> + <summary> + This method returns a range of elements given a start and end ids. + </summary> + <param name="start">The start id of the range.</param> + <param name="end">The end id of the range.</param> + <returns>The range of elements from the start to the end id.</returns> + </member> <member name="M:ConsoleAppVisuals.Window.GetElement``1"> <summary> This method returns the first element of the given type. @@ -2952,13 +3465,13 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> <member name="M:ConsoleAppVisuals.Window.GetElement``1(System.Int32)"> <summary> - This method returns the element with the given id. + This method returns the first element of the given type and id. </summary> <param name="id">The id of the element.</param> <returns>The element with the given id if it exists, null otherwise.</returns> @@ -2967,7 +3480,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -2981,11 +3494,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.AddElement(ConsoleAppVisuals.Element[])"> + <member name="M:ConsoleAppVisuals.Window.AddElement(ConsoleAppVisuals.Models.Element[])"> <summary> This method adds elements to the window. </summary> @@ -2994,11 +3507,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.InsertElement(ConsoleAppVisuals.Element,System.Int32)"> + <member name="M:ConsoleAppVisuals.Window.InsertElement(ConsoleAppVisuals.Models.Element,System.Int32)"> <summary> This method inserts an element to the window at the given id. </summary> @@ -3009,51 +3522,51 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.RemoveElement(System.Int32)"> + <member name="M:ConsoleAppVisuals.Window.RemoveElement``1"> <summary> - This method removes the element with the given id. + This method removes the first element with the given type. </summary> - <param name="id">The id of the element.</param> - <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the id is out of range.</exception> + <typeparam name="T">The type of the element.</typeparam> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is invalid.</exception> + <returns>True if the element is successfully removed, false otherwise.</returns> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.RemoveElement(ConsoleAppVisuals.Element[])"> + <member name="M:ConsoleAppVisuals.Window.RemoveElement(System.Int32)"> <summary> - This method removes the given element. + This method removes the element with the given id. </summary> - <param name="elements">The elements to be removed.</param> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> - <returns>True if the element is successfully removed, false otherwise.</returns> + <param name="id">The id of the element.</param> + <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the id is out of range.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.RemoveElement``1"> + <member name="M:ConsoleAppVisuals.Window.RemoveElement(ConsoleAppVisuals.Models.Element[])"> <summary> - This method removes the first element with the given type. + This method removes the given element. </summary> - <typeparam name="T">The type of the element.</typeparam> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> + <param name="elements">The elements to be removed.</param> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is invalid.</exception> <returns>True if the element is successfully removed, false otherwise.</returns> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3065,7 +3578,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3080,17 +3593,17 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.ActivateElement(ConsoleAppVisuals.Element,System.Boolean)"> + <member name="M:ConsoleAppVisuals.Window.ActivateElement(ConsoleAppVisuals.Models.Element,System.Boolean)"> <summary> This method attempts to activate the visibility of the given element. </summary> <param name="element">The element to be activated.</param> <param name="render">If true, the element will be rendered.</param> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is invalid.</exception> </member> <member name="M:ConsoleAppVisuals.Window.ActivateElement``1(System.Boolean)"> <summary> @@ -3098,29 +3611,12 @@ </summary> <param name="render">If true, the element will be rendered.</param> <typeparam name="T">The type of the element.</typeparam> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> - </member> - <member name="M:ConsoleAppVisuals.Window.GetResponse``2(System.Boolean)"> - <summary> - After activating the visibility of an interactive element, this method will return the response for the user. - </summary> - <param name="clear">If true, the element will be cleared.</param> - <typeparam name="T">The type of interactive element.</typeparam> - <typeparam name="TResponse">The type of the response (int, string, float...).</typeparam> - <returns>The response of the user.</returns> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is invalid.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3132,7 +3628,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3141,28 +3637,28 @@ This method to deactivate the visibility of the element with the given id. </summary> <param name="id">The id of the element.</param> - <param name="clear">If true, the element will be cleared.</param> + <param name="clear">If true, the element will be cleared from the console.</param> <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the id is out of range.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.DeactivateElement(ConsoleAppVisuals.Element,System.Boolean)"> + <member name="M:ConsoleAppVisuals.Window.DeactivateElement(ConsoleAppVisuals.Models.Element,System.Boolean)"> <summary> This method deactivate the visibility of the element with the given type. </summary> <param name="element">The element to be deactivated.</param> - <param name="clear">If true, the element will be cleared.</param> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> + <param name="clear">If true, the element will be cleared from the console.</param> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is invalid.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3172,12 +3668,12 @@ </summary> <param name="clear">If true, the element will be cleared.</param> <typeparam name="T">The type of the element.</typeparam> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is invalid.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3189,7 +3685,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3200,9 +3696,9 @@ <param name="id">The id of the element.</param> <returns>True if the element can be toggled to visible, false otherwise.</returns> </member> - <member name="M:ConsoleAppVisuals.Window.GetLineAvailable(ConsoleAppVisuals.Placement)"> + <member name="M:ConsoleAppVisuals.Window.GetLineAvailable(ConsoleAppVisuals.Enums.Placement)"> <summary> - Gives the last line available to draw an element on the console from a placement. + This method gets the last line available to draw an element on the console from a placement. </summary> <param name="placement">The placement of the element.</param> <returns>The last line available to draw an element on the console from a placement.</returns> @@ -3211,13 +3707,13 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> <member name="M:ConsoleAppVisuals.Window.CheckLine(System.Nullable{System.Int32})"> <summary> - This method checks if the line is valid. + This method checks if the line is valid under the console constraints. </summary> <param name="line">The line to be checked.</param> <returns>The line if it is valid.</returns> @@ -3226,106 +3722,88 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> - </member> - <member name="M:ConsoleAppVisuals.Window.Clear(System.Boolean)"> - <summary> - This method clears the window. - </summary> - <param name="continuous">If true, the window will be cleared continuously.</param> - <returns>True if the window is successfully cleared, false otherwise.</returns> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.StopExecution(System.ConsoleKey)"> + <member name="M:ConsoleAppVisuals.Window.Freeze(System.ConsoleKey)"> <summary> This method stops the execution of the program until a key is pressed. </summary> + <param name="key">The key to be pressed to continue the execution.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.RenderOneElement(System.Int32)"> + <member name="M:ConsoleAppVisuals.Window.Render"> <summary> - This method draws the element with the given id on the console. + This method draws all visible elements of the window on the console. </summary> - <param name="id">The id of the element.</param> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the id is out of range.</exception> - <returns>True if the element is successfully drawn, false otherwise.</returns> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.RenderOneElement(ConsoleAppVisuals.Element)"> + <member name="M:ConsoleAppVisuals.Window.Render(ConsoleAppVisuals.Models.Element[])"> <summary> - This method draws the given element on the console. + This method draws all given visible elements of the window on the console. </summary> - <param name="element">The element to be drawn.</param> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> - <returns>True if the element is successfully drawn, false otherwise.</returns> + <param name="elements">The elements to be drawn.</param> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is not found in the window.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.Render"> + <member name="M:ConsoleAppVisuals.Window.RenderElementsSpace"> <summary> - This method draws all the non interactive elements of the window on the console. + This method draws all the space of the visible elements of the window on the console. </summary> + <returns>True if the space of the elements is successfully drawn, false otherwise.</returns> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.OnResize"> - <summary> - This method is called to refresh the window when the size of the console is changed. - </summary> - <returns>True if the window is refreshed, false otherwise.</returns> - </member> - <member name="M:ConsoleAppVisuals.Window.RenderAllElementsSpace"> + <member name="M:ConsoleAppVisuals.Window.Clear(System.Boolean,System.Nullable{System.Int32},System.Nullable{System.Int32},System.Int32)"> <summary> - This method draws all the space of the elements of the window on the console. + This method clears the console. </summary> - <returns>True if the space of the elements is successfully drawn, false otherwise.</returns> + <param name="continuous">If true, the window will be cleared continuously.</param> + <param name="startLine">The start line of the window to be cleared.</param> + <param name="length">The number of lines to be cleared.</param> + <param name="step">The step of the window to be cleared.</param> + <returns>True if the window is successfully cleared, false otherwise.</returns> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> <member name="M:ConsoleAppVisuals.Window.Close"> <summary> - This method closes the window and exit the program. + This method clears the window and exit the program. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> diff --git a/example/bin/Release/net8.0/YamlDotNet.dll b/example/bin/Release/net8.0/YamlDotNet.dll index aad2fdba..06944207 100755 Binary files a/example/bin/Release/net8.0/YamlDotNet.dll and b/example/bin/Release/net8.0/YamlDotNet.dll differ diff --git a/example/bin/Release/net8.0/example.deps.json b/example/bin/Release/net8.0/example.deps.json index d655d18e..2b800081 100644 --- a/example/bin/Release/net8.0/example.deps.json +++ b/example/bin/Release/net8.0/example.deps.json @@ -8,7 +8,7 @@ ".NETCoreApp,Version=v8.0": { "example/1.0.0": { "dependencies": { - "ConsoleAppVisuals": "0.0.0" + "ConsoleAppVisuals": "1.0.0" }, "runtime": { "example.dll": {} @@ -58,18 +58,18 @@ } } }, - "YamlDotNet/15.1.1": { + "YamlDotNet/15.1.2": { "runtime": { "lib/net8.0/YamlDotNet.dll": { "assemblyVersion": "15.0.0.0", - "fileVersion": "15.1.1.0" + "fileVersion": "15.1.2.0" } } }, - "ConsoleAppVisuals/0.0.0": { + "ConsoleAppVisuals/1.0.0": { "dependencies": { "Moq": "4.20.70", - "YamlDotNet": "15.1.1" + "YamlDotNet": "15.1.2" }, "runtime": { "ConsoleAppVisuals.dll": {} @@ -104,14 +104,14 @@ "path": "system.diagnostics.eventlog/6.0.0", "hashPath": "system.diagnostics.eventlog.6.0.0.nupkg.sha512" }, - "YamlDotNet/15.1.1": { + "YamlDotNet/15.1.2": { "type": "package", "serviceable": true, - "sha512": "sha512-GjK+j6XmaFoLhdGpv5jVkt1wbUwVvZaWsUEPzr6gfA/VaEgYMlwZXeVyWJOqFK9U41mSocZvSuLkEFFhVEj0HA==", - "path": "yamldotnet/15.1.1", - "hashPath": "yamldotnet.15.1.1.nupkg.sha512" + "sha512": "sha512-qeX0XhzOIcQEvnI5JxnPaIwcINwyY4Qy/LXhSfsdHkFrl9F41AT52UFfy2nIE7kgrhMg+cP7xuS+GtPJhmHmTA==", + "path": "yamldotnet/15.1.2", + "hashPath": "yamldotnet.15.1.2.nupkg.sha512" }, - "ConsoleAppVisuals/0.0.0": { + "ConsoleAppVisuals/1.0.0": { "type": "project", "serviceable": false, "sha512": "" diff --git a/example/bin/Release/net8.0/example.dll b/example/bin/Release/net8.0/example.dll index a166661f..6313ab39 100644 Binary files a/example/bin/Release/net8.0/example.dll and b/example/bin/Release/net8.0/example.dll differ diff --git a/example/bin/Release/net8.0/example.pdb b/example/bin/Release/net8.0/example.pdb index 90157a89..c54cc488 100644 Binary files a/example/bin/Release/net8.0/example.pdb and b/example/bin/Release/net8.0/example.pdb differ diff --git a/src/ConsoleAppVisuals/ConsoleAppVisuals.csproj b/src/ConsoleAppVisuals/ConsoleAppVisuals.csproj index c70e12c1..0461ad8a 100644 --- a/src/ConsoleAppVisuals/ConsoleAppVisuals.csproj +++ b/src/ConsoleAppVisuals/ConsoleAppVisuals.csproj @@ -1,16 +1,18 @@ <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> + <!-- Project Info--> <TargetFrameworks>net6.0;net7.0;net8.0</TargetFrameworks> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> + <GenerateDocumentationFile>true</GenerateDocumentationFile> </PropertyGroup> <PropertyGroup> + <!-- Package Info--> <Title>ConsoleAppVisuals ConsoleAppVisuals MorganK - 0.0.0 User-friendly .NET visuals library designed for console apps ConsoleAppVisuals is a library mainly made to get fast results in the console using menus, displays, animations. Highly customizable, feel free to make it yours! @@ -23,18 +25,24 @@ README.md LICENSE icon.png - - true - true + + + + true + true + true + + + @@ -42,11 +50,12 @@ + runtime; build; native; contentfiles; analyzers; buildtransitive all - + \ No newline at end of file diff --git a/src/ConsoleAppVisuals/Core.cs b/src/ConsoleAppVisuals/Core.cs index a73ecea6..a628047d 100644 --- a/src/ConsoleAppVisuals/Core.cs +++ b/src/ConsoleAppVisuals/Core.cs @@ -5,7 +5,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) namespace ConsoleAppVisuals; /// -/// The class contains visual elements for a console app. +/// The class contains all the interactions between the application and the console. /// public static class Core { @@ -53,28 +53,40 @@ private static (ConsoleColor, ConsoleColor) s_terminalColorPanel = ( /// /// This property is used to get the colors of the console. /// - /// A tuple containing the font color and the background color. public static (ConsoleColor, ConsoleColor) GetColorPanel => s_colorPanel; /// /// This property is used to get the initial colors of the console. /// - /// A tuple containing the initial font color and the initial background color. public static (ConsoleColor, ConsoleColor) GetInitialColorPanel => s_initialColorPanel; + #endregion + #region Low abstraction level methods /// - /// This property is used to check if the screen has been updated. + /// This method is used to check if the screen has been updated. /// /// True if the screen has been updated, false otherwise. - /// The screen is updated if the window size has changed or if the color panel has changed. + /// + /// For more information, refer to the following resources: + /// + /// Documentation + /// Example Project + /// + /// [Visual] - public static bool IsScreenUpdated => - Console.WindowWidth != s_previousWindowWidth - || Console.WindowHeight != s_previousWindowHeight - || s_colorPanel != s_initialColorPanel; - #endregion + public static bool IsScreenUpdated() + { + var isUpdated = + Console.WindowWidth != s_previousWindowWidth + || Console.WindowHeight != s_previousWindowHeight + || s_colorPanel != s_initialColorPanel; + if (isUpdated) + { + SetConsoleDimensions(); + } + return isUpdated; + } - #region Low abstraction level methods /// /// This method is used to set the selector of the console menus. /// @@ -84,7 +96,7 @@ private static (ConsoleColor, ConsoleColor) s_terminalColorPanel = ( /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static void SetSelector(char onward, char backward) @@ -100,7 +112,7 @@ public static void SetSelector(char onward, char backward) /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static void SetForegroundColor(ConsoleColor color) @@ -117,7 +129,7 @@ public static void SetForegroundColor(ConsoleColor color) /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static void SetBackgroundColor(ConsoleColor color) @@ -133,7 +145,7 @@ public static void SetBackgroundColor(ConsoleColor color) /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static void SaveColorPanel() => s_savedColorPanel = s_colorPanel; @@ -145,7 +157,7 @@ public static void SetBackgroundColor(ConsoleColor color) /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static void LoadSavedColorPanel() => s_colorPanel = s_savedColorPanel; @@ -157,7 +169,7 @@ public static void SetBackgroundColor(ConsoleColor color) /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static void LoadTerminalColorPanel() => s_colorPanel = s_terminalColorPanel; @@ -169,7 +181,7 @@ public static void SetBackgroundColor(ConsoleColor color) /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// [Visual] @@ -187,7 +199,7 @@ public static void SetConsoleDimensions() /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static void SetStyler(string path) @@ -204,7 +216,7 @@ public static void SetStyler(string path) /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static string[] StyleText(string str) => s_styler.StyleTextToStringArray(str); @@ -217,7 +229,7 @@ public static void SetStyler(string path) /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static ConsoleColor GetRandomColor() @@ -241,7 +253,7 @@ public static ConsoleColor GetRandomColor() /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static void RestoreColorPanel() @@ -260,7 +272,7 @@ public static void RestoreColorPanel() /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static void ApplyNegative(bool negative = false) @@ -284,7 +296,7 @@ public static void ApplyNegative(bool negative = false) /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// [Visual] @@ -366,7 +378,7 @@ public static void WritePositionedString( /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// [Visual] @@ -425,7 +437,7 @@ public static void WriteContinuousString( /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// [Visual] @@ -486,7 +498,7 @@ public static void WritePositionedStyledText( /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// [Visual] @@ -535,7 +547,7 @@ params string[] text /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static string ResizeString( @@ -581,7 +593,7 @@ public static string ResizeString( /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static string InsertString( @@ -624,7 +636,7 @@ public static string InsertString( /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// [Visual] @@ -648,7 +660,7 @@ public static string BannerToString(this (string, string, string) banner) => /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static (string, (int, int)?) GetRangeAndRemoveNegativeAnchors(this string str) @@ -673,7 +685,7 @@ public static (string, (int, int)?) GetRangeAndRemoveNegativeAnchors(this string /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static TextAlignment ToTextAlignment(this Placement placement) @@ -699,7 +711,7 @@ public static TextAlignment ToTextAlignment(this Placement placement) /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static Placement ToPlacement(this TextAlignment align) diff --git a/src/ConsoleAppVisuals/Usings.cs b/src/ConsoleAppVisuals/Usings.cs index 317837b4..06c66883 100644 --- a/src/ConsoleAppVisuals/Usings.cs +++ b/src/ConsoleAppVisuals/Usings.cs @@ -5,3 +5,9 @@ global using System.Text; global using YamlDotNet.Serialization; global using YamlDotNet.Serialization.NamingConventions; + +global using ConsoleAppVisuals.Elements; +global using ConsoleAppVisuals.Enums; +global using ConsoleAppVisuals.Models; +global using ConsoleAppVisuals.Errors; +global using ConsoleAppVisuals.Attributes; diff --git a/src/ConsoleAppVisuals/Window.cs b/src/ConsoleAppVisuals/Window.cs index 0dd6382e..92f8749e 100644 --- a/src/ConsoleAppVisuals/Window.cs +++ b/src/ConsoleAppVisuals/Window.cs @@ -5,22 +5,22 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) namespace ConsoleAppVisuals; /// -/// The major class of the library. The window is used to collect the elements of the console and draw them. +/// The Window class manages the elements that are to be displayed on the console. /// /// /// For more information, refer to the following resources: /// /// Documentation -/// Example Project +/// Example Project /// /// public static class Window { #region Setup /// - /// This method sets up the window without the need to call it. + /// This method sets up the console as soon as the Program starts. /// - [ExcludeFromCodeCoverage] + [Visual] static Window() { Console.Clear(); @@ -36,10 +36,14 @@ static Window() /// /// The default visibility of the elements when they are added to the window. /// + /// + /// This value should not be changed. + /// Each time the user adds an element to the window, it will try to toggle the visibility of the element. + /// public const bool DEFAULT_VISIBILITY = false; #endregion - #region Properties: NextId, NumberOfElements + #region Properties: NextId, NumberOfElements, Elements /// /// Gives the next id number each time a new element is added to the window. /// @@ -53,10 +57,22 @@ static Window() /// /// Gives the list of elements in the window. /// - public static List GetElements => s_elements; + public static List Elements => s_elements; #endregion - #region Basic Methods: Get, Add, Insert, Remove, RemoveAll + #region Managing Methods: Get, Add, Insert, Remove, RemoveAll + + /// + /// This method returns a range of elements given a start and end ids. + /// + /// The start id of the range. + /// The end id of the range. + /// The range of elements from the start to the end id. + public static List GetRange(int start, int end) + { + return s_elements.GetRange(start, end); + } + /// /// This method returns the first element of the given type. /// @@ -66,7 +82,7 @@ static Window() /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static T? GetElement() @@ -76,7 +92,7 @@ static Window() } /// - /// This method returns the element with the given id. + /// This method returns the first element of the given type and id. /// /// The id of the element. /// The element with the given id if it exists, null otherwise. @@ -85,7 +101,7 @@ static Window() /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static T? GetElement(int id) @@ -107,7 +123,7 @@ static Window() /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static T? GetVisibleElement() @@ -125,13 +141,14 @@ static Window() /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static void AddElement(params Element[] elements) { foreach (var element in elements) { + element.Id = NextId; s_elements.Add(element); if (!element.IsInteractive && AllowVisibilityToggle(element.Id)) { @@ -150,7 +167,7 @@ public static void AddElement(params Element[] elements) /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static void InsertElement(Element element, int id) @@ -162,6 +179,30 @@ public static void InsertElement(Element element, int id) s_elements.Insert(id, element); } + /// + /// This method removes the first element with the given type. + /// + /// The type of the element. + /// Thrown when the element is invalid. + /// True if the element is successfully removed, false otherwise. + /// + /// For more information, refer to the following resources: + /// + /// Documentation + /// Example Project + /// + /// + public static bool RemoveElement() + where T : Element + { + var element = + GetElement() + ?? throw new ElementNotFoundException("Invalid element. Not found in the window."); + var state = s_elements.Remove(element); + UpdateIDs(); + return state; + } + /// /// This method removes the element with the given id. /// @@ -171,7 +212,7 @@ public static void InsertElement(Element element, int id) /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static void RemoveElement(int id) @@ -194,7 +235,7 @@ public static void RemoveElement(int id) /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static bool RemoveElement(params Element[] elements) @@ -214,30 +255,6 @@ public static bool RemoveElement(params Element[] elements) return state; } - /// - /// This method removes the first element with the given type. - /// - /// The type of the element. - /// Thrown when the element is invalid. - /// True if the element is successfully removed, false otherwise. - /// - /// For more information, refer to the following resources: - /// - /// Documentation - /// Example Project - /// - /// - public static bool RemoveElement() - where T : Element - { - var element = - GetElement() - ?? throw new ElementNotFoundException("Invalid element. Not found in the window."); - var state = s_elements.Remove(element); - UpdateIDs(); - return state; - } - /// /// This method removes all elements from the window. /// @@ -245,7 +262,7 @@ public static bool RemoveElement() /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static void RemoveAllElements() @@ -254,7 +271,7 @@ public static void RemoveAllElements() } #endregion - #region Manipulation Methods: ActivateElement, ActivateAllElements, DeactivateElement, DeactivateAllElements + #region Visibility Methods: ActivateElement, ActivateAllElements, DeactivateElement, DeactivateAllElements /// /// This method attempts to activate the visibility of the element with the given id. /// @@ -265,7 +282,7 @@ public static void RemoveAllElements() /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// [Visual] @@ -281,7 +298,7 @@ public static void ActivateElement(int id, bool render = true) } if (render) { - s_elements[id].RenderElement(); + Render(s_elements[id]); } } @@ -304,7 +321,7 @@ public static void ActivateElement(Element element, bool render = true) } if (render) { - element.RenderElement(); + Render(element); } } @@ -318,7 +335,7 @@ public static void ActivateElement(Element element, bool render = true) /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// [Visual] @@ -334,36 +351,10 @@ public static void ActivateElement(bool render = true) } if (render) { - element.RenderElement(); + Render(element); } } - /// - /// After activating the visibility of an interactive element, this method will return the response for the user. - /// - /// If true, the element will be cleared. - /// The type of interactive element. - /// The type of the response (int, string, float...). - /// The response of the user. - /// Thrown when the element is invalid. - /// - /// For more information, refer to the following resources: - /// - /// Documentation - /// Example Project - /// - /// - [Visual] - public static InteractionEventArgs? GetResponse(bool clear = true) - where T : InteractiveElement - { - var element = - GetVisibleElement() - ?? throw new ElementNotFoundException("Invalid element. Not found in the window."); - DeactivateElement(clear); - return element.GetInteractionResponse; - } - /// /// This method attempts to activate the visibility of all elements. /// @@ -371,7 +362,7 @@ public static void ActivateElement(bool render = true) /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static void ActivateAllElements() @@ -389,13 +380,13 @@ public static void ActivateAllElements() /// This method to deactivate the visibility of the element with the given id. /// /// The id of the element. - /// If true, the element will be cleared. + /// If true, the element will be cleared from the console. /// Thrown when the id is out of range. /// /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static void DeactivateElement(int id, bool clear = true) @@ -412,20 +403,19 @@ public static void DeactivateElement(int id, bool clear = true) s_elements[id].Clear(); } } - Render(); } /// /// This method deactivate the visibility of the element with the given type. /// /// The element to be deactivated. - /// If true, the element will be cleared. + /// If true, the element will be cleared from the console. /// Thrown when the element is invalid. /// /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static void DeactivateElement(Element element, bool clear = true) @@ -455,7 +445,7 @@ public static void DeactivateElement(Element element, bool clear = true) /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static void DeactivateElement(bool clear = true) @@ -481,7 +471,7 @@ public static void DeactivateElement(bool clear = true) /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static void DeactivateAllElements() @@ -493,11 +483,10 @@ public static void DeactivateAllElements() element.ToggleVisibility(); } } - Render(); } #endregion - #region Utility Methods: AllowVisibilityToggle, GetLineAvailable, Clear, StopExecution, RenderOne, Refresh + #region Utility Methods: AllowVisibilityToggle, GetLineAvailable, Clear, StopExecution, Refresh [ExcludeFromCodeCoverage] private static void UpdateIDs() { @@ -531,7 +520,7 @@ public static bool AllowVisibilityToggle(int id) } /// - /// Gives the last line available to draw an element on the console from a placement. + /// This method gets the last line available to draw an element on the console from a placement. /// /// The placement of the element. /// The last line available to draw an element on the console from a placement. @@ -540,7 +529,7 @@ public static bool AllowVisibilityToggle(int id) /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static int GetLineAvailable(Placement placement) @@ -592,7 +581,7 @@ public static int GetLineAvailable(Placement placement) } /// - /// This method checks if the line is valid. + /// This method checks if the line is valid under the console constraints. /// /// The line to be checked. /// The line if it is valid. @@ -601,7 +590,7 @@ public static int GetLineAvailable(Placement placement) /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// public static int? CheckLine(int? line) @@ -622,56 +611,20 @@ public static int GetLineAvailable(Placement placement) return line; } - /// - /// This method clears the window. - /// - /// If true, the window will be cleared continuously. - /// True if the window is successfully cleared, false otherwise. - /// - /// For more information, refer to the following resources: - /// - /// Documentation - /// Example Project - /// - /// - public static bool Clear(bool continuous = false) - { - if (continuous) - { - for (int i = 0; i < Console.WindowHeight; i++) - { - Core.WriteContinuousString("".PadRight(Console.WindowWidth), i, false, 100, 10); - } - } - else - { - for (int i = 0; i < Console.WindowHeight; i++) - { - Core.WritePositionedString( - "".PadRight(Console.WindowWidth), - TextAlignment.Center, - false, - i - ); - } - } - return true; - } - /// /// This method stops the execution of the program until a key is pressed. /// + /// The key to be pressed to continue the execution. /// /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// [Visual] - public static void StopExecution(ConsoleKey key = ConsoleKey.Enter) + public static void Freeze(ConsoleKey key = ConsoleKey.Enter) { - // wait until the user presses a key while (Console.ReadKey(intercept: true).Key != key) { Thread.Sleep(10); @@ -679,114 +632,135 @@ public static void StopExecution(ConsoleKey key = ConsoleKey.Enter) } /// - /// This method draws the element with the given id on the console. + /// This method draws all visible elements of the window on the console. /// - /// The id of the element. - /// Thrown when the id is out of range. - /// True if the element is successfully drawn, false otherwise. /// /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// - public static bool RenderOneElement(int id) + public static void Render() { - if (id < 0 || id >= s_elements.Count) + Clear(); + Core.IsScreenUpdated(); + foreach (var element in s_elements) { - throw new ElementNotFoundException("Invalid element ID."); + element.RenderElement(); } - s_elements[id].RenderElement(); - return true; } /// - /// This method draws the given element on the console. + /// This method draws all given visible elements of the window on the console. /// - /// The element to be drawn. - /// Thrown when the element is invalid. - /// True if the element is successfully drawn, false otherwise. + /// The elements to be drawn. + /// Thrown when the element is not found in the window. /// /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// - public static bool RenderOneElement(Element element) + public static void Render(params Element[] elements) { - if (element == null || !s_elements.Contains(element)) + if (Core.IsScreenUpdated()) { - throw new ElementNotFoundException("Invalid element. Not found in the window."); + Render(); + return; } - element.RenderElement(); - return true; + foreach (var element in elements) + { + if (!s_elements.Contains(element)) + { + throw new ElementNotFoundException($"Element {element} is not in the Window."); + } + element.RenderElement(); + } } /// - /// This method draws all the non interactive elements of the window on the console. + /// This method draws all the space of the visible elements of the window on the console. /// + /// True if the space of the elements is successfully drawn, false otherwise. /// /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// - public static void Render() + public static bool RenderElementsSpace() { - Clear(); foreach (var element in s_elements) { - element.RenderElement(); - } - } - - /// - /// This method is called to refresh the window when the size of the console is changed. - /// - /// True if the window is refreshed, false otherwise. - public static bool OnResize() - { - if (Core.IsScreenUpdated) - { - Core.SetConsoleDimensions(); - Render(); - return true; + element.RenderElementSpace(); } - return false; + return true; } /// - /// This method draws all the space of the elements of the window on the console. + /// This method clears the console. /// - /// True if the space of the elements is successfully drawn, false otherwise. + /// If true, the window will be cleared continuously. + /// The start line of the window to be cleared. + /// The number of lines to be cleared. + /// The step of the window to be cleared. + /// True if the window is successfully cleared, false otherwise. /// /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// - public static bool RenderAllElementsSpace() + public static bool Clear( + bool continuous = false, + int? startLine = null, + int? length = null, + int step = 1 + ) { - foreach (var element in s_elements) + int stepMax = Console.WindowHeight == 0 ? 1 : Console.WindowHeight; + startLine = CheckLine(startLine) ?? 0; + length = CheckLine(startLine + length) ?? Console.WindowHeight; + if (step < 1 || step > stepMax) { - element.RenderElementSpace(); + throw new ArgumentOutOfRangeException( + nameof(step), + "Invalid step, less than 0 or greater than the window height." + ); + } + + for (int i = (int)startLine; i < (int)length; i += step) + { + if (continuous) + { + Core.WriteContinuousString("".PadRight(Console.WindowWidth), i, false, 100, 10); + } + else + { + Core.WritePositionedString( + "".PadRight(Console.WindowWidth), + TextAlignment.Center, + false, + i + ); + } } return true; } /// - /// This method closes the window and exit the program. + /// This method clears the window and exit the program. /// /// /// For more information, refer to the following resources: /// /// Documentation - /// Example Project + /// Example Project /// /// [ExcludeFromCodeCoverage] diff --git a/src/ConsoleAppVisuals/assets/README.md b/src/ConsoleAppVisuals/assets/README.md index 5d07c17b..a48065fb 100644 --- a/src/ConsoleAppVisuals/assets/README.md +++ b/src/ConsoleAppVisuals/assets/README.md @@ -2,7 +2,7 @@ > User-friendly .NET visuals library designed for console apps -[![version](https://img.shields.io/nuget/v/ConsoleAppVisuals.svg?label=version)](https://www.nuget.org/packages/ConsoleAppVisuals/) [![NuGet](https://img.shields.io/nuget/dt/ConsoleAppVisuals.svg)](https://www.nuget.org/packages/ConsoleAppVisuals/) [![GitHub](https://img.shields.io/github/stars/MorganKryze/consoleappvisuals.svg?style=flat&logo=github&colorB=yellow&label=stars)](https://github.com/MorganKryze/ConsoleAppVisuals) [![Coverage Status](https://coveralls.io/repos/github/MorganKryze/ConsoleAppVisuals/badge.svg?branch=main)](https://coveralls.io/github/MorganKryze/ConsoleAppVisuals?branch=main)[![License: GNU GPL](https://img.shields.io/badge/License-GNU_GPL-orange.svg)](https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE) +[![version](https://img.shields.io/nuget/v/ConsoleAppVisuals.svg?label=version)](https://www.nuget.org/packages/ConsoleAppVisuals/) [![NuGet](https://img.shields.io/nuget/dt/ConsoleAppVisuals.svg)](https://www.nuget.org/packages/ConsoleAppVisuals/) [![GitHub](https://img.shields.io/github/stars/MorganKryze/consoleappvisuals.svg?style=flat&logo=github&colorB=yellow&label=stars)](https://github.com/MorganKryze/ConsoleAppVisuals) [![Coverage Status](https://coveralls.io/repos/github/MorganKryze/ConsoleAppVisuals/badge.svg?branch=main)](https://coveralls.io/github/MorganKryze/ConsoleAppVisuals?branch=main)[![License: GNU GPL](https://img.shields.io/badge/License-GNU_GPL-orange.svg)](https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE) [![Lines Of Code](https://tokei.rs/b1/github/MorganKryze/ConsoleAppVisuals)](https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/src/ConsoleAppVisuals) ![title](https://gitlab.com/MorganKryze/consoleappvisuals/-/raw/main/presentation.gif) @@ -10,7 +10,7 @@ Feel free to check out the following resources to help you get started: -- Take a quick look at our [example project](https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs) to understand how to implement the library in your own project +- Take a quick look at our [example project](https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/) to understand how to implement the library in your own project - A [complete documentation](https://morgankryze.github.io/ConsoleAppVisuals/) is also available. ## Install @@ -31,7 +31,8 @@ Install-Package ConsoleAppVisuals ## First steps into the library -> WARNING: If you have been using the library before v3, please note that the library has been completely rewritten. The old version is not compatible with the new one. Please take the time to explore our documentation to update your code. +> [!WARNING] +> If you have been using the library before v3, please note that the library has been completely rewritten. The old version is not compatible with the new one. Please take the time to explore our documentation to update your code. ### Principle @@ -50,6 +51,7 @@ After installing the library, do not forget to add the following statement at th ```csharp using ConsoleAppVisuals; +using ConsoleAppVisuals.Elements; ``` #### Work with static elements @@ -57,7 +59,7 @@ using ConsoleAppVisuals; The first step is to create an element to display. For example, let's create a `Title` element: ```csharp -Title exampleTitle = new Title("Hello, world!"); +Title exampleTitle = new Title("Hello world!"); ``` Then, you can add it to `Window`: @@ -72,20 +74,15 @@ Finally, you can display the `Window`: Window.Render(); ``` -Now at each refresh, the `Title` element will appear on screen. To disable it, you may choose one of these options: +Now at each refresh, the `Title` element will appear on screen. To disable it, you can use: ```csharp -// Will look for a Title element and deactivate it, the first on the list -Window.DeactivateElement(); - -// Will deactivate the exampleTitle element Window.DeactivateElement(exampleTitle); ``` Or simply remove it from the list: ```csharp -Window.RemoveElement<Title>(); Window.RemoveElement(exampleTitle); ``` @@ -94,7 +91,7 @@ Window.RemoveElement(exampleTitle); The process is similar to the static elements. The difference is that you can get a response from your interaction with these elements. Let's create a `Prompt` element: ```csharp -Prompt examplePrompt = new Prompt("What is your name?", "Theo"); +Prompt examplePrompt = new Prompt("What is your name?"); ``` Then, you can add it to `Window`: @@ -109,13 +106,13 @@ Finally, you can display the `Window`, remember that interactive element are dis // Add this line if you have static elements to display Window.Render(); -Window.ActivateElement<Prompt>(); +Window.ActivateElement(examplePrompt); ``` To get the response simply add: ```csharp -var responsePrompt = Window.GetResponse<Prompt, string>(); +var responsePrompt = examplePrompt.GetResponse(); ``` Access to the response data using: @@ -129,12 +126,12 @@ Console.WriteLine(responsePrompt?.Info); ``` > [!NOTE] -> Getting the response from an interactive element will automatically deactivate it. +> The `InteractiveElement` object deactivate themselves after their execution. You may now remove the element from the list if you want to: ```csharp -Window.RemoveElement<Prompt>(); +Window.RemoveElement(examplePrompt); ``` ## Roadmap diff --git a/src/ConsoleAppVisuals/attributes/VisualAttribute.cs b/src/ConsoleAppVisuals/attributes/VisualAttribute.cs index 2b20a152..10f2eb36 100644 --- a/src/ConsoleAppVisuals/attributes/VisualAttribute.cs +++ b/src/ConsoleAppVisuals/attributes/VisualAttribute.cs @@ -2,7 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Attributes; /// <summary> /// The <see cref="VisualAttribute"/> class is used to mark a class, struct, enum, constructor, method, property, field, event, interface, or delegate as a visual and so interact with the console. diff --git a/src/ConsoleAppVisuals/bin/Release/net6.0/ConsoleAppVisuals.deps.json b/src/ConsoleAppVisuals/bin/Release/net6.0/ConsoleAppVisuals.deps.json index 55dbb0b7..4f6f4604 100644 --- a/src/ConsoleAppVisuals/bin/Release/net6.0/ConsoleAppVisuals.deps.json +++ b/src/ConsoleAppVisuals/bin/Release/net6.0/ConsoleAppVisuals.deps.json @@ -6,11 +6,11 @@ "compilationOptions": {}, "targets": { ".NETCoreApp,Version=v6.0": { - "ConsoleAppVisuals/0.0.0": { + "ConsoleAppVisuals/1.0.0": { "dependencies": { "Moq": "4.20.70", "coverlet.collector": "6.0.0", - "YamlDotNet": "15.1.1" + "YamlDotNet": "15.1.2" }, "runtime": { "ConsoleAppVisuals.dll": {} @@ -61,18 +61,18 @@ } } }, - "YamlDotNet/15.1.1": { + "YamlDotNet/15.1.2": { "runtime": { "lib/net6.0/YamlDotNet.dll": { "assemblyVersion": "15.0.0.0", - "fileVersion": "15.1.1.0" + "fileVersion": "15.1.2.0" } } } } }, "libraries": { - "ConsoleAppVisuals/0.0.0": { + "ConsoleAppVisuals/1.0.0": { "type": "project", "serviceable": false, "sha512": "" @@ -105,12 +105,12 @@ "path": "system.diagnostics.eventlog/6.0.0", "hashPath": "system.diagnostics.eventlog.6.0.0.nupkg.sha512" }, - "YamlDotNet/15.1.1": { + "YamlDotNet/15.1.2": { "type": "package", "serviceable": true, - "sha512": "sha512-GjK+j6XmaFoLhdGpv5jVkt1wbUwVvZaWsUEPzr6gfA/VaEgYMlwZXeVyWJOqFK9U41mSocZvSuLkEFFhVEj0HA==", - "path": "yamldotnet/15.1.1", - "hashPath": "yamldotnet.15.1.1.nupkg.sha512" + "sha512": "sha512-qeX0XhzOIcQEvnI5JxnPaIwcINwyY4Qy/LXhSfsdHkFrl9F41AT52UFfy2nIE7kgrhMg+cP7xuS+GtPJhmHmTA==", + "path": "yamldotnet/15.1.2", + "hashPath": "yamldotnet.15.1.2.nupkg.sha512" } } } \ No newline at end of file diff --git a/src/ConsoleAppVisuals/bin/Release/net6.0/ConsoleAppVisuals.dll b/src/ConsoleAppVisuals/bin/Release/net6.0/ConsoleAppVisuals.dll index 2e698234..24282f2c 100644 Binary files a/src/ConsoleAppVisuals/bin/Release/net6.0/ConsoleAppVisuals.dll and b/src/ConsoleAppVisuals/bin/Release/net6.0/ConsoleAppVisuals.dll differ diff --git a/src/ConsoleAppVisuals/bin/Release/net6.0/ConsoleAppVisuals.pdb b/src/ConsoleAppVisuals/bin/Release/net6.0/ConsoleAppVisuals.pdb index 347a99ce..c1a0e3e7 100644 Binary files a/src/ConsoleAppVisuals/bin/Release/net6.0/ConsoleAppVisuals.pdb and b/src/ConsoleAppVisuals/bin/Release/net6.0/ConsoleAppVisuals.pdb differ diff --git a/src/ConsoleAppVisuals/bin/Release/net6.0/ConsoleAppVisuals.xml b/src/ConsoleAppVisuals/bin/Release/net6.0/ConsoleAppVisuals.xml index 54a26243..27be0cf4 100644 --- a/src/ConsoleAppVisuals/bin/Release/net6.0/ConsoleAppVisuals.xml +++ b/src/ConsoleAppVisuals/bin/Release/net6.0/ConsoleAppVisuals.xml @@ -4,48 +4,48 @@ <name>ConsoleAppVisuals</name> </assembly> <members> - <member name="T:ConsoleAppVisuals.VisualAttribute"> + <member name="T:ConsoleAppVisuals.Attributes.VisualAttribute"> <summary> - The <see cref="T:ConsoleAppVisuals.VisualAttribute"/> class is used to mark a class, struct, enum, constructor, method, property, field, event, interface, or delegate as a visual and so interact with the console. + The <see cref="T:ConsoleAppVisuals.Attributes.VisualAttribute"/> class is used to mark a class, struct, enum, constructor, method, property, field, event, interface, or delegate as a visual and so interact with the console. </summary> <remarks> [ WARNING ] This element cannot be tested. </remarks> </member> - <member name="M:ConsoleAppVisuals.VisualAttribute.#ctor"> + <member name="M:ConsoleAppVisuals.Attributes.VisualAttribute.#ctor"> <summary> - Initializes a new instance of the <see cref="T:ConsoleAppVisuals.VisualAttribute"/> class. + Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Attributes.VisualAttribute"/> class. </summary> </member> - <member name="M:ConsoleAppVisuals.VisualAttribute.#ctor(System.String)"> + <member name="M:ConsoleAppVisuals.Attributes.VisualAttribute.#ctor(System.String)"> <summary> - Initializes a new instance of the <see cref="T:ConsoleAppVisuals.VisualAttribute"/> class with a specified workaround message. + Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Attributes.VisualAttribute"/> class with a specified workaround message. </summary> <param name="message">The text string that describes alternative workarounds.</param> </member> - <member name="M:ConsoleAppVisuals.VisualAttribute.#ctor(System.String,System.Boolean)"> + <member name="M:ConsoleAppVisuals.Attributes.VisualAttribute.#ctor(System.String,System.Boolean)"> <summary> - Initializes a new instance of the <see cref="T:ConsoleAppVisuals.VisualAttribute"/> class with a workaround message and a Boolean value indicating whether the obsolete element usage is considered an error. + Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Attributes.VisualAttribute"/> class with a workaround message and a Boolean value indicating whether the obsolete element usage is considered an error. </summary> <param name="message">The text string that describes alternative workarounds.</param> <param name="error">True if the obsolete element usage generates a compiler error; false if it generates a compiler warning.</param> </member> - <member name="P:ConsoleAppVisuals.VisualAttribute.DiagnosticId"> + <member name="P:ConsoleAppVisuals.Attributes.VisualAttribute.DiagnosticId"> <summary> Gets or sets the ID that the compiler will use when reporting a use of the API. </summary> </member> - <member name="P:ConsoleAppVisuals.VisualAttribute.IsError"> + <member name="P:ConsoleAppVisuals.Attributes.VisualAttribute.IsError"> <summary> Gets a value that indicates whether the compiler will treat usage of the obsolete program element as an error. </summary> <returns>True if the obsolete element usage is considered an error; otherwise, false. The default is false.</returns> </member> - <member name="P:ConsoleAppVisuals.VisualAttribute.Message"> + <member name="P:ConsoleAppVisuals.Attributes.VisualAttribute.Message"> <summary> Gets the workaround message. </summary> <returns>The workaround text string.</returns> </member> - <member name="P:ConsoleAppVisuals.VisualAttribute.UrlFormat"> + <member name="P:ConsoleAppVisuals.Attributes.VisualAttribute.UrlFormat"> <summary> Gets or sets the URL for corresponding documentation. The API accepts a format string instead of an actual URL, creating a generic URL that includes the diagnostic ID. </summary> @@ -53,7 +53,7 @@ </member> <member name="T:ConsoleAppVisuals.Core"> <summary> - The <see cref="T:ConsoleAppVisuals.Core"/> class contains visual elements for a console app. + The <see cref="T:ConsoleAppVisuals.Core"/> class contains all the interactions between the application and the console. </summary> </member> <member name="F:ConsoleAppVisuals.Core.NEGATIVE_ANCHOR"> @@ -70,20 +70,24 @@ <summary> This property is used to get the colors of the console. </summary> - <returns>A tuple containing the font color and the background color.</returns> </member> <member name="P:ConsoleAppVisuals.Core.GetInitialColorPanel"> <summary> This property is used to get the initial colors of the console. </summary> - <returns>A tuple containing the initial font color and the initial background color.</returns> </member> - <member name="P:ConsoleAppVisuals.Core.IsScreenUpdated"> + <member name="M:ConsoleAppVisuals.Core.IsScreenUpdated"> <summary> - This property is used to check if the screen has been updated. + This method is used to check if the screen has been updated. </summary> <returns>True if the screen has been updated, false otherwise.</returns> - <remarks>The screen is updated if the window size has changed or if the color panel has changed.</remarks> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> <member name="M:ConsoleAppVisuals.Core.SetSelector(System.Char,System.Char)"> <summary> @@ -95,7 +99,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -108,7 +112,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -121,7 +125,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -133,7 +137,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -145,7 +149,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -157,7 +161,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -169,7 +173,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -182,7 +186,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -196,7 +200,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -209,7 +213,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -221,7 +225,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -235,11 +239,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.WritePositionedString(System.String,ConsoleAppVisuals.TextAlignment,System.Boolean,System.Nullable{System.Int32},System.Boolean)"> + <member name="M:ConsoleAppVisuals.Core.WritePositionedString(System.String,ConsoleAppVisuals.Enums.TextAlignment,System.Boolean,System.Nullable{System.Int32},System.Boolean)"> <summary> This method is used to write a string positioned in the console. </summary> @@ -252,11 +256,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.WriteContinuousString(System.String,System.Nullable{System.Int32},System.Boolean,System.Int32,System.Int32,System.Int32,ConsoleAppVisuals.TextAlignment,System.Boolean)"> + <member name="M:ConsoleAppVisuals.Core.WriteContinuousString(System.String,System.Nullable{System.Int32},System.Boolean,System.Int32,System.Int32,System.Int32,ConsoleAppVisuals.Enums.TextAlignment,System.Boolean)"> <summary> This method is used to write a string continuously in the console. The string is written letter by letter on the console. @@ -273,11 +277,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.WritePositionedStyledText(System.String[],System.Nullable{System.Int32},System.Nullable{System.Int32},System.Nullable{System.Int32},ConsoleAppVisuals.TextAlignment,System.Boolean)"> + <member name="M:ConsoleAppVisuals.Core.WritePositionedStyledText(System.String[],System.Nullable{System.Int32},System.Nullable{System.Int32},System.Nullable{System.Int32},ConsoleAppVisuals.Enums.TextAlignment,System.Boolean)"> <summary> This method is used to write a styled string in the console. </summary> @@ -291,11 +295,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.WriteMultiplePositionedLines(System.Boolean,ConsoleAppVisuals.TextAlignment,System.Boolean,System.Nullable{System.Int32},System.String[])"> + <member name="M:ConsoleAppVisuals.Core.WriteMultiplePositionedLines(System.Boolean,ConsoleAppVisuals.Enums.TextAlignment,System.Boolean,System.Nullable{System.Int32},System.String[])"> <summary> This method prints a paragraph in the console. </summary> @@ -308,11 +312,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.ResizeString(System.String,System.Int32,ConsoleAppVisuals.TextAlignment,System.Boolean)"> + <member name="M:ConsoleAppVisuals.Core.ResizeString(System.String,System.Int32,ConsoleAppVisuals.Enums.TextAlignment,System.Boolean)"> <summary> This method builds a string with a specific size and a specific placement. </summary> @@ -325,11 +329,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.InsertString(System.String,System.String,ConsoleAppVisuals.Placement)"> + <member name="M:ConsoleAppVisuals.Core.InsertString(System.String,System.String,ConsoleAppVisuals.Enums.Placement)"> <summary> Insert a specified string into another string, at a specified position. </summary> @@ -341,7 +345,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -355,7 +359,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -369,11 +373,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.ToTextAlignment(ConsoleAppVisuals.Placement)"> + <member name="M:ConsoleAppVisuals.Core.ToTextAlignment(ConsoleAppVisuals.Enums.Placement)"> <summary> This method is used to convert a Placement into a TextAlignment. </summary> @@ -384,11 +388,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.ToPlacement(ConsoleAppVisuals.TextAlignment)"> + <member name="M:ConsoleAppVisuals.Core.ToPlacement(ConsoleAppVisuals.Enums.TextAlignment)"> <summary> This method is used to convert a TextAlignment into a Placement. </summary> @@ -399,1322 +403,1799 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="T:ConsoleAppVisuals.Banner"> + <member name="T:ConsoleAppVisuals.Elements.EmbedText"> <summary> - Defines the banner of the console window. + Defines the basic properties of an Embed text. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Banner.Placement"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.Placement"> <summary> - The placement of the banner. + The position of the Embed text. </summary> </member> - <member name="P:ConsoleAppVisuals.Banner.Line"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.Height"> <summary> - The line of the banner in the console. + The height of the Embed text. </summary> - <remarks>We add 2 because so the banner does not overlap with the title.</remarks> </member> - <member name="P:ConsoleAppVisuals.Banner.Height"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.Width"> <summary> - The height of the banner. + The width of the Embed text. </summary> </member> - <member name="P:ConsoleAppVisuals.Banner.Width"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.Text"> <summary> - The width of the banner. + The text of the Embed text. </summary> </member> - <member name="P:ConsoleAppVisuals.Banner.Text"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.ButtonText"> <summary> - Getter and setter of the text of the banner. + The text of the button. </summary> </member> - <member name="P:ConsoleAppVisuals.Banner.UpperMargin"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.TextToDisplay"> <summary> - Getter and setter of the upper margin of the banner. + The text to display. </summary> </member> - <member name="P:ConsoleAppVisuals.Banner.LowerMargin"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.RoundedCorners"> <summary> - Getter and setter of the lower margin of the banner. + Wether the corners are rounded or not. </summary> </member> - <member name="M:ConsoleAppVisuals.Banner.#ctor(System.String,System.String,System.String,System.Int32,System.Int32,ConsoleAppVisuals.Placement,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.#ctor(System.Collections.Generic.List{System.String},System.String,ConsoleAppVisuals.Enums.TextAlignment,ConsoleAppVisuals.Enums.Placement,System.Boolean)"> <summary> - The natural constructor of the banner. + The natural constructor of the Embed text. </summary> - <param name="leftText">The text on the left of the banner.</param> - <param name="centerText">The text in the center of the banner.</param> - <param name="rightText">The text on the right of the banner.</param> - <param name="upperMargin">The upper margin of the banner.</param> - <param name="lowerMargin">The lower margin of the banner.</param> - <param name="placement">The placement of the banner.</param> - <param name="line">The line of the banner in the console.</param> + <param name="text">The text to display.</param> + <param name="button">The text of the button.</param> + <param name="align">The alignment of the Embed text.</param> + <param name="placement">The placement of the Embed text element.</param> + <param name="roundedCorners">Wether the corners are rounded or not.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Banner.UpdateLeftText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.UpdateButtonText(System.String)"> <summary> - This method is used to update the text on the left of the banner. + This method updates the text of the button. </summary> - <param name="leftText">The new text on the left of the banner.</param> + <param name="newButton">The new text of the button.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Banner.UpdateCenterText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.UpdateText(System.Collections.Generic.List{System.String})"> <summary> - This method is used to update the text in the center of the banner. + This method updates the text of the Embed text. </summary> - <param name="centerText">The new text in the center of the banner.</param> + <param name="newText">The new text of the Embed text.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Banner.UpdateRightText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - This method is used to update the text on the right of the banner. + This method updates the placement of the Embed text. </summary> - <param name="rightText">The new text on the right of the banner.</param> + <param name="newPlacement">The new placement of the Embed text.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Banner.RenderElementActions"> - <summary> - This method is used to render the banner on the console. - </summary> - </member> - <member name="T:ConsoleAppVisuals.FakeLoadingBar"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.UpdateAlignment(ConsoleAppVisuals.Enums.TextAlignment)"> <summary> - Defines the loading bar of the console window. + This method updates the alignment of the Embed text. </summary> + <param name="newAlignment">The new alignment of the Embed text.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.Line"> - <summary> - The line of the loading bar in the console. - </summary> - <remarks>We add 2 because so the loading bar does not overlap with the title.</remarks> - </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.Height"> - <summary> - The height of the loading bar. - </summary> - <remarks>One line for the text,one line for the space between and one line for the progress.</remarks> - </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.Width"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.SetRoundedCorners(System.Boolean)"> <summary> - The width of the loading bar. - </summary> - </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.Text"> - <summary> - Getter and setter of the text of the loading bar. - </summary> - </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.Placement"> - <summary> - Getter of the placement of the loading bar. + This method updates the rounded corners of the Embed text. </summary> + <param name="roundedCorners">Wether the corners are rounded or not.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.ProcessDuration"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.AddLine(System.String)"> <summary> - Getter of the duration of the loading bar. + Adds a line to the Embed text. </summary> + <param name="line">The line to add.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.AdditionalDuration"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.InsertLine(System.String,System.Int32)"> <summary> - Getter of the additional duration of the loading bar at the end. + Inserts a line to the Embed text. </summary> + <param name="line">The line to insert.</param> + <param name="index">The index where to insert the line.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.FakeLoadingBar.#ctor(System.String,ConsoleAppVisuals.Placement,System.Nullable{System.Int32},System.Int32,System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.RemoveLine(System.String)"> <summary> - The natural constructor of the loading bar. + Removes a line from the Embed text. </summary> - <param name="text">The text of the loading bar.</param> - <param name="placement">The placement of the loading bar.</param> - <param name="line">The line of the loading bar.</param> - <param name="processDuration">The duration of the loading bar.</param> - <param name="additionalDuration">The additional duration of the loading bar at the end.</param> + <param name="line">The line to remove.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.FakeLoadingBar.UpdateText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.RemoveLine(System.Int32)"> <summary> - This method is used to update the text of the loading bar. + Removes a line from the Embed text. </summary> - <param name="text">The new text of the loading bar.</param> + <param name="index">The index of the line to remove.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.FakeLoadingBar.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.RenderElementActions"> <summary> - This method is used to draw the loading bar on the console. + Renders the Embed text. </summary> </member> - <member name="T:ConsoleAppVisuals.Footer"> + <member name="T:ConsoleAppVisuals.Elements.FloatSelector"> <summary> - Defines the footer of the console window. + Defines the number selector of the console window. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Footer.Placement"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Placement"> <summary> - The placement of the footer. + The placement of the selector on the console. </summary> </member> - <member name="P:ConsoleAppVisuals.Footer.Line"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Height"> <summary> - The line of the footer in the console. + The height of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.Footer.Height"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Width"> <summary> - The height of the footer. + The width of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.Footer.Width"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Question"> <summary> - The width of the footer. + The question to ask the user. </summary> </member> - <member name="P:ConsoleAppVisuals.Footer.Text"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Min"> <summary> - The text of the footer. + The minimum value of the selector. </summary> </member> - <member name="M:ConsoleAppVisuals.Footer.#ctor(System.String,System.String,System.String)"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Max"> <summary> - The natural constructor of the footer. + The maximum value of the selector. </summary> - <param name="leftText">The text on the left of the footer.</param> - <param name="centerText">The text in the center of the footer.</param> - <param name="rightText">The text on the right of the footer.</param> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.Footer.UpdateLeftText(System.String)"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Start"> <summary> - This method is used to update the text on the left of the footer. + The start value of the selector. </summary> - <param name="leftText">The new text on the left of the footer.</param> + </member> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Step"> + <summary> + The step of the selector. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.RoundedCorners"> + <summary> + Whether the corners of the selector are rounded. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.#ctor(System.String,System.Single,System.Single,System.Single,System.Single,ConsoleAppVisuals.Enums.Placement,System.Boolean)"> + <summary> + The constructor of the FloatSelector class. + </summary> + <param name="question">The question to ask the user.</param> + <param name="min">The minimum value of the selector.</param> + <param name="max">The maximum value of the selector.</param> + <param name="start">The start value of the selector.</param> + <param name="step">The step of the selector.</param> + <param name="placement">The placement of the selector on the console.</param> + <param name="roundedCorners">Whether the corners of the selector are rounded.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Footer.UpdateCenterText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.UpdateQuestion(System.String)"> <summary> - This method is used to update the text in the center of the footer. + This method is used to update the question of the selector. </summary> - <param name="centerText">The new text in the center of the footer.</param> + <param name="question">The question to ask the user.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Footer.UpdateRightText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.UpdateMin(System.Single)"> <summary> - This method is used to update the text on the right of the footer. + This method is used to update the minimum value of the selector. </summary> - <param name="rightText">The new text on the right of the footer.</param> + <param name="min">The minimum value of the selector.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Footer.RenderElementActions"> - <summary> - This method is used to render the footer on the console. - </summary> - </member> - <member name="T:ConsoleAppVisuals.Header"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.UpdateMax(System.Single)"> <summary> - Defines the header of the console window. + This method is used to update the maximum value of the selector. </summary> + <param name="max">The maximum value of the selector.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Header.Placement"> - <summary> - The placement of the header. - </summary> - </member> - <member name="P:ConsoleAppVisuals.Header.Line"> - <summary> - The line of the header in the console. - </summary> - </member> - <member name="P:ConsoleAppVisuals.Header.Height"> - <summary> - The height of the header. - </summary> - </member> - <member name="P:ConsoleAppVisuals.Header.Width"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.UpdateStart(System.Single)"> <summary> - The width of the header. - </summary> - </member> - <member name="P:ConsoleAppVisuals.Header.Text"> - <summary> - The getter of the text of the header. - </summary> - </member> - <member name="P:ConsoleAppVisuals.Header.Margin"> - <summary> - The getter and setter of the margin of the header. - </summary> - </member> - <member name="M:ConsoleAppVisuals.Header.#ctor(System.String,System.String,System.String,System.Int32)"> - <summary> - The natural constructor of the header. + This method is used to update the start value of the selector. </summary> - <param name="leftText">The text on the left of the header.</param> - <param name="centerText">The text in the center of the header.</param> - <param name="rightText">The text on the right of the header.</param> - <param name="margin">The margin of the header.</param> + <param name="start">The start value of the selector.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Header.UpdateLeftText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.UpdateStep(System.Single)"> <summary> - This method is used to update the text on the left of the header. + This method is used to update the step of the selector. </summary> - <param name="leftText">The new text on the left of the header.</param> + <param name="step">The step of the selector.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Header.UpdateCenterText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - This method is used to update the text in the center of the header. + This method is used to update the placement of the selector. </summary> - <param name="centerText">The new text in the center of the header.</param> + <param name="placement">The placement of the selector on the console.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Header.UpdateRightText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.SetRoundedCorners(System.Boolean)"> <summary> - This method is used to update the text on the right of the header. + This method is used to update the rounded corners of the selector. </summary> - <param name="rightText">The new text on the right of the header.</param> + <param name="roundedCorners">Whether the corners of the selector are rounded.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Header.UpdateMargin(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.RenderElementActions"> <summary> - This method is used to update the margin of the header. + This method is used to draw the selector on the console. + </summary> + </member> + <member name="T:ConsoleAppVisuals.Elements.IntSelector"> + <summary> + Defines the number selector of the console window. </summary> - <param name="margin">The new margin of the header.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Header.RenderElementActions"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Placement"> <summary> - This method is used to render the header on the console. - </summary> - </member> - <member name="T:ConsoleAppVisuals.ElementList"> - <summary> - This class is used to display a ElementList of all the elements in the window. + The placement of the selector on the console. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.RoundedCorners"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Height"> <summary> - This property wether the corners of the ElementList are rounded. + The height of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.GetHeaders"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Width"> <summary> - This property returns the headers of the ElementList. + The width of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.GetLines"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Question"> <summary> - This property returns the lines of the ElementList. + The question to ask the user. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.Placement"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Min"> <summary> - This property returns the title of the ElementList. + The minimum value of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.Line"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Max"> <summary> - This property returns the line to display the ElementList on. + The maximum value of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.Height"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Start"> <summary> - This property returns the height of the ElementList. + The start value of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.Width"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Step"> <summary> - This property returns the width of the ElementList. + The step of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.Count"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.RoundedCorners"> <summary> - This property returns the number of lines in the ElementList. + Whether the corners of the selector are rounded. </summary> </member> - <member name="M:ConsoleAppVisuals.ElementList.#ctor(ConsoleAppVisuals.Placement,System.Boolean,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.#ctor(System.String,System.Int32,System.Int32,System.Int32,System.Int32,ConsoleAppVisuals.Enums.Placement,System.Boolean)"> <summary> - This constructor creates a new instance of the WindowElementsElementList class. + The constructor of the intSelector class. </summary> - <param name="placement">The placement of the ElementList.</param> - <param name="roundedCorners">If true, the corners of the ElementList will be rounded.</param> - <param name="line">The line to display the ElementList on.</param> + <param name="question">The question to ask the user.</param> + <param name="min">The minimum value of the selector.</param> + <param name="max">The maximum value of the selector.</param> + <param name="start">The start value of the selector.</param> + <param name="step">The step of the selector.</param> + <param name="placement">The placement of the selector on the console.</param> + <param name="roundedCorners">Whether the corners of the selector are rounded.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.ElementList.SetRoundedCorners(System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.UpdateQuestion(System.String)"> <summary> - Toggles the rounded corners of the element. + This method is used to update the question of the selector. </summary> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <param name="question">The question to ask the user.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.ElementList.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.UpdateMin(System.Int32)"> <summary> - This method displays the ElementList. + This method is used to update the minimum value of the selector. </summary> + <param name="min">The minimum value of the selector.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="T:ConsoleAppVisuals.ElementsDashboard"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.UpdateMax(System.Int32)"> <summary> - This class is used to display a dashboard of all the elements in the window. + This method is used to update the maximum value of the selector. </summary> + <param name="max">The maximum value of the selector.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.RoundedCorners"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.UpdateStart(System.Int32)"> <summary> - This property wether the corners of the dashboard are rounded. - </summary> - </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.GetHeaders"> - <summary> - This property returns the headers of the dashboard. - </summary> - </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.GetLines"> - <summary> - This property returns the lines of the dashboard. - </summary> - </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.Placement"> - <summary> - This property returns the title of the dashboard. - </summary> - </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.Line"> - <summary> - This property returns the line to display the dashboard on. - </summary> - </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.Height"> - <summary> - This property returns the height of the dashboard. + This method is used to update the start value of the selector. </summary> + <param name="start">The start value of the selector.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.Width"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.UpdateStep(System.Int32)"> <summary> - This property returns the width of the dashboard. + This method is used to update the step of the selector. </summary> + <param name="step">The step of the selector.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.Count"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - This property returns the number of lines in the dashboard. + This method is used to update the placement of the selector. </summary> + <param name="placement">The placement of the selector on the console.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.ElementsDashboard.#ctor(ConsoleAppVisuals.Placement,System.Boolean,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.SetRoundedCorners(System.Boolean)"> <summary> - This constructor creates a new instance of the WindowElementsDashboard class. + This method is used to update the rounded corners of the selector. </summary> - <param name="placement">The placement of the dashboard.</param> - <param name="roundedCorners">If true, the corners of the dashboard will be rounded.</param> - <param name="line">The line to display the dashboard on.</param> + <param name="roundedCorners">Whether the corners of the selector are rounded.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.ElementsDashboard.SetRoundedCorners(System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.RenderElementActions"> <summary> - Toggles the rounded corners of the element. + This method is used to draw the selector on the console. </summary> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> </member> - <member name="M:ConsoleAppVisuals.ElementsDashboard.RenderElementActions"> + <member name="T:ConsoleAppVisuals.Elements.Prompt"> <summary> - This method displays the dashboard. + Defines the prompt element of the console window. </summary> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="T:ConsoleAppVisuals.InteractiveList"> + <member name="P:ConsoleAppVisuals.Elements.Prompt.Placement"> <summary> - This class is used to display a InteractiveList of all the elements in the window. + The placement of the prompt element. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.RoundedCorners"> + <member name="P:ConsoleAppVisuals.Elements.Prompt.Height"> <summary> - This property wether the corners of the InteractiveList are rounded. + The height of the prompt element. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.GetHeaders"> + <member name="P:ConsoleAppVisuals.Elements.Prompt.Width"> <summary> - This property returns the headers of the InteractiveList. + The width of the prompt element. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.GetLines"> + <member name="P:ConsoleAppVisuals.Elements.Prompt.Question"> <summary> - This property returns the lines of the InteractiveList. + The question of the prompt element. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.Placement"> + <member name="P:ConsoleAppVisuals.Elements.Prompt.DefaultValue"> <summary> - This property returns the title of the InteractiveList. + The default value of the response. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.Line"> + <member name="P:ConsoleAppVisuals.Elements.Prompt.MaxLength"> <summary> - This property returns the line to display the InteractiveList on. + The maximum length of the response. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.Height"> + <member name="M:ConsoleAppVisuals.Elements.Prompt.#ctor(System.String,System.String,ConsoleAppVisuals.Enums.Placement,System.Int32)"> <summary> - This property returns the height of the InteractiveList. + The natural constructor of the prompt element. </summary> + <param name="question">The text on the left of the prompt element.</param> + <param name="defaultValue">The text in the center of the prompt element.</param> + <param name="placement">The placement of the prompt element.</param> + <param name="maxLength">The maximum length of the response.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.Width"> + <member name="M:ConsoleAppVisuals.Elements.Prompt.UpdateQuestion(System.String)"> <summary> - This property returns the width of the InteractiveList. + This method is used to update the question of the prompt element. </summary> + <param name="question">The new question of the prompt element.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.Count"> + <member name="M:ConsoleAppVisuals.Elements.Prompt.UpdateDefaultValue(System.String)"> <summary> - This property returns the number of lines in the InteractiveList. + This method is used to update the default value of the prompt element. </summary> + <param name="defaultValue">The new default value of the prompt element.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.InteractiveList.#ctor(ConsoleAppVisuals.Placement,System.Boolean,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.Prompt.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - This constructor creates a new instance of the WindowElementsInteractiveList class. + This method is used to update the placement of the prompt element. </summary> - <param name="placement">The placement of the InteractiveList.</param> - <param name="roundedCorners">If true, the corners of the InteractiveList will be rounded.</param> - <param name="line">The line to display the InteractiveList on.</param> + <param name="placement">The new placement of the prompt element.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.InteractiveList.SetRoundedCorners(System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.Prompt.UpdateMaxLength(System.Int32)"> <summary> - Toggles the rounded corners of the element. + This method is used to update the maximum length of the response. </summary> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <param name="maxLength">The new maximum length of the response.</param> + <exception cref="T:System.ArgumentOutOfRangeException">The maximum length of the response must be greater than 0 and less than the width of the console window.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.InteractiveList.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.Prompt.RenderElementActions"> <summary> - This method displays the InteractiveList. + This method is used to render the prompt element on the console. </summary> </member> - <member name="T:ConsoleAppVisuals.EmbedText"> + <member name="T:ConsoleAppVisuals.Elements.ScrollingMenu"> <summary> - Defines the basic properties of an Embed text. + Defines the scrolling menu the console window. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.EmbedText.Placement"> - <summary> - The position of the Embed text. - </summary> - </member> - <member name="P:ConsoleAppVisuals.EmbedText.Line"> + <member name="P:ConsoleAppVisuals.Elements.ScrollingMenu.Placement"> <summary> - The Line of the Embed text. + The placement of the menu on the console. </summary> </member> - <member name="P:ConsoleAppVisuals.EmbedText.Height"> + <member name="P:ConsoleAppVisuals.Elements.ScrollingMenu.Height"> <summary> - The height of the Embed text. + The height of the menu. </summary> </member> - <member name="P:ConsoleAppVisuals.EmbedText.Width"> + <member name="P:ConsoleAppVisuals.Elements.ScrollingMenu.Width"> <summary> - The width of the Embed text. + The width of the menu. </summary> </member> - <member name="P:ConsoleAppVisuals.EmbedText.Text"> + <member name="P:ConsoleAppVisuals.Elements.ScrollingMenu.Question"> <summary> - The text of the Embed text. + The question to ask the user. </summary> </member> - <member name="P:ConsoleAppVisuals.EmbedText.ButtonText"> + <member name="P:ConsoleAppVisuals.Elements.ScrollingMenu.Choices"> <summary> - The text of the button. + The different choices of the menu. </summary> </member> - <member name="P:ConsoleAppVisuals.EmbedText.TextToDisplay"> + <member name="P:ConsoleAppVisuals.Elements.ScrollingMenu.DefaultIndex"> <summary> - The text to display. + The index of the default choice(initially 0). </summary> </member> - <member name="M:ConsoleAppVisuals.EmbedText.#ctor(System.Collections.Generic.List{System.String},System.String,ConsoleAppVisuals.TextAlignment,ConsoleAppVisuals.Placement,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.ScrollingMenu.#ctor(System.String,System.Int32,ConsoleAppVisuals.Enums.Placement,System.String[])"> <summary> - The natural constructor of the Embed text. + The constructor of the ScrollingMenu class. </summary> - <param name="text">The text to display.</param> - <param name="button">The text of the button.</param> - <param name="align">The alignment of the Embed text.</param> - <param name="placement">The placement of the Embed text element.</param> - <param name="line">The line of the Embed text.</param> + <param name="question">The question to ask the user.</param> + <param name="defaultIndex">The index of the default choice(initially 0).</param> + <param name="placement">The placement of the menu on the console.</param> + <param name="choices">The different choices of the menu.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.EmbedText.AddLine(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.ScrollingMenu.UpdateQuestion(System.String)"> <summary> - Adds a line to the Embed text. + This method is used to update the question of the menu. </summary> - <param name="line">The line to add.</param> + <param name="question">The new question of the menu.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.EmbedText.InsertLine(System.String,System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.ScrollingMenu.UpdateChoices(System.String[])"> <summary> - Inserts a line to the Embed text. + This method is used to update the choices of the menu. </summary> - <param name="line">The line to insert.</param> - <param name="index">The index where to insert the line.</param> + <param name="choices">The new choices of the menu.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.EmbedText.RemoveLine(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.ScrollingMenu.UpdateDefaultIndex(System.Int32)"> <summary> - Removes a line from the Embed text. + This method is used to update the default index of the menu. </summary> - <param name="line">The line to remove.</param> + <param name="defaultIndex">The new default index of the menu.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.EmbedText.RemoveLine(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.ScrollingMenu.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - Removes a line from the Embed text. + This method is used to update the placement of the menu. </summary> - <param name="index">The index of the line to remove.</param> + <param name="placement">The new placement of the menu.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.EmbedText.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.ScrollingMenu.RenderElementActions"> <summary> - Renders the Embed text. + This method is used to draw the menu on the console. </summary> </member> - <member name="T:ConsoleAppVisuals.FloatSelector"> + <member name="T:ConsoleAppVisuals.Elements.TableSelector`1"> <summary> - Defines the number selector of the console window. + The <see cref="T:ConsoleAppVisuals.Elements.TableSelector`1"/> class that contains the methods to create a table and display it. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Placement"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.Placement"> <summary> - The placement of the selector on the console. + This property returns the title of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Line"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.Height"> <summary> - The line where the selector will be displayed. + This property returns the height of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Height"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.Width"> <summary> - The height of the selector. + This property returns the width of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Width"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.Title"> <summary> - The width of the selector. + This property returns the title of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Question"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.ExcludeHeader"> <summary> - The question to ask the user. + This property returns if the header is excluded. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Min"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.ExcludeFooter"> <summary> - The minimum value of the selector. + This property returns if the footer is excluded. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Max"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.FooterText"> <summary> - The maximum value of the selector. + This property returns the text of the footer. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Start"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.RoundedCorners"> <summary> - The start value of the selector. + This property returns if the corners are rounded. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Step"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.GetCorners"> <summary> - The step of the selector. + This property returns the corners of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.RoundedCorners"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.GetRawHeaders"> <summary> - Whether the corners of the selector are rounded. + This property returns the headers of the table. </summary> </member> - <member name="M:ConsoleAppVisuals.FloatSelector.#ctor(System.String,System.Single,System.Single,System.Single,System.Single,ConsoleAppVisuals.Placement,System.Nullable{System.Int32},System.Boolean)"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.GetRawLines"> <summary> - The constructor of the FloatSelector class. + This property returns the lines of the table. </summary> - <param name="question">The question to ask the user.</param> - <param name="min">The minimum value of the selector.</param> - <param name="max">The maximum value of the selector.</param> - <param name="start">The start value of the selector.</param> - <param name="step">The step of the selector.</param> - <param name="placement">The placement of the selector on the console.</param> - <param name="line">The line where the selector will be displayed.</param> - <param name="roundedCorners">Whether the corners of the selector are rounded.</param> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.FloatSelector.RenderElementActions"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.Count"> <summary> - This method is used to draw the selector on the console. + This property returns the number of lines in the table. </summary> </member> - <member name="T:ConsoleAppVisuals.IntSelector"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.DisplayArray"> <summary> - Defines the number selector of the console window. + This property returns the display array of the table. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.#ctor(System.String,System.Collections.Generic.List{System.String},System.Collections.Generic.List{System.Collections.Generic.List{`0}},System.Boolean,System.Boolean,System.String,ConsoleAppVisuals.Enums.Placement)"> + <summary> + The <see cref="T:ConsoleAppVisuals.Elements.TableSelector`1"/> natural constructor. </summary> + <param name="title">The title of the table.</param> + <param name="lines">The lines of the table.</param> + <param name="headers">The headers of the table.</param> + <param name="excludeHeader">Whether to exclude the header from selectable elements.</param> + <param name="excludeFooter">Whether to exclude the footer from selectable elements.</param> + <param name="footerText">The text to display in the footer.</param> + <param name="placement">The placement of the table.</param> + <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> + <exception cref="T:System.NullReferenceException">Is thrown when no body lines were provided.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.IntSelector.Placement"> - <summary> - The placement of the selector on the console. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Line"> - <summary> - The line where the selector will be displayed. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Height"> - <summary> - The height of the selector. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Width"> - <summary> - The width of the selector. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Question"> - <summary> - The question to ask the user. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Min"> - <summary> - The minimum value of the selector. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Max"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - The maximum value of the selector. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Start"> - <summary> - The start value of the selector. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Step"> - <summary> - The step of the selector. + This method updates the placement of the table. </summary> + <param name="placement">The placement of the table.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.IntSelector.RoundedCorners"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.UpdateFooterText(System.String)"> <summary> - Whether the corners of the selector are rounded. + This method updates the text of the footer. </summary> + <param name="footerText"></param> </member> - <member name="M:ConsoleAppVisuals.IntSelector.#ctor(System.String,System.Int32,System.Int32,System.Int32,System.Int32,ConsoleAppVisuals.Placement,System.Nullable{System.Int32},System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.SetExcludeHeader(System.Boolean)"> <summary> - The constructor of the intSelector class. + This method sets the table to exclude the header. </summary> - <param name="question">The question to ask the user.</param> - <param name="min">The minimum value of the selector.</param> - <param name="max">The maximum value of the selector.</param> - <param name="start">The start value of the selector.</param> - <param name="step">The step of the selector.</param> - <param name="placement">The placement of the selector on the console.</param> - <param name="line">The line where the selector will be displayed.</param> - <param name="roundedCorners">Whether the corners of the selector are rounded.</param> + <param name="excludeHeader">Whether to exclude the header or not.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.IntSelector.RenderElementActions"> - <summary> - This method is used to draw the selector on the console. - </summary> - </member> - <member name="T:ConsoleAppVisuals.Prompt"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.SetExcludeFooter(System.Boolean)"> <summary> - Defines the prompt element of the console window. + This method sets the table to exclude the footer. </summary> + <param name="excludeFooter">Whether to exclude the footer or not.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Prompt.Placement"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.AddHeaders(System.Collections.Generic.List{System.String})"> <summary> - The placement of the prompt element. + This method adds headers to the table. </summary> + <param name="headers">The headers to add.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.Prompt.Line"> - <summary> - The line of the prompt element in the console. - </summary> - <remarks>We add 2 because so the prompt element does not overlap with the title.</remarks> - </member> - <member name="P:ConsoleAppVisuals.Prompt.Height"> - <summary> - The height of the prompt element. - </summary> - </member> - <member name="P:ConsoleAppVisuals.Prompt.Width"> - <summary> - The width of the prompt element. - </summary> - <remarks>We add a margin of 2 to be sur to take in account odd question lengths.</remarks> - </member> - <member name="M:ConsoleAppVisuals.Prompt.#ctor(System.String,System.String,ConsoleAppVisuals.Placement,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.UpdateHeaders(System.Collections.Generic.List{System.String})"> <summary> - The natural constructor of the prompt element. + This method updates the headers of the table. </summary> - <param name="question">The text on the left of the prompt element.</param> - <param name="defaultValue">The text in the center of the prompt element.</param> - <param name="placement">The placement of the prompt element.</param> - <param name="line">The line of the prompt element in the console.</param> + <param name="headers">The headers to update.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Prompt.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.AddTitle(System.String)"> <summary> - This method is used to render the prompt element on the console. + This method adds a title to the table. </summary> + <param name="title">The title to add.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="T:ConsoleAppVisuals.ScrollingMenu"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.UpdateTitle(System.String)"> <summary> - Defines the scrolling menu the console window. + This method updates the title of the table. </summary> + <param name="title">The title to update.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.Placement"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.SetRoundedCorners(System.Boolean)"> <summary> - The placement of the menu on the console. + Toggles the rounded corners of the table. </summary> + <param name="rounded">Whether to round the corners or not.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.Line"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.GetLine(System.Int32)"> <summary> - The line where the menu will be displayed. + This property returns the specified line in the table. </summary> + <param name="index">The index of the line to return.</param> + <returns>The line at the specified index.</returns> + <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.Height"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.GetColumnData(System.Int32)"> <summary> - The height of the menu. + This method is used to get all the elements from a column given its index. </summary> + <param name="index">The index of the column.</param> + <returns>The elements of the column.</returns> + <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.Width"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.GetColumnData(System.String)"> <summary> - The width of the menu. + This method is used to get all the elements from a column given its header. </summary> + <param name="header">The header of the column.</param> + <returns>The elements of the column.</returns> + <exception cref="T:System.ArgumentException">Is thrown when the header is invalid.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.Question"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.AddLine(System.Collections.Generic.List{`0})"> <summary> - The question to ask the user. + This method adds a line to the table. </summary> + <param name="line">The line to add.</param> + <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.Choices"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.RemoveLine(System.Int32)"> <summary> - The different choices of the menu. + This method removes a line from the table. </summary> + <param name="index">The index of the line to remove.</param> + <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.DefaultIndex"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.UpdateLine(System.Int32,System.Collections.Generic.List{`0})"> <summary> - The index of the default choice(initially 0). + This method updates a line in the table. </summary> + <param name="index">The index of the line to update.</param> + <param name="line">The new line.</param> + <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> + <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.ScrollingMenu.#ctor(System.String,System.Int32,ConsoleAppVisuals.Placement,System.Nullable{System.Int32},System.String[])"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.ClearHeaders"> <summary> - The constructor of the ScrollingMenu class. + This method clears the headers of the table. </summary> - <param name="question">The question to ask the user.</param> - <param name="defaultIndex">The index of the default choice(initially 0).</param> - <param name="placement">The placement of the menu on the console.</param> - <param name="line">The line where the menu will be displayed.</param> - <param name="choices">The different choices of the menu.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.ScrollingMenu.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.ClearLines"> <summary> - This method is used to draw the menu on the console. + This method clears the lines of the table. </summary> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="T:ConsoleAppVisuals.TableSelector`1"> - <summary> - The <see cref="T:ConsoleAppVisuals.TableSelector`1"/> class that contains the methods to create a table and display it. - </summary> - - </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.Placement"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.Reset"> <summary> - This property returns the title of the table. + This method clears the table. </summary> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.Line"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.RenderElementActions"> <summary> - This property returns the line to display the table on. + This method displays the table without interaction. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.Height"> + <member name="T:ConsoleAppVisuals.Elements.Banner"> <summary> - This property returns the height of the table. + Defines the banner of the console window. </summary> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.Width"> + <member name="P:ConsoleAppVisuals.Elements.Banner.Placement"> <summary> - This property returns the width of the table. + The placement of the banner. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.Title"> + <member name="P:ConsoleAppVisuals.Elements.Banner.Height"> <summary> - This property returns the title of the table. + The height of the banner. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.ExcludeHeader"> + <member name="P:ConsoleAppVisuals.Elements.Banner.Width"> <summary> - This property returns if the header is excluded. + The width of the banner. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.ExcludeFooter"> + <member name="P:ConsoleAppVisuals.Elements.Banner.Text"> <summary> - This property returns if the footer is excluded. + The text of the banner. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.FooterText"> + <member name="P:ConsoleAppVisuals.Elements.Banner.UpperMargin"> <summary> - This property returns the text of the footer. + The upper margin of the banner. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.RoundedCorners"> + <member name="P:ConsoleAppVisuals.Elements.Banner.LowerMargin"> <summary> - This property returns if the corners are rounded. + The lower margin of the banner. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.GetCorners"> + <member name="M:ConsoleAppVisuals.Elements.Banner.#ctor(System.String,System.String,System.String,System.Int32,System.Int32,ConsoleAppVisuals.Enums.Placement)"> <summary> - This property returns the corners of the table. + The natural constructor of the banner. </summary> + <param name="leftText">The text on the left of the banner.</param> + <param name="centerText">The text in the center of the banner.</param> + <param name="rightText">The text on the right of the banner.</param> + <param name="upperMargin">The upper margin of the banner.</param> + <param name="lowerMargin">The lower margin of the banner.</param> + <param name="placement">The placement of the banner.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.GetRawHeaders"> + <member name="M:ConsoleAppVisuals.Elements.Banner.UpdateLeftText(System.String)"> <summary> - This property returns the headers of the table. + This method is used to update the text on the left of the banner. </summary> + <param name="leftText">The new text on the left of the banner.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.GetRawLines"> + <member name="M:ConsoleAppVisuals.Elements.Banner.UpdateCenterText(System.String)"> <summary> - This property returns the lines of the table. + This method is used to update the text in the center of the banner. </summary> + <param name="centerText">The new text in the center of the banner.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.Count"> + <member name="M:ConsoleAppVisuals.Elements.Banner.UpdateRightText(System.String)"> <summary> - This property returns the number of lines in the table. + This method is used to update the text on the right of the banner. </summary> + <param name="rightText">The new text on the right of the banner.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.DisplayArray"> + <member name="M:ConsoleAppVisuals.Elements.Banner.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - This property returns the display array of the table. + This method is used to update the placement of the banner. </summary> + <param name="placement">The new placement of the banner.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.#ctor(System.String,System.Collections.Generic.List{System.String},System.Collections.Generic.List{System.Collections.Generic.List{`0}},System.Boolean,System.Boolean,System.String,ConsoleAppVisuals.Placement,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.Banner.UpdateUpperMargin(System.Int32)"> <summary> - The <see cref="T:ConsoleAppVisuals.TableSelector`1"/> natural constructor. + This method is used to update the upper margin of the banner. </summary> - <param name="title">The title of the table.</param> - <param name="lines">The lines of the table.</param> - <param name="headers">The headers of the table.</param> - <param name="excludeHeader">Whether to exclude the header from selectable elements.</param> - <param name="excludeFooter">Whether to exclude the footer from selectable elements.</param> - <param name="footerText">The text to display in the footer.</param> - <param name="placement">The placement of the table.</param> - <param name="line">The line to display the table on.</param> - <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> - <exception cref="T:System.NullReferenceException">Is thrown when no body lines were provided.</exception> + <param name="upperMargin">The new upper margin of the banner.</param> + <exception cref="T:System.ArgumentOutOfRangeException">The upper margin of the banner must be between 0 and the height of the console window.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.AddHeaders(System.Collections.Generic.List{System.String})"> + <member name="M:ConsoleAppVisuals.Elements.Banner.UpdateLowerMargin(System.Int32)"> <summary> - This method adds headers to the table. + This method is used to update the lower margin of the banner. </summary> - <param name="headers">The headers to add.</param> + <param name="lowerMargin">The new lower margin of the banner.</param> + <exception cref="T:System.ArgumentOutOfRangeException">The lower margin of the banner must be between 0 and the height of the console window.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.UpdateHeaders(System.Collections.Generic.List{System.String})"> + <member name="M:ConsoleAppVisuals.Elements.Banner.RenderElementActions"> <summary> - This method updates the headers of the table. + This method is used to render the banner on the console. + </summary> + </member> + <member name="T:ConsoleAppVisuals.Elements.FakeLoadingBar"> + <summary> + Defines the loading bar of the console window. </summary> - <param name="headers">The headers to update.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.AddTitle(System.String)"> + <member name="P:ConsoleAppVisuals.Elements.FakeLoadingBar.Height"> <summary> - This method adds a title to the table. + The height of the loading bar. </summary> - <param name="title">The title to add.</param> + <remarks>One line for the text,one line for the space between and one line for the progress.</remarks> + </member> + <member name="P:ConsoleAppVisuals.Elements.FakeLoadingBar.Width"> + <summary> + The width of the loading bar. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.FakeLoadingBar.Text"> + <summary> + The text of the loading bar. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.FakeLoadingBar.Placement"> + <summary> + The placement of the loading bar. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.FakeLoadingBar.ProcessDuration"> + <summary> + Getter of the duration of the loading bar. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.FakeLoadingBar.AdditionalDuration"> + <summary> + Getter of the additional duration of the loading bar at the end. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.FakeLoadingBar.#ctor(System.String,ConsoleAppVisuals.Enums.Placement,System.Int32,System.Int32)"> + <summary> + The natural constructor of the loading bar. + </summary> + <param name="text">The text of the loading bar.</param> + <param name="placement">The placement of the loading bar.</param> + <param name="processDuration">The duration of the loading bar.</param> + <param name="additionalDuration">The additional duration of the loading bar at the end.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.UpdateTitle(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.FakeLoadingBar.UpdateText(System.String)"> <summary> - This method updates the title of the table. + This method is used to update the text of the loading bar. </summary> - <param name="title">The title to update.</param> + <param name="text">The new text of the loading bar.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.SetRoundedCorners(System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.FakeLoadingBar.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - Toggles the rounded corners of the table. + This method is used to update the placement of the loading bar. + </summary> + <param name="placement">The new placement of the loading bar.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.FakeLoadingBar.UpdateAdditionalDuration(System.Int32)"> + <summary> + This method is used to update the additional duration of the loading bar. + </summary> + <param name="additionalDuration">The new additional duration of the loading bar.</param> + <exception cref="T:System.ArgumentOutOfRangeException">The additional duration of the loading bar cannot be negative.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.FakeLoadingBar.RenderElementActions"> + <summary> + This method is used to draw the loading bar on the console. + </summary> + </member> + <member name="T:ConsoleAppVisuals.Elements.Footer"> + <summary> + Defines the footer of the console window. + </summary> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="P:ConsoleAppVisuals.Elements.Footer.Placement"> + <summary> + The placement of the footer. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Footer.Height"> + <summary> + The height of the footer. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Footer.Width"> + <summary> + The width of the footer. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Footer.Text"> + <summary> + The text of the footer. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.Footer.#ctor(System.String,System.String,System.String)"> + <summary> + The natural constructor of the footer. + </summary> + <param name="leftText">The text on the left of the footer.</param> + <param name="centerText">The text in the center of the footer.</param> + <param name="rightText">The text on the right of the footer.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Footer.UpdateLeftText(System.String)"> + <summary> + This method is used to update the text on the left of the footer. + </summary> + <param name="leftText">The new text on the left of the footer.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Footer.UpdateCenterText(System.String)"> + <summary> + This method is used to update the text in the center of the footer. + </summary> + <param name="centerText">The new text in the center of the footer.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Footer.UpdateRightText(System.String)"> + <summary> + This method is used to update the text on the right of the footer. + </summary> + <param name="rightText">The new text on the right of the footer.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Footer.RenderElementActions"> + <summary> + This method is used to render the footer on the console. + </summary> + </member> + <member name="T:ConsoleAppVisuals.Elements.Header"> + <summary> + Defines the header of the console window. + </summary> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="P:ConsoleAppVisuals.Elements.Header.Placement"> + <summary> + The placement of the header. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Header.Height"> + <summary> + The height of the header. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Header.Width"> + <summary> + The width of the header. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Header.Text"> + <summary> + The text of the header. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Header.Margin"> + <summary> + The margin of the header. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.Header.#ctor(System.String,System.String,System.String,System.Int32)"> + <summary> + The natural constructor of the header. + </summary> + <param name="leftText">The text on the left of the header.</param> + <param name="centerText">The text in the center of the header.</param> + <param name="rightText">The text on the right of the header.</param> + <param name="margin">The margin of the header.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Header.UpdateLeftText(System.String)"> + <summary> + This method is used to update the text on the left of the header. + </summary> + <param name="leftText">The new text on the left of the header.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Header.UpdateCenterText(System.String)"> + <summary> + This method is used to update the text in the center of the header. + </summary> + <param name="centerText">The new text in the center of the header.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Header.UpdateRightText(System.String)"> + <summary> + This method is used to update the text on the right of the header. + </summary> + <param name="rightText">The new text on the right of the header.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Header.UpdateMargin(System.Int32)"> + <summary> + This method is used to update the margin of the header. + </summary> + <param name="margin">The new margin of the header.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Header.RenderElementActions"> + <summary> + This method is used to render the header on the console. + </summary> + </member> + <member name="T:ConsoleAppVisuals.Elements.ElementList"> + <summary> + This class is used to display a ElementList of all the elements in the window. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.RoundedCorners"> + <summary> + This property wether the corners of the ElementList are rounded. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Title"> + <summary> + This property returns the title of the ElementList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Headers"> + <summary> + This property returns the headers of the ElementList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Lines"> + <summary> + This property returns the lines of the ElementList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Placement"> + <summary> + This property returns the title of the ElementList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Height"> + <summary> + This property returns the height of the ElementList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Width"> + <summary> + This property returns the width of the ElementList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Count"> + <summary> + This property returns the number of lines in the ElementList. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementList.#ctor(ConsoleAppVisuals.Enums.Placement,System.Boolean)"> + <summary> + This constructor creates a new instance of the WindowElementsElementList class. + </summary> + <param name="placement">The placement of the ElementList.</param> + <param name="roundedCorners">If true, the corners of the ElementList will be rounded.</param> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementList.SetRoundedCorners(System.Boolean)"> + <summary> + Toggles the rounded corners of the element. + </summary> + <param name="rounded">If true, the corners of the ElementList will be rounded.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementList.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> + <summary> + This method adds a line to the ElementList. + </summary> + <param name="placement">The placement of the ElementList.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementList.RenderElementActions"> + <summary> + This method displays the ElementList. + </summary> + </member> + <member name="T:ConsoleAppVisuals.Elements.ElementsDashboard"> + <summary> + This class is used to display a dashboard of all the elements in the window. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.RoundedCorners"> + <summary> + This property wether the corners of the dashboard are rounded. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Title"> + <summary> + This property returns the title of the dashboard. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Headers"> + <summary> + This property returns the headers of the dashboard. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Lines"> + <summary> + This property returns the lines of the dashboard. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Placement"> + <summary> + This property returns the title of the dashboard. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Height"> + <summary> + This property returns the height of the dashboard. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Width"> + <summary> + This property returns the width of the dashboard. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Count"> + <summary> + This property returns the number of lines in the dashboard. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementsDashboard.#ctor(ConsoleAppVisuals.Enums.Placement,System.Boolean)"> + <summary> + This constructor creates a new instance of the WindowElementsDashboard class. + </summary> + <param name="placement">The placement of the dashboard.</param> + <param name="roundedCorners">If true, the corners of the dashboard will be rounded.</param> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementsDashboard.SetRoundedCorners(System.Boolean)"> + <summary> + Toggles the rounded corners of the element. + </summary> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementsDashboard.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> + <summary> + This method updates the placement of the dashboard. </summary> - <param name="rounded">Whether to round the corners or not.</param> + <param name="placement">The new placement of the dashboard.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.GetLine(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.ElementsDashboard.RenderElementActions"> <summary> - This property returns the specified line in the table. + This method displays the dashboard. </summary> - <param name="index">The index of the line to return.</param> - <returns>The line at the specified index.</returns> - <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.GetColumnData(System.Int32)"> + <member name="T:ConsoleAppVisuals.Elements.InteractiveList"> <summary> - This method is used to get all the elements from a column given its index. + This class is used to display a InteractiveList of all the elements in the window. </summary> - <param name="index">The index of the column.</param> - <returns>The elements of the column.</returns> - <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.GetColumnData(System.String)"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Title"> <summary> - This method is used to get all the elements from a column given its header. + This property returns the title of the InteractiveList. </summary> - <param name="header">The header of the column.</param> - <returns>The elements of the column.</returns> - <exception cref="T:System.ArgumentException">Is thrown when the header is invalid.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.AddLine(System.Collections.Generic.List{`0})"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Headers"> <summary> - This method adds a line to the table. + This property returns the headers of the dashboard. </summary> - <param name="line">The line to add.</param> - <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.RemoveLine(System.Int32)"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.RoundedCorners"> <summary> - This method removes a line from the table. + This property wether the corners of the InteractiveList are rounded. </summary> - <param name="index">The index of the line to remove.</param> - <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.UpdateLine(System.Int32,System.Collections.Generic.List{`0})"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Lines"> <summary> - This method updates a line in the table. + This property returns the lines of the InteractiveList. </summary> - <param name="index">The index of the line to update.</param> - <param name="line">The new line.</param> - <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> - <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.ClearHeaders"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Placement"> <summary> - This method clears the headers of the table. + This property returns the title of the InteractiveList. </summary> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.ClearLines"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Height"> <summary> - This method clears the lines of the table. + This property returns the line to display the InteractiveList on. + </summary> + <summary> + This property returns the height of the InteractiveList. </summary> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.Reset"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Width"> <summary> - This method clears the table. + This property returns the width of the InteractiveList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Count"> + <summary> + This property returns the number of lines in the InteractiveList. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.InteractiveList.#ctor(ConsoleAppVisuals.Enums.Placement,System.Boolean)"> + <summary> + This constructor creates a new instance of the WindowElementsInteractiveList class. + </summary> + <param name="placement">The placement of the InteractiveList.</param> + <param name="roundedCorners">If true, the corners of the InteractiveList will be rounded.</param> + </member> + <member name="M:ConsoleAppVisuals.Elements.InteractiveList.SetRoundedCorners(System.Boolean)"> + <summary> + Toggles the rounded corners of the element. + </summary> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.InteractiveList.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> + <summary> + This method updates the placement of the InteractiveList. </summary> + <param name="placement">The new placement of the InteractiveList.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.InteractiveList.RenderElementActions"> <summary> - This method displays the table without interaction. + This method displays the InteractiveList. </summary> </member> - <member name="T:ConsoleAppVisuals.LoadingBar"> + <member name="T:ConsoleAppVisuals.Elements.LoadingBar"> <summary> Defines the loading bar of the console window. </summary> @@ -1722,65 +2203,58 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.LoadingBar.Line"> - <summary> - The line of the loading bar in the console. - </summary> - <remarks>We add 2 because so the loading bar does not overlap with the title.</remarks> - </member> - <member name="P:ConsoleAppVisuals.LoadingBar.Height"> + <member name="P:ConsoleAppVisuals.Elements.LoadingBar.Height"> <summary> The height of the loading bar. </summary> <remarks>One line for the text,one line for the space between and one line for the progress.</remarks> </member> - <member name="P:ConsoleAppVisuals.LoadingBar.Width"> + <member name="P:ConsoleAppVisuals.Elements.LoadingBar.Width"> <summary> The width of the loading bar. </summary> </member> - <member name="P:ConsoleAppVisuals.LoadingBar.Placement"> + <member name="P:ConsoleAppVisuals.Elements.LoadingBar.Placement"> <summary> The placement of the loading bar. </summary> </member> - <member name="P:ConsoleAppVisuals.LoadingBar.Text"> + <member name="P:ConsoleAppVisuals.Elements.LoadingBar.Text"> <summary> Getters and setters of the text of the loading bar. </summary> </member> - <member name="P:ConsoleAppVisuals.LoadingBar.Progress"> + <member name="P:ConsoleAppVisuals.Elements.LoadingBar.Progress"> <summary> Getters and setters of the progress of the loading bar. </summary> </member> - <member name="P:ConsoleAppVisuals.LoadingBar.AdditionalDuration"> + <member name="P:ConsoleAppVisuals.Elements.LoadingBar.AdditionalDuration"> <summary> Getters of the additional duration of the loading bar at the end. </summary> </member> - <member name="M:ConsoleAppVisuals.LoadingBar.#ctor(System.String,System.Single@,ConsoleAppVisuals.Placement,System.Nullable{System.Int32},System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.LoadingBar.#ctor(System.String,System.Single@,ConsoleAppVisuals.Enums.Placement,System.Int32)"> <summary> The natural constructor of the loading bar. </summary> <param name="text">The text of the loading bar.</param> <param name="progress">The reference of the progress of the loading bar (that means that you should put a reference to a variable that will contain the percentage of progress of your process).</param> <param name="placement">The placement of the loading bar.</param> - <param name="line">The line of the loading bar.</param> <param name="additionalDuration">The duration of the loading bar after the process.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.LoadingBar.UpdateText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.LoadingBar.UpdateText(System.String)"> <summary> This method is used to update the text of the loading bar. </summary> @@ -1789,11 +2263,38 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.LoadingBar.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> + <summary> + This method is used to update the placement of the loading bar. + </summary> + <param name="placement">The new placement of the loading bar.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.LoadingBar.UpdateAdditionalDuration(System.Int32)"> + <summary> + This method is used to update the additional duration of the loading bar. + </summary> + <param name="additionalDuration">The new additional duration of the loading bar.</param> + <exception cref="T:System.ArgumentException">The additional duration of the loading bar cannot be negative.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.LoadingBar.UpdateProgress(System.Single)"> + <member name="M:ConsoleAppVisuals.Elements.LoadingBar.UpdateProgress(System.Single)"> <summary> This method is used to update the progress of the loading bar. </summary> @@ -1802,63 +2303,57 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.LoadingBar.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.LoadingBar.RenderElementActions"> <summary> This method is used to draw the loading bar on the console. </summary> </member> - <member name="T:ConsoleAppVisuals.Matrix`1"> + <member name="T:ConsoleAppVisuals.Elements.Matrix`1"> <summary> A matrix class for the console. </summary> </member> - <member name="P:ConsoleAppVisuals.Matrix`1.RoundedCorners"> + <member name="P:ConsoleAppVisuals.Elements.Matrix`1.RoundedCorners"> <summary> Gets the rounded corners boolean value of the matrix. </summary> </member> - <member name="P:ConsoleAppVisuals.Matrix`1.Count"> + <member name="P:ConsoleAppVisuals.Elements.Matrix`1.Count"> <summary> Gets the number of lines in the matrix. </summary> </member> - <member name="P:ConsoleAppVisuals.Matrix`1.Placement"> + <member name="P:ConsoleAppVisuals.Elements.Matrix`1.Placement"> <summary> Gets the placement of the matrix. </summary> </member> - <member name="P:ConsoleAppVisuals.Matrix`1.Height"> + <member name="P:ConsoleAppVisuals.Elements.Matrix`1.Height"> <summary> Gets the height of the matrix. </summary> </member> - <member name="P:ConsoleAppVisuals.Matrix`1.Width"> + <member name="P:ConsoleAppVisuals.Elements.Matrix`1.Width"> <summary> Gets the width of the matrix. </summary> </member> - <member name="P:ConsoleAppVisuals.Matrix`1.Line"> - <summary> - Gets the line of the matrix. - </summary> - </member> - <member name="M:ConsoleAppVisuals.Matrix`1.#ctor(System.Collections.Generic.List{System.Collections.Generic.List{`0}},System.Boolean,ConsoleAppVisuals.Placement,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.#ctor(System.Collections.Generic.List{System.Collections.Generic.List{`0}},System.Boolean,ConsoleAppVisuals.Enums.Placement)"> <summary> - The natural constructor of the <see cref="T:ConsoleAppVisuals.Matrix`1"/> class. + The natural constructor of the <see cref="T:ConsoleAppVisuals.Elements.Matrix`1"/> class. </summary> <param name="rawLines">The matrix to be used.</param> <param name="roundedCorners">Whether the matrix should have rounded corners or not.</param> <param name="placement">The placement of the matrix.</param> - <param name="line">The line of the matrix.</param> <exception cref="T:System.ArgumentException">Thrown when the matrix is empty or not compatible (lines are not of the same length).</exception> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.SetRoundedCorners(System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.SetRoundedCorners(System.Boolean)"> <summary> Toggles the rounded corners of the table. </summary> @@ -1866,11 +2361,24 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> + <summary> + This method is used to update the placement of the matrix. + </summary> + <param name="placement">The new placement of the matrix.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.GetItem(ConsoleAppVisuals.Position)"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.GetItem(ConsoleAppVisuals.Models.Position)"> <summary> Gets the element at the specified position. </summary> @@ -1881,11 +2389,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.AddLine(System.Collections.Generic.List{`0})"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.AddLine(System.Collections.Generic.List{`0})"> <summary> Adds a line to the matrix. </summary> @@ -1896,11 +2404,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.InsertLine(System.Int32,System.Collections.Generic.List{`0})"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.InsertLine(System.Int32,System.Collections.Generic.List{`0})"> <summary> Inserts a line at the specified index. </summary> @@ -1913,11 +2421,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.UpdateLine(System.Int32,System.Collections.Generic.List{`0})"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.UpdateLine(System.Int32,System.Collections.Generic.List{`0})"> <summary> Updates a line in the matrix. </summary> @@ -1930,11 +2438,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.UpdateItem(ConsoleAppVisuals.Position,`0)"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.UpdateItem(ConsoleAppVisuals.Models.Position,`0)"> <summary> Updates an element in the matrix. </summary> @@ -1946,11 +2454,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.RemoveLine(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.RemoveLine(System.Int32)"> <summary> Removes a line from the matrix. </summary> @@ -1961,11 +2469,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.RemoveItem(ConsoleAppVisuals.Position)"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.RemoveItem(ConsoleAppVisuals.Models.Position)"> <summary> Removes an element from the matrix. </summary> @@ -1976,11 +2484,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.RenderElementActions"> <summary> Writes the matrix instance to the console. </summary> @@ -1988,118 +2496,112 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="T:ConsoleAppVisuals.TableView`1"> + <member name="T:ConsoleAppVisuals.Elements.TableView`1"> <summary> - The <see cref="T:ConsoleAppVisuals.TableView`1"/> class that contains the methods to create a table and display it. + The <see cref="T:ConsoleAppVisuals.Elements.TableView`1"/> class that contains the methods to create a table and display it. </summary> </member> - <member name="P:ConsoleAppVisuals.TableView`1.GetRawHeaders"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.GetRawHeaders"> <summary> This property returns the headers of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.TableView`1.GetRawLines"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.GetRawLines"> <summary> This property returns the lines of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.TableView`1.Placement"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.Placement"> <summary> This property returns the title of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.TableView`1.Line"> - <summary> - This property returns the line to display the table on. - </summary> - </member> - <member name="P:ConsoleAppVisuals.TableView`1.Height"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.Height"> <summary> This property returns the height of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.TableView`1.Width"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.Width"> <summary> This property returns the width of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.TableView`1.MaxNumberOfThisElement"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.MaxNumberOfThisElement"> <summary> This property returns the maximum number of this element that can be displayed on the console. </summary> </member> - <member name="M:ConsoleAppVisuals.TableView`1.#ctor(System.String,System.Collections.Generic.List{System.String},System.Collections.Generic.List{System.Collections.Generic.List{`0}},System.Boolean,ConsoleAppVisuals.Placement,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.#ctor(System.String,System.Collections.Generic.List{System.String},System.Collections.Generic.List{System.Collections.Generic.List{`0}},System.Boolean,ConsoleAppVisuals.Enums.Placement)"> <summary> - The <see cref="T:ConsoleAppVisuals.TableView`1"/> natural constructor. + The <see cref="T:ConsoleAppVisuals.Elements.TableView`1"/> natural constructor. </summary> <param name="title">The title of the table.</param> <param name="headers">The headers of the table.</param> <param name="lines">The lines of the table.</param> <param name="roundedCorners">The rounded corners of the table.</param> <param name="placement">The placement of the table.</param> - <param name="line">The line to display the table on.</param> <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> <exception cref="T:System.NullReferenceException">Is thrown when no body lines were provided.</exception> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="P:ConsoleAppVisuals.TableView`1.Count"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.Count"> <summary> This property returns the number of lines in the table. </summary> </member> - <member name="M:ConsoleAppVisuals.TableView`1.SetRoundedCorners(System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.SetRoundedCorners(System.Boolean)"> <summary> Toggles the rounded corners of the table. </summary> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="M:ConsoleAppVisuals.TableView`1.AddTitle(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.AddTitle(System.String)"> <summary> This method adds a title to the table. </summary> <param name="title">The title to add.</param> </member> - <member name="M:ConsoleAppVisuals.TableView`1.UpdateTitle(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.UpdateTitle(System.String)"> <summary> This method updates the title of the table. </summary> <param name="title">The title to update.</param> </member> - <member name="M:ConsoleAppVisuals.TableView`1.ClearTitle"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.ClearTitle"> <summary> This method clears the title of the table. </summary> </member> - <member name="M:ConsoleAppVisuals.TableView`1.AddHeaders(System.Collections.Generic.List{System.String})"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.AddHeaders(System.Collections.Generic.List{System.String})"> <summary> This method adds headers to the table. </summary> <param name="headers">The headers to add.</param> </member> - <member name="M:ConsoleAppVisuals.TableView`1.UpdateHeaders(System.Collections.Generic.List{System.String})"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.UpdateHeaders(System.Collections.Generic.List{System.String})"> <summary> This method updates the headers of the table. </summary> <param name="headers">The headers to update.</param> </member> - <member name="M:ConsoleAppVisuals.TableView`1.ClearHeaders"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.ClearHeaders"> <summary> This method clears the headers of the table. </summary> </member> - <member name="M:ConsoleAppVisuals.TableView`1.AddLine(System.Collections.Generic.List{`0})"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.AddLine(System.Collections.Generic.List{`0})"> <summary> This method adds a line to the table. </summary> <param name="line">The line to add.</param> <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="M:ConsoleAppVisuals.TableView`1.UpdateLine(System.Int32,System.Collections.Generic.List{`0})"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.UpdateLine(System.Int32,System.Collections.Generic.List{`0})"> <summary> This method updates a line in the table. </summary> @@ -2107,31 +2609,31 @@ <param name="line">The new line.</param> <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="M:ConsoleAppVisuals.TableView`1.RemoveLine(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.RemoveLine(System.Int32)"> <summary> This method removes a line from the table. </summary> <param name="index">The index of the line to remove.</param> <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="M:ConsoleAppVisuals.TableView`1.ClearLines"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.ClearLines"> <summary> This method clears the lines of the table. </summary> </member> - <member name="M:ConsoleAppVisuals.TableView`1.GetLine(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.GetLine(System.Int32)"> <summary> This property returns the specified line in the table. </summary> <param name="index">The index of the line to return.</param> <returns>The line at the specified index.</returns> <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="M:ConsoleAppVisuals.TableView`1.GetColumnData(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.GetColumnData(System.Int32)"> <summary> This method is used to get all the elements from a column given its index. </summary> @@ -2139,7 +2641,7 @@ <returns>The elements of the column.</returns> <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> </member> - <member name="M:ConsoleAppVisuals.TableView`1.GetColumnData(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.GetColumnData(System.String)"> <summary> This method is used to get all the elements from a column given its header. </summary> @@ -2148,17 +2650,17 @@ <exception cref="T:System.InvalidOperationException">Is thrown when the table is empty.</exception> <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the header is invalid.</exception> </member> - <member name="M:ConsoleAppVisuals.TableView`1.Reset"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.Reset"> <summary> This method clears the table. </summary> </member> - <member name="M:ConsoleAppVisuals.TableView`1.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.RenderElementActions"> <summary> This method displays the table without interaction. </summary> </member> - <member name="T:ConsoleAppVisuals.Title"> + <member name="T:ConsoleAppVisuals.Elements.Title"> <summary> Defines the title of the console window. </summary> @@ -2166,31 +2668,36 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Title.StyledText"> - <summary> + <member name="P:ConsoleAppVisuals.Elements.Title.StyledText"> + <summary> - </summary> + </summary> </member> - <member name="P:ConsoleAppVisuals.Title.Placement"> + <member name="P:ConsoleAppVisuals.Elements.Title.Placement"> <summary> The placement of the title. </summary> </member> - <member name="P:ConsoleAppVisuals.Title.Height"> + <member name="P:ConsoleAppVisuals.Elements.Title.Height"> <summary> The height of the title. </summary> </member> - <member name="P:ConsoleAppVisuals.Title.Width"> + <member name="P:ConsoleAppVisuals.Elements.Title.Width"> <summary> The width of the title. </summary> </member> - <member name="M:ConsoleAppVisuals.Title.#ctor(System.String,System.Int32,System.Nullable{System.Int32},ConsoleAppVisuals.TextAlignment)"> + <member name="P:ConsoleAppVisuals.Elements.Title.Line"> + <summary> + The line of the title. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.Title.#ctor(System.String,System.Int32,System.Nullable{System.Int32},ConsoleAppVisuals.Enums.TextAlignment)"> <summary> The constructor of the title. </summary> @@ -2202,11 +2709,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Title.UpdateText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.Title.UpdateText(System.String)"> <summary> This method updates the text of the title. </summary> @@ -2215,51 +2722,79 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Title.UpdateMargin(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.Title.UpdateMargin(System.Int32)"> <summary> This method updates the margin of the title. </summary> <param name="margin">The new margin of the title.</param> + <exception cref="T:System.ArgumentOutOfRangeException">The margin must be between 0 and the half of the console height.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Title.UpdateWidth(System.Int32)"> + <summary> + This method updates the width of the title. + </summary> + <param name="width">The new width of the title.</param> + <exception cref="T:System.ArgumentOutOfRangeException">The width must be between 0 and the console width.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Title.UpdateAlignment(ConsoleAppVisuals.Enums.TextAlignment)"> + <summary> + This method updates the alignment of the title. + </summary> + <param name="align">The new alignment of the title.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Title.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.Title.RenderElementActions"> <summary> This method is used to draw the title on the console. </summary> </member> - <member name="T:ConsoleAppVisuals.Direction"> + <member name="T:ConsoleAppVisuals.Enums.Direction"> <summary> - The <see cref="T:ConsoleAppVisuals.Direction"/> enum defines the direction in some space. + The <see cref="T:ConsoleAppVisuals.Enums.Direction"/> enum defines the direction in some space. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="F:ConsoleAppVisuals.Direction.Up"> + <member name="F:ConsoleAppVisuals.Enums.Direction.Up"> <summary> The up direction. </summary> </member> - <member name="F:ConsoleAppVisuals.Direction.Down"> + <member name="F:ConsoleAppVisuals.Enums.Direction.Down"> <summary> The down direction. </summary> </member> - <member name="T:ConsoleAppVisuals.Output"> + <member name="T:ConsoleAppVisuals.Enums.Output"> <summary> Enum for the output of the scrolling menus. </summary> @@ -2267,96 +2802,96 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="F:ConsoleAppVisuals.Output.None"> + <member name="F:ConsoleAppVisuals.Enums.Output.None"> <summary> Default value. </summary> </member> - <member name="F:ConsoleAppVisuals.Output.Selected"> + <member name="F:ConsoleAppVisuals.Enums.Output.Selected"> <summary> Chose to validate the input. </summary> </member> - <member name="F:ConsoleAppVisuals.Output.Deleted"> + <member name="F:ConsoleAppVisuals.Enums.Output.Deleted"> <summary> Chose to delete an item. </summary> </member> - <member name="F:ConsoleAppVisuals.Output.Escaped"> + <member name="F:ConsoleAppVisuals.Enums.Output.Escaped"> <summary> Chose to exit the menu. </summary> </member> - <member name="T:ConsoleAppVisuals.Placement"> + <member name="T:ConsoleAppVisuals.Enums.Placement"> <summary> - The <see cref="T:ConsoleAppVisuals.Placement"/> enum defines the placement of a string in some space. + The <see cref="T:ConsoleAppVisuals.Enums.Placement"/> enum defines the placement of a string in some space. It could be another string or a console line. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="F:ConsoleAppVisuals.Placement.TopCenter"> + <member name="F:ConsoleAppVisuals.Enums.Placement.TopCenter"> <summary> The object is placed in the top center of the space. </summary> </member> - <member name="F:ConsoleAppVisuals.Placement.TopLeft"> + <member name="F:ConsoleAppVisuals.Enums.Placement.TopLeft"> <summary> The object is placed in the top left of the space. </summary> </member> - <member name="F:ConsoleAppVisuals.Placement.TopRight"> + <member name="F:ConsoleAppVisuals.Enums.Placement.TopRight"> <summary> The object is placed in the top right of the space. </summary> </member> - <member name="F:ConsoleAppVisuals.Placement.TopCenterFullWidth"> + <member name="F:ConsoleAppVisuals.Enums.Placement.TopCenterFullWidth"> <summary> The object is placed in the top center of the space and takes all the width. </summary> </member> - <member name="F:ConsoleAppVisuals.Placement.BottomCenterFullWidth"> + <member name="F:ConsoleAppVisuals.Enums.Placement.BottomCenterFullWidth"> <summary> The object is placed in the bottom center of the space and takes all the width. </summary> </member> - <member name="T:ConsoleAppVisuals.TextAlignment"> + <member name="T:ConsoleAppVisuals.Enums.TextAlignment"> <summary> - The <see cref="T:ConsoleAppVisuals.TextAlignment"/> enum defines the alignment of a string in the space. + The <see cref="T:ConsoleAppVisuals.Enums.TextAlignment"/> enum defines the alignment of a string in the space. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="F:ConsoleAppVisuals.TextAlignment.Center"> + <member name="F:ConsoleAppVisuals.Enums.TextAlignment.Center"> <summary> The string is placed in the center of the space. </summary> </member> - <member name="F:ConsoleAppVisuals.TextAlignment.Left"> + <member name="F:ConsoleAppVisuals.Enums.TextAlignment.Left"> <summary> The string is placed on the left of the space. </summary> </member> - <member name="F:ConsoleAppVisuals.TextAlignment.Right"> + <member name="F:ConsoleAppVisuals.Enums.TextAlignment.Right"> <summary> The string is placed on the right of the space. </summary> </member> - <member name="T:ConsoleAppVisuals.ElementNotFoundException"> + <member name="T:ConsoleAppVisuals.Errors.ElementNotFoundException"> <summary> Exception thrown when an element is not found in a collection. </summary> @@ -2364,44 +2899,29 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.ElementNotFoundException.#ctor"> + <member name="M:ConsoleAppVisuals.Errors.ElementNotFoundException.#ctor"> <summary> Default constructor. </summary> </member> - <member name="M:ConsoleAppVisuals.ElementNotFoundException.#ctor(System.String)"> + <member name="M:ConsoleAppVisuals.Errors.ElementNotFoundException.#ctor(System.String)"> <summary> Constructor with message. </summary> <param name="message">Message to be displayed.</param> </member> - <member name="M:ConsoleAppVisuals.ElementNotFoundException.#ctor(System.String,System.Exception)"> + <member name="M:ConsoleAppVisuals.Errors.ElementNotFoundException.#ctor(System.String,System.Exception)"> <summary> Constructor with message and inner exception. </summary> <param name="message">Message to be displayed.</param> <param name="inner">Inner exception.</param> </member> - <member name="M:ConsoleAppVisuals.ElementNotFoundException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> - <summary> - Serialization constructor. - </summary> - <param name="info">Serialization info.</param> - <param name="context">Streaming context.</param> - </member> - <member name="M:ConsoleAppVisuals.ElementNotFoundException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> - <summary> - Get object data for serialization. - </summary> - <param name="info">Serialization info.</param> - <param name="context">Streaming context.</param> - <exception cref="T:System.ArgumentNullException"></exception> - </member> - <member name="T:ConsoleAppVisuals.EmptyFileException"> + <member name="T:ConsoleAppVisuals.Errors.EmptyFileException"> <summary> Exception thrown when no data is found in a file. </summary> @@ -2409,44 +2929,29 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.EmptyFileException.#ctor"> + <member name="M:ConsoleAppVisuals.Errors.EmptyFileException.#ctor"> <summary> Default constructor. </summary> </member> - <member name="M:ConsoleAppVisuals.EmptyFileException.#ctor(System.String)"> + <member name="M:ConsoleAppVisuals.Errors.EmptyFileException.#ctor(System.String)"> <summary> Constructor with message. </summary> <param name="message">Message to be displayed.</param> </member> - <member name="M:ConsoleAppVisuals.EmptyFileException.#ctor(System.String,System.Exception)"> + <member name="M:ConsoleAppVisuals.Errors.EmptyFileException.#ctor(System.String,System.Exception)"> <summary> Constructor with message and inner exception. </summary> <param name="message">Message to be displayed.</param> <param name="inner">Inner exception.</param> </member> - <member name="M:ConsoleAppVisuals.EmptyFileException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> - <summary> - Serialization constructor. - </summary> - <param name="info">Serialization info.</param> - <param name="context">Streaming context.</param> - </member> - <member name="M:ConsoleAppVisuals.EmptyFileException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> - <summary> - Get object data for serialization. - </summary> - <param name="info">Serialization info.</param> - <param name="context">Streaming context.</param> - <exception cref="T:System.ArgumentNullException"></exception> - </member> - <member name="T:ConsoleAppVisuals.NotSupportedCharException"> + <member name="T:ConsoleAppVisuals.Errors.NotSupportedCharException"> <summary> Exception thrown when a character is not supported by the TextStyler class. </summary> @@ -2454,44 +2959,29 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.NotSupportedCharException.#ctor"> + <member name="M:ConsoleAppVisuals.Errors.NotSupportedCharException.#ctor"> <summary> Default constructor. </summary> </member> - <member name="M:ConsoleAppVisuals.NotSupportedCharException.#ctor(System.String)"> + <member name="M:ConsoleAppVisuals.Errors.NotSupportedCharException.#ctor(System.String)"> <summary> Constructor with message. </summary> <param name="message">Message to be displayed.</param> </member> - <member name="M:ConsoleAppVisuals.NotSupportedCharException.#ctor(System.String,System.Exception)"> + <member name="M:ConsoleAppVisuals.Errors.NotSupportedCharException.#ctor(System.String,System.Exception)"> <summary> Constructor with message and inner exception. </summary> <param name="message">Message to be displayed.</param> <param name="inner">Inner exception.</param> </member> - <member name="M:ConsoleAppVisuals.NotSupportedCharException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> - <summary> - Serialization constructor. - </summary> - <param name="info">Serialization info.</param> - <param name="context">Streaming context.</param> - </member> - <member name="M:ConsoleAppVisuals.NotSupportedCharException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> - <summary> - Get object data for serialization. - </summary> - <param name="info">Serialization info.</param> - <param name="context">Streaming context.</param> - <exception cref="T:System.ArgumentNullException"></exception> - </member> - <member name="T:ConsoleAppVisuals.Element"> + <member name="T:ConsoleAppVisuals.Models.Element"> <summary> Defines the basic properties of an console element. </summary> @@ -2499,69 +2989,68 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Element.Id"> + <member name="P:ConsoleAppVisuals.Models.Element.Id"> <summary> The id number of the element. </summary> <remarks>This property is sealed. The ID of an element is automatically generated and managed by the <see cref="T:ConsoleAppVisuals.Window"/> class.</remarks> </member> - <member name="P:ConsoleAppVisuals.Element.Visibility"> + <member name="P:ConsoleAppVisuals.Models.Element.Visibility"> <summary> The visibility of the element. </summary> - <remarks>This property is sealed. The visibility of an element is managed by the <see cref="M:ConsoleAppVisuals.Element.ToggleVisibility"/> method.</remarks> + <remarks>This property is sealed. The visibility of an element is managed by the <see cref="M:ConsoleAppVisuals.Models.Element.ToggleVisibility"/> method.</remarks> </member> - <member name="P:ConsoleAppVisuals.Element.Placement"> + <member name="P:ConsoleAppVisuals.Models.Element.Placement"> <summary> The placement of the element. </summary> </member> - <member name="P:ConsoleAppVisuals.Element.TextAlignment"> + <member name="P:ConsoleAppVisuals.Models.Element.TextAlignment"> <summary> The text alignment of the text of the element. </summary> </member> - <member name="P:ConsoleAppVisuals.Element.IsInteractive"> + <member name="P:ConsoleAppVisuals.Models.Element.IsInteractive"> <summary> Whether the element is executable or not. </summary> </member> - <member name="P:ConsoleAppVisuals.Element.Line"> + <member name="P:ConsoleAppVisuals.Models.Element.Line"> <summary> The line of the element in the console. </summary> - <remarks>This property is marked as virtual. It is recommended to override this property in derived classes to make it more specific.</remarks> </member> - <member name="P:ConsoleAppVisuals.Element.Height"> + <member name="P:ConsoleAppVisuals.Models.Element.Height"> <summary> The height of the element. </summary> <remarks>This property is marked as virtual. It is recommended to override this property in derived classes to make it more specific.</remarks> </member> - <member name="P:ConsoleAppVisuals.Element.Width"> + <member name="P:ConsoleAppVisuals.Models.Element.Width"> <summary> The width of the element. </summary> <remarks>This property is marked as virtual. It is recommended to override this property in derived classes to make it more specific.</remarks> </member> - <member name="P:ConsoleAppVisuals.Element.MaxNumberOfThisElement"> + <member name="P:ConsoleAppVisuals.Models.Element.MaxNumberOfThisElement"> <summary> The maximum number of this element that can be drawn on the console. </summary> <remarks>This property is marked as virtual. It is recommended to override this property in derived classes to make it more specific.</remarks> </member> - <member name="M:ConsoleAppVisuals.Element.ToggleVisibility"> + <member name="M:ConsoleAppVisuals.Models.Element.ToggleVisibility"> <summary> This method is used to toggle the visibility of the element.This method is used to toggle the visibility of the element. If the maximum number of this element is reached, an exception is thrown. </summary> <exception cref="T:System.InvalidOperationException">Thrown when the maximum number of this element is reached.</exception> <remarks>This method is effectively sealed. The only way to change the visibility of an element is to use this method.</remarks> </member> - <member name="M:ConsoleAppVisuals.Element.RenderElement"> + <member name="M:ConsoleAppVisuals.Models.Element.RenderElement"> <summary> This method is used to draw the element on the console. </summary> @@ -2569,27 +3058,27 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Element.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Models.Element.RenderElementActions"> <summary> This method is used to define the actions to perform when the element is drawn on the console. </summary> <remarks>This method is marked as virtual. It is recommended to override this method in derived classes to make it more specific.</remarks> </member> - <member name="M:ConsoleAppVisuals.Element.RenderOptionsBeforeHand"> + <member name="M:ConsoleAppVisuals.Models.Element.RenderOptionsBeforeHand"> <summary> This method is used to set options before drawing the element on the console. </summary> </member> - <member name="M:ConsoleAppVisuals.Element.RenderOptionsAfterHand"> + <member name="M:ConsoleAppVisuals.Models.Element.RenderOptionsAfterHand"> <summary> This method is used to set options after drawing the element on the console. </summary> </member> - <member name="M:ConsoleAppVisuals.Element.RenderElementSpace"> + <member name="M:ConsoleAppVisuals.Models.Element.RenderElementSpace"> <summary> This method is used to draw the space taken by the element on the console. </summary> @@ -2597,45 +3086,45 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Element.GetRenderSpace"> + <member name="M:ConsoleAppVisuals.Models.Element.GetRenderSpace"> <summary> This method is used to simulate the drawing space of the element on the console. </summary> <returns>The space taken by the element.</returns> <remarks>This method is marked as virtual. It is recommended to override this method in derived classes to make it more specific.</remarks> </member> - <member name="M:ConsoleAppVisuals.Element.Clear"> + <member name="M:ConsoleAppVisuals.Models.Element.Clear"> <summary> This method is used to clear the space taken by the element on the console. </summary> </member> - <member name="T:ConsoleAppVisuals.FontYamlFile"> + <member name="T:ConsoleAppVisuals.Models.FontYamlFile"> <summary> - The <see cref="T:ConsoleAppVisuals.FontYamlFile"/> class defines the structure of a yaml file used to store the height of each character of a font. + The <see cref="T:ConsoleAppVisuals.Models.FontYamlFile"/> class defines the structure of a yaml file used to store the height of each character of a font. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.FontYamlFile.Name"> + <member name="P:ConsoleAppVisuals.Models.FontYamlFile.Name"> <summary> The name of the font. </summary> </member> - <member name="P:ConsoleAppVisuals.FontYamlFile.Chars"> + <member name="P:ConsoleAppVisuals.Models.FontYamlFile.Chars"> <summary> The height of the elements of the font. </summary> </member> - <member name="T:ConsoleAppVisuals.InteractionEventArgs`1"> + <member name="T:ConsoleAppVisuals.Models.InteractionEventArgs`1"> <summary> This class contains the arguments of the ScrollingMenuSelected event. </summary> @@ -2643,29 +3132,29 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.InteractionEventArgs`1.Status"> + <member name="P:ConsoleAppVisuals.Models.InteractionEventArgs`1.Status"> <summary> The status after exiting the interactive element. </summary> <value>Output.Escaped : pressed escape, Output.Deleted : pressed backspace, Output.Selected : pressed enter, Output.None : default value</value> </member> - <member name="P:ConsoleAppVisuals.InteractionEventArgs`1.Value"> + <member name="P:ConsoleAppVisuals.Models.InteractionEventArgs`1.Value"> <summary> The value of the response after exiting the interactive element. </summary> </member> - <member name="M:ConsoleAppVisuals.InteractionEventArgs`1.#ctor(ConsoleAppVisuals.Output,`0)"> + <member name="M:ConsoleAppVisuals.Models.InteractionEventArgs`1.#ctor(ConsoleAppVisuals.Enums.Output,`0)"> <summary> This constructor initializes the InteractionEventArgs class. </summary> <param name="status">The status of the exit from the menu.</param> <param name="value">The value of the response after exiting the interactive element.</param> </member> - <member name="T:ConsoleAppVisuals.InteractiveElement`1"> + <member name="T:ConsoleAppVisuals.Models.InteractiveElement`1"> <summary> Defines the basic properties of an console element. </summary> @@ -2673,60 +3162,72 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.InteractiveElement`1.IsInteractive"> + <member name="P:ConsoleAppVisuals.Models.InteractiveElement`1.IsInteractive"> <summary> Whether the element is interactive or not. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveElement`1.MaxNumberOfThisElement"> + <member name="P:ConsoleAppVisuals.Models.InteractiveElement`1.MaxNumberOfThisElement"> <summary> The maximum number of this element that can be drawn on the console. As an interactive element, the value is 1. </summary> </member> - <member name="E:ConsoleAppVisuals.InteractiveElement`1.EndOfInteractionEvent"> + <member name="E:ConsoleAppVisuals.Models.InteractiveElement`1.EndOfInteractionEvent"> <summary> </summary> </member> - <member name="F:ConsoleAppVisuals.InteractiveElement`1._interactionResponse"> + <member name="F:ConsoleAppVisuals.Models.InteractiveElement`1._interactionResponse"> <summary> The response of the user. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveElement`1.GetInteractionResponse"> - <summary> - Returns the response of the user. - </summary> - </member> - <member name="M:ConsoleAppVisuals.InteractiveElement`1.SetInteractionResponse(System.Object,ConsoleAppVisuals.InteractionEventArgs{`0})"> + <member name="M:ConsoleAppVisuals.Models.InteractiveElement`1.SetInteractionResponse(System.Object,ConsoleAppVisuals.Models.InteractionEventArgs{`0})"> <summary> Sets the response of the user in the attribute field. </summary> <param name="sender">The sender of the event.</param> <param name="e">The response of the user.</param> </member> - <member name="M:ConsoleAppVisuals.InteractiveElement`1.SendResponse(System.Object,ConsoleAppVisuals.InteractionEventArgs{`0})"> + <member name="M:ConsoleAppVisuals.Models.InteractiveElement`1.SendResponse(System.Object,ConsoleAppVisuals.Models.InteractionEventArgs{`0})"> <summary> Triggers the EndOfInteractionEvent event. </summary> <param name="sender">The sender of the event.</param> <param name="e">The response of the user.</param> </member> - <member name="M:ConsoleAppVisuals.InteractiveElement`1.RenderOptionsBeforeHand"> + <member name="M:ConsoleAppVisuals.Models.InteractiveElement`1.GetResponse"> + <summary> + Returns the response of the user after an interaction. + </summary> + <returns>Null if the user has not interacted with the element, otherwise the response of the user.</returns> + <remarks> + This sample shows how to use the <see cref="M:ConsoleAppVisuals.Models.InteractiveElement`1.GetResponse"/> method using the var keyword: + <code> + var response = element.GetResponse(); + </code> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Models.InteractiveElement`1.RenderOptionsBeforeHand"> <summary> This method is used to set options before drawing the element on the console. </summary> </member> - <member name="M:ConsoleAppVisuals.InteractiveElement`1.RenderOptionsAfterHand"> + <member name="M:ConsoleAppVisuals.Models.InteractiveElement`1.RenderOptionsAfterHand"> <summary> This method is used to set options after drawing the element on the console. </summary> </member> - <member name="T:ConsoleAppVisuals.Position"> + <member name="T:ConsoleAppVisuals.Models.Position"> <summary> A class that stores the position into X and Y parameters of a position. </summary> @@ -2734,23 +3235,23 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Position.X"> + <member name="P:ConsoleAppVisuals.Models.Position.X"> <summary> The x coordinate of the position. </summary> </member> - <member name="P:ConsoleAppVisuals.Position.Y"> + <member name="P:ConsoleAppVisuals.Models.Position.Y"> <summary> The y coordinate of the position. </summary> </member> - <member name="M:ConsoleAppVisuals.Position.#ctor(System.Int32,System.Int32)"> + <member name="M:ConsoleAppVisuals.Models.Position.#ctor(System.Int32,System.Int32)"> <summary> - Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Position"/> class with 2 coordinates. + Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Models.Position"/> class with 2 coordinates. </summary> <param name="x">The x coordinate of the position.</param> <param name="y">The y coordinate of the position.</param> @@ -2758,24 +3259,24 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Position.#ctor(ConsoleAppVisuals.Position)"> + <member name="M:ConsoleAppVisuals.Models.Position.#ctor(ConsoleAppVisuals.Models.Position)"> <summary> - Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Position"/> class with another instance of the <see cref="T:ConsoleAppVisuals.Position"/> class. + Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Models.Position"/> class with another instance of the <see cref="T:ConsoleAppVisuals.Models.Position"/> class. </summary> <param name="pos">The position to copy.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Position.ToString"> + <member name="M:ConsoleAppVisuals.Models.Position.ToString"> <summary> This method is used to convert the position to a string. </summary> @@ -2784,11 +3285,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Position.Equals(System.Object)"> + <member name="M:ConsoleAppVisuals.Models.Position.Equals(System.Object)"> <summary> This method is used to check if the position is equal to another position. </summary> @@ -2798,11 +3299,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Position.GetHashCode"> + <member name="M:ConsoleAppVisuals.Models.Position.GetHashCode"> <summary> Implementation of the IEquatable interface. </summary> @@ -2811,18 +3312,18 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Position.System#IEquatable{ConsoleAppVisuals#Position}#Equals(ConsoleAppVisuals.Position)"> + <member name="M:ConsoleAppVisuals.Models.Position.System#IEquatable{ConsoleAppVisuals#Models#Position}#Equals(ConsoleAppVisuals.Models.Position)"> <summary> Implementation of the IEquatable interface. </summary> <param name="other">The position to compare to.</param> <returns>True if the positions are equal, false otherwise.</returns> </member> - <member name="M:ConsoleAppVisuals.Position.op_Equality(ConsoleAppVisuals.Position,ConsoleAppVisuals.Position)"> + <member name="M:ConsoleAppVisuals.Models.Position.op_Equality(ConsoleAppVisuals.Models.Position,ConsoleAppVisuals.Models.Position)"> <summary> This operator is used to check if the position is equal to another position. </summary> @@ -2830,7 +3331,7 @@ <param name="right">The second position to compare.</param> <returns>True if the positions are equal, false otherwise.</returns> </member> - <member name="M:ConsoleAppVisuals.Position.op_Inequality(ConsoleAppVisuals.Position,ConsoleAppVisuals.Position)"> + <member name="M:ConsoleAppVisuals.Models.Position.op_Inequality(ConsoleAppVisuals.Models.Position,ConsoleAppVisuals.Models.Position)"> <summary> This operator is used to check if the position is not equal to another position. </summary> @@ -2838,32 +3339,32 @@ <param name="right">The second position to compare.</param> <returns>True if the positions are not equal, false otherwise.</returns> </member> - <member name="T:ConsoleAppVisuals.TextStyler"> + <member name="T:ConsoleAppVisuals.Models.TextStyler"> <summary> The class that styles any text with specified font files. </summary> </member> - <member name="P:ConsoleAppVisuals.TextStyler.Dictionary"> + <member name="P:ConsoleAppVisuals.Models.TextStyler.Dictionary"> <summary> The dictionary that stores the characters and their styled equivalent. </summary> </member> - <member name="M:ConsoleAppVisuals.TextStyler.#ctor(System.String,System.Reflection.Assembly)"> + <member name="M:ConsoleAppVisuals.Models.TextStyler.#ctor(System.String,System.Reflection.Assembly)"> <summary> The constructor of the TextStyler class. </summary> <param name="fontPath">The path to the font files.</param> <param name="assembly">The assembly in which to take the files. Do not use it by default.</param> - <exception cref="T:ConsoleAppVisuals.EmptyFileException">Thrown when the config.yml file is empty.</exception> + <exception cref="T:ConsoleAppVisuals.Errors.EmptyFileException">Thrown when the config.yml file is empty.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TextStyler.StyleTextToString(System.String)"> + <member name="M:ConsoleAppVisuals.Models.TextStyler.StyleTextToString(System.String)"> <summary> Styles the given text with the font files. </summary> @@ -2873,11 +3374,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TextStyler.StyleTextToStringArray(System.String)"> + <member name="M:ConsoleAppVisuals.Models.TextStyler.StyleTextToStringArray(System.String)"> <summary> Styles the given text with the font files. </summary> @@ -2887,45 +3388,49 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TextStyler.ToString"> + <member name="M:ConsoleAppVisuals.Models.TextStyler.ToString"> <summary> Get the info of the actual style (from the config.yml file). </summary> <returns>A string compiling these pieces of information.</returns> - <exception cref="T:ConsoleAppVisuals.EmptyFileException">Thrown when the config.yml file is empty.</exception> + <exception cref="T:ConsoleAppVisuals.Errors.EmptyFileException">Thrown when the config.yml file is empty.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> <member name="T:ConsoleAppVisuals.Window"> <summary> - The major class of the library. The window is used to collect the elements of the console and draw them. + The Window class manages the elements that are to be displayed on the console. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> <member name="M:ConsoleAppVisuals.Window.#cctor"> <summary> - This method sets up the window without the need to call it. + This method sets up the console as soon as the Program starts. </summary> </member> <member name="F:ConsoleAppVisuals.Window.DEFAULT_VISIBILITY"> <summary> The default visibility of the elements when they are added to the window. </summary> + <remarks> + This value should not be changed. + Each time the user adds an element to the window, it will try to toggle the visibility of the element. + </remarks> </member> <member name="P:ConsoleAppVisuals.Window.NextId"> <summary> @@ -2937,11 +3442,19 @@ Gives the number of elements in the window. </summary> </member> - <member name="P:ConsoleAppVisuals.Window.GetElements"> + <member name="P:ConsoleAppVisuals.Window.Elements"> <summary> Gives the list of elements in the window. </summary> </member> + <member name="M:ConsoleAppVisuals.Window.GetRange(System.Int32,System.Int32)"> + <summary> + This method returns a range of elements given a start and end ids. + </summary> + <param name="start">The start id of the range.</param> + <param name="end">The end id of the range.</param> + <returns>The range of elements from the start to the end id.</returns> + </member> <member name="M:ConsoleAppVisuals.Window.GetElement``1"> <summary> This method returns the first element of the given type. @@ -2952,13 +3465,13 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> <member name="M:ConsoleAppVisuals.Window.GetElement``1(System.Int32)"> <summary> - This method returns the element with the given id. + This method returns the first element of the given type and id. </summary> <param name="id">The id of the element.</param> <returns>The element with the given id if it exists, null otherwise.</returns> @@ -2967,7 +3480,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -2981,11 +3494,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.AddElement(ConsoleAppVisuals.Element[])"> + <member name="M:ConsoleAppVisuals.Window.AddElement(ConsoleAppVisuals.Models.Element[])"> <summary> This method adds elements to the window. </summary> @@ -2994,11 +3507,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.InsertElement(ConsoleAppVisuals.Element,System.Int32)"> + <member name="M:ConsoleAppVisuals.Window.InsertElement(ConsoleAppVisuals.Models.Element,System.Int32)"> <summary> This method inserts an element to the window at the given id. </summary> @@ -3009,51 +3522,51 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.RemoveElement(System.Int32)"> + <member name="M:ConsoleAppVisuals.Window.RemoveElement``1"> <summary> - This method removes the element with the given id. + This method removes the first element with the given type. </summary> - <param name="id">The id of the element.</param> - <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the id is out of range.</exception> + <typeparam name="T">The type of the element.</typeparam> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is invalid.</exception> + <returns>True if the element is successfully removed, false otherwise.</returns> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.RemoveElement(ConsoleAppVisuals.Element[])"> + <member name="M:ConsoleAppVisuals.Window.RemoveElement(System.Int32)"> <summary> - This method removes the given element. + This method removes the element with the given id. </summary> - <param name="elements">The elements to be removed.</param> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> - <returns>True if the element is successfully removed, false otherwise.</returns> + <param name="id">The id of the element.</param> + <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the id is out of range.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.RemoveElement``1"> + <member name="M:ConsoleAppVisuals.Window.RemoveElement(ConsoleAppVisuals.Models.Element[])"> <summary> - This method removes the first element with the given type. + This method removes the given element. </summary> - <typeparam name="T">The type of the element.</typeparam> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> + <param name="elements">The elements to be removed.</param> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is invalid.</exception> <returns>True if the element is successfully removed, false otherwise.</returns> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3065,7 +3578,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3080,17 +3593,17 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.ActivateElement(ConsoleAppVisuals.Element,System.Boolean)"> + <member name="M:ConsoleAppVisuals.Window.ActivateElement(ConsoleAppVisuals.Models.Element,System.Boolean)"> <summary> This method attempts to activate the visibility of the given element. </summary> <param name="element">The element to be activated.</param> <param name="render">If true, the element will be rendered.</param> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is invalid.</exception> </member> <member name="M:ConsoleAppVisuals.Window.ActivateElement``1(System.Boolean)"> <summary> @@ -3098,29 +3611,12 @@ </summary> <param name="render">If true, the element will be rendered.</param> <typeparam name="T">The type of the element.</typeparam> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> - </member> - <member name="M:ConsoleAppVisuals.Window.GetResponse``2(System.Boolean)"> - <summary> - After activating the visibility of an interactive element, this method will return the response for the user. - </summary> - <param name="clear">If true, the element will be cleared.</param> - <typeparam name="T">The type of interactive element.</typeparam> - <typeparam name="TResponse">The type of the response (int, string, float...).</typeparam> - <returns>The response of the user.</returns> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is invalid.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3132,7 +3628,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3141,28 +3637,28 @@ This method to deactivate the visibility of the element with the given id. </summary> <param name="id">The id of the element.</param> - <param name="clear">If true, the element will be cleared.</param> + <param name="clear">If true, the element will be cleared from the console.</param> <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the id is out of range.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.DeactivateElement(ConsoleAppVisuals.Element,System.Boolean)"> + <member name="M:ConsoleAppVisuals.Window.DeactivateElement(ConsoleAppVisuals.Models.Element,System.Boolean)"> <summary> This method deactivate the visibility of the element with the given type. </summary> <param name="element">The element to be deactivated.</param> - <param name="clear">If true, the element will be cleared.</param> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> + <param name="clear">If true, the element will be cleared from the console.</param> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is invalid.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3172,12 +3668,12 @@ </summary> <param name="clear">If true, the element will be cleared.</param> <typeparam name="T">The type of the element.</typeparam> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is invalid.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3189,7 +3685,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3200,9 +3696,9 @@ <param name="id">The id of the element.</param> <returns>True if the element can be toggled to visible, false otherwise.</returns> </member> - <member name="M:ConsoleAppVisuals.Window.GetLineAvailable(ConsoleAppVisuals.Placement)"> + <member name="M:ConsoleAppVisuals.Window.GetLineAvailable(ConsoleAppVisuals.Enums.Placement)"> <summary> - Gives the last line available to draw an element on the console from a placement. + This method gets the last line available to draw an element on the console from a placement. </summary> <param name="placement">The placement of the element.</param> <returns>The last line available to draw an element on the console from a placement.</returns> @@ -3211,13 +3707,13 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> <member name="M:ConsoleAppVisuals.Window.CheckLine(System.Nullable{System.Int32})"> <summary> - This method checks if the line is valid. + This method checks if the line is valid under the console constraints. </summary> <param name="line">The line to be checked.</param> <returns>The line if it is valid.</returns> @@ -3226,106 +3722,88 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> - </member> - <member name="M:ConsoleAppVisuals.Window.Clear(System.Boolean)"> - <summary> - This method clears the window. - </summary> - <param name="continuous">If true, the window will be cleared continuously.</param> - <returns>True if the window is successfully cleared, false otherwise.</returns> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.StopExecution(System.ConsoleKey)"> + <member name="M:ConsoleAppVisuals.Window.Freeze(System.ConsoleKey)"> <summary> This method stops the execution of the program until a key is pressed. </summary> + <param name="key">The key to be pressed to continue the execution.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.RenderOneElement(System.Int32)"> + <member name="M:ConsoleAppVisuals.Window.Render"> <summary> - This method draws the element with the given id on the console. + This method draws all visible elements of the window on the console. </summary> - <param name="id">The id of the element.</param> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the id is out of range.</exception> - <returns>True if the element is successfully drawn, false otherwise.</returns> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.RenderOneElement(ConsoleAppVisuals.Element)"> + <member name="M:ConsoleAppVisuals.Window.Render(ConsoleAppVisuals.Models.Element[])"> <summary> - This method draws the given element on the console. + This method draws all given visible elements of the window on the console. </summary> - <param name="element">The element to be drawn.</param> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> - <returns>True if the element is successfully drawn, false otherwise.</returns> + <param name="elements">The elements to be drawn.</param> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is not found in the window.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.Render"> + <member name="M:ConsoleAppVisuals.Window.RenderElementsSpace"> <summary> - This method draws all the non interactive elements of the window on the console. + This method draws all the space of the visible elements of the window on the console. </summary> + <returns>True if the space of the elements is successfully drawn, false otherwise.</returns> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.OnResize"> - <summary> - This method is called to refresh the window when the size of the console is changed. - </summary> - <returns>True if the window is refreshed, false otherwise.</returns> - </member> - <member name="M:ConsoleAppVisuals.Window.RenderAllElementsSpace"> + <member name="M:ConsoleAppVisuals.Window.Clear(System.Boolean,System.Nullable{System.Int32},System.Nullable{System.Int32},System.Int32)"> <summary> - This method draws all the space of the elements of the window on the console. + This method clears the console. </summary> - <returns>True if the space of the elements is successfully drawn, false otherwise.</returns> + <param name="continuous">If true, the window will be cleared continuously.</param> + <param name="startLine">The start line of the window to be cleared.</param> + <param name="length">The number of lines to be cleared.</param> + <param name="step">The step of the window to be cleared.</param> + <returns>True if the window is successfully cleared, false otherwise.</returns> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> <member name="M:ConsoleAppVisuals.Window.Close"> <summary> - This method closes the window and exit the program. + This method clears the window and exit the program. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> diff --git a/src/ConsoleAppVisuals/bin/Release/net7.0/ConsoleAppVisuals.deps.json b/src/ConsoleAppVisuals/bin/Release/net7.0/ConsoleAppVisuals.deps.json index d365be6a..bbd71fa1 100644 --- a/src/ConsoleAppVisuals/bin/Release/net7.0/ConsoleAppVisuals.deps.json +++ b/src/ConsoleAppVisuals/bin/Release/net7.0/ConsoleAppVisuals.deps.json @@ -6,11 +6,11 @@ "compilationOptions": {}, "targets": { ".NETCoreApp,Version=v7.0": { - "ConsoleAppVisuals/0.0.0": { + "ConsoleAppVisuals/1.0.0": { "dependencies": { "Moq": "4.20.70", "coverlet.collector": "6.0.0", - "YamlDotNet": "15.1.1" + "YamlDotNet": "15.1.2" }, "runtime": { "ConsoleAppVisuals.dll": {} @@ -61,18 +61,18 @@ } } }, - "YamlDotNet/15.1.1": { + "YamlDotNet/15.1.2": { "runtime": { "lib/net7.0/YamlDotNet.dll": { "assemblyVersion": "15.0.0.0", - "fileVersion": "15.1.1.0" + "fileVersion": "15.1.2.0" } } } } }, "libraries": { - "ConsoleAppVisuals/0.0.0": { + "ConsoleAppVisuals/1.0.0": { "type": "project", "serviceable": false, "sha512": "" @@ -105,12 +105,12 @@ "path": "system.diagnostics.eventlog/6.0.0", "hashPath": "system.diagnostics.eventlog.6.0.0.nupkg.sha512" }, - "YamlDotNet/15.1.1": { + "YamlDotNet/15.1.2": { "type": "package", "serviceable": true, - "sha512": "sha512-GjK+j6XmaFoLhdGpv5jVkt1wbUwVvZaWsUEPzr6gfA/VaEgYMlwZXeVyWJOqFK9U41mSocZvSuLkEFFhVEj0HA==", - "path": "yamldotnet/15.1.1", - "hashPath": "yamldotnet.15.1.1.nupkg.sha512" + "sha512": "sha512-qeX0XhzOIcQEvnI5JxnPaIwcINwyY4Qy/LXhSfsdHkFrl9F41AT52UFfy2nIE7kgrhMg+cP7xuS+GtPJhmHmTA==", + "path": "yamldotnet/15.1.2", + "hashPath": "yamldotnet.15.1.2.nupkg.sha512" } } } \ No newline at end of file diff --git a/src/ConsoleAppVisuals/bin/Release/net7.0/ConsoleAppVisuals.dll b/src/ConsoleAppVisuals/bin/Release/net7.0/ConsoleAppVisuals.dll index 0acfc52a..ae8593eb 100644 Binary files a/src/ConsoleAppVisuals/bin/Release/net7.0/ConsoleAppVisuals.dll and b/src/ConsoleAppVisuals/bin/Release/net7.0/ConsoleAppVisuals.dll differ diff --git a/src/ConsoleAppVisuals/bin/Release/net7.0/ConsoleAppVisuals.pdb b/src/ConsoleAppVisuals/bin/Release/net7.0/ConsoleAppVisuals.pdb index 89cd6950..2acc000d 100644 Binary files a/src/ConsoleAppVisuals/bin/Release/net7.0/ConsoleAppVisuals.pdb and b/src/ConsoleAppVisuals/bin/Release/net7.0/ConsoleAppVisuals.pdb differ diff --git a/src/ConsoleAppVisuals/bin/Release/net7.0/ConsoleAppVisuals.xml b/src/ConsoleAppVisuals/bin/Release/net7.0/ConsoleAppVisuals.xml index 54a26243..27be0cf4 100644 --- a/src/ConsoleAppVisuals/bin/Release/net7.0/ConsoleAppVisuals.xml +++ b/src/ConsoleAppVisuals/bin/Release/net7.0/ConsoleAppVisuals.xml @@ -4,48 +4,48 @@ <name>ConsoleAppVisuals</name> </assembly> <members> - <member name="T:ConsoleAppVisuals.VisualAttribute"> + <member name="T:ConsoleAppVisuals.Attributes.VisualAttribute"> <summary> - The <see cref="T:ConsoleAppVisuals.VisualAttribute"/> class is used to mark a class, struct, enum, constructor, method, property, field, event, interface, or delegate as a visual and so interact with the console. + The <see cref="T:ConsoleAppVisuals.Attributes.VisualAttribute"/> class is used to mark a class, struct, enum, constructor, method, property, field, event, interface, or delegate as a visual and so interact with the console. </summary> <remarks> [ WARNING ] This element cannot be tested. </remarks> </member> - <member name="M:ConsoleAppVisuals.VisualAttribute.#ctor"> + <member name="M:ConsoleAppVisuals.Attributes.VisualAttribute.#ctor"> <summary> - Initializes a new instance of the <see cref="T:ConsoleAppVisuals.VisualAttribute"/> class. + Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Attributes.VisualAttribute"/> class. </summary> </member> - <member name="M:ConsoleAppVisuals.VisualAttribute.#ctor(System.String)"> + <member name="M:ConsoleAppVisuals.Attributes.VisualAttribute.#ctor(System.String)"> <summary> - Initializes a new instance of the <see cref="T:ConsoleAppVisuals.VisualAttribute"/> class with a specified workaround message. + Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Attributes.VisualAttribute"/> class with a specified workaround message. </summary> <param name="message">The text string that describes alternative workarounds.</param> </member> - <member name="M:ConsoleAppVisuals.VisualAttribute.#ctor(System.String,System.Boolean)"> + <member name="M:ConsoleAppVisuals.Attributes.VisualAttribute.#ctor(System.String,System.Boolean)"> <summary> - Initializes a new instance of the <see cref="T:ConsoleAppVisuals.VisualAttribute"/> class with a workaround message and a Boolean value indicating whether the obsolete element usage is considered an error. + Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Attributes.VisualAttribute"/> class with a workaround message and a Boolean value indicating whether the obsolete element usage is considered an error. </summary> <param name="message">The text string that describes alternative workarounds.</param> <param name="error">True if the obsolete element usage generates a compiler error; false if it generates a compiler warning.</param> </member> - <member name="P:ConsoleAppVisuals.VisualAttribute.DiagnosticId"> + <member name="P:ConsoleAppVisuals.Attributes.VisualAttribute.DiagnosticId"> <summary> Gets or sets the ID that the compiler will use when reporting a use of the API. </summary> </member> - <member name="P:ConsoleAppVisuals.VisualAttribute.IsError"> + <member name="P:ConsoleAppVisuals.Attributes.VisualAttribute.IsError"> <summary> Gets a value that indicates whether the compiler will treat usage of the obsolete program element as an error. </summary> <returns>True if the obsolete element usage is considered an error; otherwise, false. The default is false.</returns> </member> - <member name="P:ConsoleAppVisuals.VisualAttribute.Message"> + <member name="P:ConsoleAppVisuals.Attributes.VisualAttribute.Message"> <summary> Gets the workaround message. </summary> <returns>The workaround text string.</returns> </member> - <member name="P:ConsoleAppVisuals.VisualAttribute.UrlFormat"> + <member name="P:ConsoleAppVisuals.Attributes.VisualAttribute.UrlFormat"> <summary> Gets or sets the URL for corresponding documentation. The API accepts a format string instead of an actual URL, creating a generic URL that includes the diagnostic ID. </summary> @@ -53,7 +53,7 @@ </member> <member name="T:ConsoleAppVisuals.Core"> <summary> - The <see cref="T:ConsoleAppVisuals.Core"/> class contains visual elements for a console app. + The <see cref="T:ConsoleAppVisuals.Core"/> class contains all the interactions between the application and the console. </summary> </member> <member name="F:ConsoleAppVisuals.Core.NEGATIVE_ANCHOR"> @@ -70,20 +70,24 @@ <summary> This property is used to get the colors of the console. </summary> - <returns>A tuple containing the font color and the background color.</returns> </member> <member name="P:ConsoleAppVisuals.Core.GetInitialColorPanel"> <summary> This property is used to get the initial colors of the console. </summary> - <returns>A tuple containing the initial font color and the initial background color.</returns> </member> - <member name="P:ConsoleAppVisuals.Core.IsScreenUpdated"> + <member name="M:ConsoleAppVisuals.Core.IsScreenUpdated"> <summary> - This property is used to check if the screen has been updated. + This method is used to check if the screen has been updated. </summary> <returns>True if the screen has been updated, false otherwise.</returns> - <remarks>The screen is updated if the window size has changed or if the color panel has changed.</remarks> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> <member name="M:ConsoleAppVisuals.Core.SetSelector(System.Char,System.Char)"> <summary> @@ -95,7 +99,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -108,7 +112,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -121,7 +125,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -133,7 +137,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -145,7 +149,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -157,7 +161,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -169,7 +173,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -182,7 +186,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -196,7 +200,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -209,7 +213,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -221,7 +225,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -235,11 +239,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.WritePositionedString(System.String,ConsoleAppVisuals.TextAlignment,System.Boolean,System.Nullable{System.Int32},System.Boolean)"> + <member name="M:ConsoleAppVisuals.Core.WritePositionedString(System.String,ConsoleAppVisuals.Enums.TextAlignment,System.Boolean,System.Nullable{System.Int32},System.Boolean)"> <summary> This method is used to write a string positioned in the console. </summary> @@ -252,11 +256,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.WriteContinuousString(System.String,System.Nullable{System.Int32},System.Boolean,System.Int32,System.Int32,System.Int32,ConsoleAppVisuals.TextAlignment,System.Boolean)"> + <member name="M:ConsoleAppVisuals.Core.WriteContinuousString(System.String,System.Nullable{System.Int32},System.Boolean,System.Int32,System.Int32,System.Int32,ConsoleAppVisuals.Enums.TextAlignment,System.Boolean)"> <summary> This method is used to write a string continuously in the console. The string is written letter by letter on the console. @@ -273,11 +277,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.WritePositionedStyledText(System.String[],System.Nullable{System.Int32},System.Nullable{System.Int32},System.Nullable{System.Int32},ConsoleAppVisuals.TextAlignment,System.Boolean)"> + <member name="M:ConsoleAppVisuals.Core.WritePositionedStyledText(System.String[],System.Nullable{System.Int32},System.Nullable{System.Int32},System.Nullable{System.Int32},ConsoleAppVisuals.Enums.TextAlignment,System.Boolean)"> <summary> This method is used to write a styled string in the console. </summary> @@ -291,11 +295,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.WriteMultiplePositionedLines(System.Boolean,ConsoleAppVisuals.TextAlignment,System.Boolean,System.Nullable{System.Int32},System.String[])"> + <member name="M:ConsoleAppVisuals.Core.WriteMultiplePositionedLines(System.Boolean,ConsoleAppVisuals.Enums.TextAlignment,System.Boolean,System.Nullable{System.Int32},System.String[])"> <summary> This method prints a paragraph in the console. </summary> @@ -308,11 +312,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.ResizeString(System.String,System.Int32,ConsoleAppVisuals.TextAlignment,System.Boolean)"> + <member name="M:ConsoleAppVisuals.Core.ResizeString(System.String,System.Int32,ConsoleAppVisuals.Enums.TextAlignment,System.Boolean)"> <summary> This method builds a string with a specific size and a specific placement. </summary> @@ -325,11 +329,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.InsertString(System.String,System.String,ConsoleAppVisuals.Placement)"> + <member name="M:ConsoleAppVisuals.Core.InsertString(System.String,System.String,ConsoleAppVisuals.Enums.Placement)"> <summary> Insert a specified string into another string, at a specified position. </summary> @@ -341,7 +345,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -355,7 +359,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -369,11 +373,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.ToTextAlignment(ConsoleAppVisuals.Placement)"> + <member name="M:ConsoleAppVisuals.Core.ToTextAlignment(ConsoleAppVisuals.Enums.Placement)"> <summary> This method is used to convert a Placement into a TextAlignment. </summary> @@ -384,11 +388,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.ToPlacement(ConsoleAppVisuals.TextAlignment)"> + <member name="M:ConsoleAppVisuals.Core.ToPlacement(ConsoleAppVisuals.Enums.TextAlignment)"> <summary> This method is used to convert a TextAlignment into a Placement. </summary> @@ -399,1322 +403,1799 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="T:ConsoleAppVisuals.Banner"> + <member name="T:ConsoleAppVisuals.Elements.EmbedText"> <summary> - Defines the banner of the console window. + Defines the basic properties of an Embed text. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Banner.Placement"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.Placement"> <summary> - The placement of the banner. + The position of the Embed text. </summary> </member> - <member name="P:ConsoleAppVisuals.Banner.Line"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.Height"> <summary> - The line of the banner in the console. + The height of the Embed text. </summary> - <remarks>We add 2 because so the banner does not overlap with the title.</remarks> </member> - <member name="P:ConsoleAppVisuals.Banner.Height"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.Width"> <summary> - The height of the banner. + The width of the Embed text. </summary> </member> - <member name="P:ConsoleAppVisuals.Banner.Width"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.Text"> <summary> - The width of the banner. + The text of the Embed text. </summary> </member> - <member name="P:ConsoleAppVisuals.Banner.Text"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.ButtonText"> <summary> - Getter and setter of the text of the banner. + The text of the button. </summary> </member> - <member name="P:ConsoleAppVisuals.Banner.UpperMargin"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.TextToDisplay"> <summary> - Getter and setter of the upper margin of the banner. + The text to display. </summary> </member> - <member name="P:ConsoleAppVisuals.Banner.LowerMargin"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.RoundedCorners"> <summary> - Getter and setter of the lower margin of the banner. + Wether the corners are rounded or not. </summary> </member> - <member name="M:ConsoleAppVisuals.Banner.#ctor(System.String,System.String,System.String,System.Int32,System.Int32,ConsoleAppVisuals.Placement,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.#ctor(System.Collections.Generic.List{System.String},System.String,ConsoleAppVisuals.Enums.TextAlignment,ConsoleAppVisuals.Enums.Placement,System.Boolean)"> <summary> - The natural constructor of the banner. + The natural constructor of the Embed text. </summary> - <param name="leftText">The text on the left of the banner.</param> - <param name="centerText">The text in the center of the banner.</param> - <param name="rightText">The text on the right of the banner.</param> - <param name="upperMargin">The upper margin of the banner.</param> - <param name="lowerMargin">The lower margin of the banner.</param> - <param name="placement">The placement of the banner.</param> - <param name="line">The line of the banner in the console.</param> + <param name="text">The text to display.</param> + <param name="button">The text of the button.</param> + <param name="align">The alignment of the Embed text.</param> + <param name="placement">The placement of the Embed text element.</param> + <param name="roundedCorners">Wether the corners are rounded or not.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Banner.UpdateLeftText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.UpdateButtonText(System.String)"> <summary> - This method is used to update the text on the left of the banner. + This method updates the text of the button. </summary> - <param name="leftText">The new text on the left of the banner.</param> + <param name="newButton">The new text of the button.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Banner.UpdateCenterText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.UpdateText(System.Collections.Generic.List{System.String})"> <summary> - This method is used to update the text in the center of the banner. + This method updates the text of the Embed text. </summary> - <param name="centerText">The new text in the center of the banner.</param> + <param name="newText">The new text of the Embed text.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Banner.UpdateRightText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - This method is used to update the text on the right of the banner. + This method updates the placement of the Embed text. </summary> - <param name="rightText">The new text on the right of the banner.</param> + <param name="newPlacement">The new placement of the Embed text.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Banner.RenderElementActions"> - <summary> - This method is used to render the banner on the console. - </summary> - </member> - <member name="T:ConsoleAppVisuals.FakeLoadingBar"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.UpdateAlignment(ConsoleAppVisuals.Enums.TextAlignment)"> <summary> - Defines the loading bar of the console window. + This method updates the alignment of the Embed text. </summary> + <param name="newAlignment">The new alignment of the Embed text.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.Line"> - <summary> - The line of the loading bar in the console. - </summary> - <remarks>We add 2 because so the loading bar does not overlap with the title.</remarks> - </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.Height"> - <summary> - The height of the loading bar. - </summary> - <remarks>One line for the text,one line for the space between and one line for the progress.</remarks> - </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.Width"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.SetRoundedCorners(System.Boolean)"> <summary> - The width of the loading bar. - </summary> - </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.Text"> - <summary> - Getter and setter of the text of the loading bar. - </summary> - </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.Placement"> - <summary> - Getter of the placement of the loading bar. + This method updates the rounded corners of the Embed text. </summary> + <param name="roundedCorners">Wether the corners are rounded or not.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.ProcessDuration"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.AddLine(System.String)"> <summary> - Getter of the duration of the loading bar. + Adds a line to the Embed text. </summary> + <param name="line">The line to add.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.AdditionalDuration"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.InsertLine(System.String,System.Int32)"> <summary> - Getter of the additional duration of the loading bar at the end. + Inserts a line to the Embed text. </summary> + <param name="line">The line to insert.</param> + <param name="index">The index where to insert the line.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.FakeLoadingBar.#ctor(System.String,ConsoleAppVisuals.Placement,System.Nullable{System.Int32},System.Int32,System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.RemoveLine(System.String)"> <summary> - The natural constructor of the loading bar. + Removes a line from the Embed text. </summary> - <param name="text">The text of the loading bar.</param> - <param name="placement">The placement of the loading bar.</param> - <param name="line">The line of the loading bar.</param> - <param name="processDuration">The duration of the loading bar.</param> - <param name="additionalDuration">The additional duration of the loading bar at the end.</param> + <param name="line">The line to remove.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.FakeLoadingBar.UpdateText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.RemoveLine(System.Int32)"> <summary> - This method is used to update the text of the loading bar. + Removes a line from the Embed text. </summary> - <param name="text">The new text of the loading bar.</param> + <param name="index">The index of the line to remove.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.FakeLoadingBar.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.RenderElementActions"> <summary> - This method is used to draw the loading bar on the console. + Renders the Embed text. </summary> </member> - <member name="T:ConsoleAppVisuals.Footer"> + <member name="T:ConsoleAppVisuals.Elements.FloatSelector"> <summary> - Defines the footer of the console window. + Defines the number selector of the console window. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Footer.Placement"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Placement"> <summary> - The placement of the footer. + The placement of the selector on the console. </summary> </member> - <member name="P:ConsoleAppVisuals.Footer.Line"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Height"> <summary> - The line of the footer in the console. + The height of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.Footer.Height"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Width"> <summary> - The height of the footer. + The width of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.Footer.Width"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Question"> <summary> - The width of the footer. + The question to ask the user. </summary> </member> - <member name="P:ConsoleAppVisuals.Footer.Text"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Min"> <summary> - The text of the footer. + The minimum value of the selector. </summary> </member> - <member name="M:ConsoleAppVisuals.Footer.#ctor(System.String,System.String,System.String)"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Max"> <summary> - The natural constructor of the footer. + The maximum value of the selector. </summary> - <param name="leftText">The text on the left of the footer.</param> - <param name="centerText">The text in the center of the footer.</param> - <param name="rightText">The text on the right of the footer.</param> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.Footer.UpdateLeftText(System.String)"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Start"> <summary> - This method is used to update the text on the left of the footer. + The start value of the selector. </summary> - <param name="leftText">The new text on the left of the footer.</param> + </member> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Step"> + <summary> + The step of the selector. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.RoundedCorners"> + <summary> + Whether the corners of the selector are rounded. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.#ctor(System.String,System.Single,System.Single,System.Single,System.Single,ConsoleAppVisuals.Enums.Placement,System.Boolean)"> + <summary> + The constructor of the FloatSelector class. + </summary> + <param name="question">The question to ask the user.</param> + <param name="min">The minimum value of the selector.</param> + <param name="max">The maximum value of the selector.</param> + <param name="start">The start value of the selector.</param> + <param name="step">The step of the selector.</param> + <param name="placement">The placement of the selector on the console.</param> + <param name="roundedCorners">Whether the corners of the selector are rounded.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Footer.UpdateCenterText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.UpdateQuestion(System.String)"> <summary> - This method is used to update the text in the center of the footer. + This method is used to update the question of the selector. </summary> - <param name="centerText">The new text in the center of the footer.</param> + <param name="question">The question to ask the user.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Footer.UpdateRightText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.UpdateMin(System.Single)"> <summary> - This method is used to update the text on the right of the footer. + This method is used to update the minimum value of the selector. </summary> - <param name="rightText">The new text on the right of the footer.</param> + <param name="min">The minimum value of the selector.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Footer.RenderElementActions"> - <summary> - This method is used to render the footer on the console. - </summary> - </member> - <member name="T:ConsoleAppVisuals.Header"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.UpdateMax(System.Single)"> <summary> - Defines the header of the console window. + This method is used to update the maximum value of the selector. </summary> + <param name="max">The maximum value of the selector.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Header.Placement"> - <summary> - The placement of the header. - </summary> - </member> - <member name="P:ConsoleAppVisuals.Header.Line"> - <summary> - The line of the header in the console. - </summary> - </member> - <member name="P:ConsoleAppVisuals.Header.Height"> - <summary> - The height of the header. - </summary> - </member> - <member name="P:ConsoleAppVisuals.Header.Width"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.UpdateStart(System.Single)"> <summary> - The width of the header. - </summary> - </member> - <member name="P:ConsoleAppVisuals.Header.Text"> - <summary> - The getter of the text of the header. - </summary> - </member> - <member name="P:ConsoleAppVisuals.Header.Margin"> - <summary> - The getter and setter of the margin of the header. - </summary> - </member> - <member name="M:ConsoleAppVisuals.Header.#ctor(System.String,System.String,System.String,System.Int32)"> - <summary> - The natural constructor of the header. + This method is used to update the start value of the selector. </summary> - <param name="leftText">The text on the left of the header.</param> - <param name="centerText">The text in the center of the header.</param> - <param name="rightText">The text on the right of the header.</param> - <param name="margin">The margin of the header.</param> + <param name="start">The start value of the selector.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Header.UpdateLeftText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.UpdateStep(System.Single)"> <summary> - This method is used to update the text on the left of the header. + This method is used to update the step of the selector. </summary> - <param name="leftText">The new text on the left of the header.</param> + <param name="step">The step of the selector.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Header.UpdateCenterText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - This method is used to update the text in the center of the header. + This method is used to update the placement of the selector. </summary> - <param name="centerText">The new text in the center of the header.</param> + <param name="placement">The placement of the selector on the console.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Header.UpdateRightText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.SetRoundedCorners(System.Boolean)"> <summary> - This method is used to update the text on the right of the header. + This method is used to update the rounded corners of the selector. </summary> - <param name="rightText">The new text on the right of the header.</param> + <param name="roundedCorners">Whether the corners of the selector are rounded.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Header.UpdateMargin(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.RenderElementActions"> <summary> - This method is used to update the margin of the header. + This method is used to draw the selector on the console. + </summary> + </member> + <member name="T:ConsoleAppVisuals.Elements.IntSelector"> + <summary> + Defines the number selector of the console window. </summary> - <param name="margin">The new margin of the header.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Header.RenderElementActions"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Placement"> <summary> - This method is used to render the header on the console. - </summary> - </member> - <member name="T:ConsoleAppVisuals.ElementList"> - <summary> - This class is used to display a ElementList of all the elements in the window. + The placement of the selector on the console. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.RoundedCorners"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Height"> <summary> - This property wether the corners of the ElementList are rounded. + The height of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.GetHeaders"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Width"> <summary> - This property returns the headers of the ElementList. + The width of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.GetLines"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Question"> <summary> - This property returns the lines of the ElementList. + The question to ask the user. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.Placement"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Min"> <summary> - This property returns the title of the ElementList. + The minimum value of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.Line"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Max"> <summary> - This property returns the line to display the ElementList on. + The maximum value of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.Height"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Start"> <summary> - This property returns the height of the ElementList. + The start value of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.Width"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Step"> <summary> - This property returns the width of the ElementList. + The step of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.Count"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.RoundedCorners"> <summary> - This property returns the number of lines in the ElementList. + Whether the corners of the selector are rounded. </summary> </member> - <member name="M:ConsoleAppVisuals.ElementList.#ctor(ConsoleAppVisuals.Placement,System.Boolean,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.#ctor(System.String,System.Int32,System.Int32,System.Int32,System.Int32,ConsoleAppVisuals.Enums.Placement,System.Boolean)"> <summary> - This constructor creates a new instance of the WindowElementsElementList class. + The constructor of the intSelector class. </summary> - <param name="placement">The placement of the ElementList.</param> - <param name="roundedCorners">If true, the corners of the ElementList will be rounded.</param> - <param name="line">The line to display the ElementList on.</param> + <param name="question">The question to ask the user.</param> + <param name="min">The minimum value of the selector.</param> + <param name="max">The maximum value of the selector.</param> + <param name="start">The start value of the selector.</param> + <param name="step">The step of the selector.</param> + <param name="placement">The placement of the selector on the console.</param> + <param name="roundedCorners">Whether the corners of the selector are rounded.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.ElementList.SetRoundedCorners(System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.UpdateQuestion(System.String)"> <summary> - Toggles the rounded corners of the element. + This method is used to update the question of the selector. </summary> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <param name="question">The question to ask the user.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.ElementList.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.UpdateMin(System.Int32)"> <summary> - This method displays the ElementList. + This method is used to update the minimum value of the selector. </summary> + <param name="min">The minimum value of the selector.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="T:ConsoleAppVisuals.ElementsDashboard"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.UpdateMax(System.Int32)"> <summary> - This class is used to display a dashboard of all the elements in the window. + This method is used to update the maximum value of the selector. </summary> + <param name="max">The maximum value of the selector.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.RoundedCorners"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.UpdateStart(System.Int32)"> <summary> - This property wether the corners of the dashboard are rounded. - </summary> - </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.GetHeaders"> - <summary> - This property returns the headers of the dashboard. - </summary> - </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.GetLines"> - <summary> - This property returns the lines of the dashboard. - </summary> - </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.Placement"> - <summary> - This property returns the title of the dashboard. - </summary> - </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.Line"> - <summary> - This property returns the line to display the dashboard on. - </summary> - </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.Height"> - <summary> - This property returns the height of the dashboard. + This method is used to update the start value of the selector. </summary> + <param name="start">The start value of the selector.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.Width"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.UpdateStep(System.Int32)"> <summary> - This property returns the width of the dashboard. + This method is used to update the step of the selector. </summary> + <param name="step">The step of the selector.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.Count"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - This property returns the number of lines in the dashboard. + This method is used to update the placement of the selector. </summary> + <param name="placement">The placement of the selector on the console.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.ElementsDashboard.#ctor(ConsoleAppVisuals.Placement,System.Boolean,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.SetRoundedCorners(System.Boolean)"> <summary> - This constructor creates a new instance of the WindowElementsDashboard class. + This method is used to update the rounded corners of the selector. </summary> - <param name="placement">The placement of the dashboard.</param> - <param name="roundedCorners">If true, the corners of the dashboard will be rounded.</param> - <param name="line">The line to display the dashboard on.</param> + <param name="roundedCorners">Whether the corners of the selector are rounded.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.ElementsDashboard.SetRoundedCorners(System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.RenderElementActions"> <summary> - Toggles the rounded corners of the element. + This method is used to draw the selector on the console. </summary> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> </member> - <member name="M:ConsoleAppVisuals.ElementsDashboard.RenderElementActions"> + <member name="T:ConsoleAppVisuals.Elements.Prompt"> <summary> - This method displays the dashboard. + Defines the prompt element of the console window. </summary> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="T:ConsoleAppVisuals.InteractiveList"> + <member name="P:ConsoleAppVisuals.Elements.Prompt.Placement"> <summary> - This class is used to display a InteractiveList of all the elements in the window. + The placement of the prompt element. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.RoundedCorners"> + <member name="P:ConsoleAppVisuals.Elements.Prompt.Height"> <summary> - This property wether the corners of the InteractiveList are rounded. + The height of the prompt element. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.GetHeaders"> + <member name="P:ConsoleAppVisuals.Elements.Prompt.Width"> <summary> - This property returns the headers of the InteractiveList. + The width of the prompt element. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.GetLines"> + <member name="P:ConsoleAppVisuals.Elements.Prompt.Question"> <summary> - This property returns the lines of the InteractiveList. + The question of the prompt element. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.Placement"> + <member name="P:ConsoleAppVisuals.Elements.Prompt.DefaultValue"> <summary> - This property returns the title of the InteractiveList. + The default value of the response. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.Line"> + <member name="P:ConsoleAppVisuals.Elements.Prompt.MaxLength"> <summary> - This property returns the line to display the InteractiveList on. + The maximum length of the response. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.Height"> + <member name="M:ConsoleAppVisuals.Elements.Prompt.#ctor(System.String,System.String,ConsoleAppVisuals.Enums.Placement,System.Int32)"> <summary> - This property returns the height of the InteractiveList. + The natural constructor of the prompt element. </summary> + <param name="question">The text on the left of the prompt element.</param> + <param name="defaultValue">The text in the center of the prompt element.</param> + <param name="placement">The placement of the prompt element.</param> + <param name="maxLength">The maximum length of the response.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.Width"> + <member name="M:ConsoleAppVisuals.Elements.Prompt.UpdateQuestion(System.String)"> <summary> - This property returns the width of the InteractiveList. + This method is used to update the question of the prompt element. </summary> + <param name="question">The new question of the prompt element.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.Count"> + <member name="M:ConsoleAppVisuals.Elements.Prompt.UpdateDefaultValue(System.String)"> <summary> - This property returns the number of lines in the InteractiveList. + This method is used to update the default value of the prompt element. </summary> + <param name="defaultValue">The new default value of the prompt element.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.InteractiveList.#ctor(ConsoleAppVisuals.Placement,System.Boolean,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.Prompt.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - This constructor creates a new instance of the WindowElementsInteractiveList class. + This method is used to update the placement of the prompt element. </summary> - <param name="placement">The placement of the InteractiveList.</param> - <param name="roundedCorners">If true, the corners of the InteractiveList will be rounded.</param> - <param name="line">The line to display the InteractiveList on.</param> + <param name="placement">The new placement of the prompt element.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.InteractiveList.SetRoundedCorners(System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.Prompt.UpdateMaxLength(System.Int32)"> <summary> - Toggles the rounded corners of the element. + This method is used to update the maximum length of the response. </summary> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <param name="maxLength">The new maximum length of the response.</param> + <exception cref="T:System.ArgumentOutOfRangeException">The maximum length of the response must be greater than 0 and less than the width of the console window.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.InteractiveList.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.Prompt.RenderElementActions"> <summary> - This method displays the InteractiveList. + This method is used to render the prompt element on the console. </summary> </member> - <member name="T:ConsoleAppVisuals.EmbedText"> + <member name="T:ConsoleAppVisuals.Elements.ScrollingMenu"> <summary> - Defines the basic properties of an Embed text. + Defines the scrolling menu the console window. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.EmbedText.Placement"> - <summary> - The position of the Embed text. - </summary> - </member> - <member name="P:ConsoleAppVisuals.EmbedText.Line"> + <member name="P:ConsoleAppVisuals.Elements.ScrollingMenu.Placement"> <summary> - The Line of the Embed text. + The placement of the menu on the console. </summary> </member> - <member name="P:ConsoleAppVisuals.EmbedText.Height"> + <member name="P:ConsoleAppVisuals.Elements.ScrollingMenu.Height"> <summary> - The height of the Embed text. + The height of the menu. </summary> </member> - <member name="P:ConsoleAppVisuals.EmbedText.Width"> + <member name="P:ConsoleAppVisuals.Elements.ScrollingMenu.Width"> <summary> - The width of the Embed text. + The width of the menu. </summary> </member> - <member name="P:ConsoleAppVisuals.EmbedText.Text"> + <member name="P:ConsoleAppVisuals.Elements.ScrollingMenu.Question"> <summary> - The text of the Embed text. + The question to ask the user. </summary> </member> - <member name="P:ConsoleAppVisuals.EmbedText.ButtonText"> + <member name="P:ConsoleAppVisuals.Elements.ScrollingMenu.Choices"> <summary> - The text of the button. + The different choices of the menu. </summary> </member> - <member name="P:ConsoleAppVisuals.EmbedText.TextToDisplay"> + <member name="P:ConsoleAppVisuals.Elements.ScrollingMenu.DefaultIndex"> <summary> - The text to display. + The index of the default choice(initially 0). </summary> </member> - <member name="M:ConsoleAppVisuals.EmbedText.#ctor(System.Collections.Generic.List{System.String},System.String,ConsoleAppVisuals.TextAlignment,ConsoleAppVisuals.Placement,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.ScrollingMenu.#ctor(System.String,System.Int32,ConsoleAppVisuals.Enums.Placement,System.String[])"> <summary> - The natural constructor of the Embed text. + The constructor of the ScrollingMenu class. </summary> - <param name="text">The text to display.</param> - <param name="button">The text of the button.</param> - <param name="align">The alignment of the Embed text.</param> - <param name="placement">The placement of the Embed text element.</param> - <param name="line">The line of the Embed text.</param> + <param name="question">The question to ask the user.</param> + <param name="defaultIndex">The index of the default choice(initially 0).</param> + <param name="placement">The placement of the menu on the console.</param> + <param name="choices">The different choices of the menu.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.EmbedText.AddLine(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.ScrollingMenu.UpdateQuestion(System.String)"> <summary> - Adds a line to the Embed text. + This method is used to update the question of the menu. </summary> - <param name="line">The line to add.</param> + <param name="question">The new question of the menu.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.EmbedText.InsertLine(System.String,System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.ScrollingMenu.UpdateChoices(System.String[])"> <summary> - Inserts a line to the Embed text. + This method is used to update the choices of the menu. </summary> - <param name="line">The line to insert.</param> - <param name="index">The index where to insert the line.</param> + <param name="choices">The new choices of the menu.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.EmbedText.RemoveLine(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.ScrollingMenu.UpdateDefaultIndex(System.Int32)"> <summary> - Removes a line from the Embed text. + This method is used to update the default index of the menu. </summary> - <param name="line">The line to remove.</param> + <param name="defaultIndex">The new default index of the menu.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.EmbedText.RemoveLine(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.ScrollingMenu.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - Removes a line from the Embed text. + This method is used to update the placement of the menu. </summary> - <param name="index">The index of the line to remove.</param> + <param name="placement">The new placement of the menu.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.EmbedText.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.ScrollingMenu.RenderElementActions"> <summary> - Renders the Embed text. + This method is used to draw the menu on the console. </summary> </member> - <member name="T:ConsoleAppVisuals.FloatSelector"> + <member name="T:ConsoleAppVisuals.Elements.TableSelector`1"> <summary> - Defines the number selector of the console window. + The <see cref="T:ConsoleAppVisuals.Elements.TableSelector`1"/> class that contains the methods to create a table and display it. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Placement"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.Placement"> <summary> - The placement of the selector on the console. + This property returns the title of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Line"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.Height"> <summary> - The line where the selector will be displayed. + This property returns the height of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Height"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.Width"> <summary> - The height of the selector. + This property returns the width of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Width"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.Title"> <summary> - The width of the selector. + This property returns the title of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Question"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.ExcludeHeader"> <summary> - The question to ask the user. + This property returns if the header is excluded. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Min"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.ExcludeFooter"> <summary> - The minimum value of the selector. + This property returns if the footer is excluded. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Max"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.FooterText"> <summary> - The maximum value of the selector. + This property returns the text of the footer. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Start"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.RoundedCorners"> <summary> - The start value of the selector. + This property returns if the corners are rounded. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Step"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.GetCorners"> <summary> - The step of the selector. + This property returns the corners of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.RoundedCorners"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.GetRawHeaders"> <summary> - Whether the corners of the selector are rounded. + This property returns the headers of the table. </summary> </member> - <member name="M:ConsoleAppVisuals.FloatSelector.#ctor(System.String,System.Single,System.Single,System.Single,System.Single,ConsoleAppVisuals.Placement,System.Nullable{System.Int32},System.Boolean)"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.GetRawLines"> <summary> - The constructor of the FloatSelector class. + This property returns the lines of the table. </summary> - <param name="question">The question to ask the user.</param> - <param name="min">The minimum value of the selector.</param> - <param name="max">The maximum value of the selector.</param> - <param name="start">The start value of the selector.</param> - <param name="step">The step of the selector.</param> - <param name="placement">The placement of the selector on the console.</param> - <param name="line">The line where the selector will be displayed.</param> - <param name="roundedCorners">Whether the corners of the selector are rounded.</param> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.FloatSelector.RenderElementActions"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.Count"> <summary> - This method is used to draw the selector on the console. + This property returns the number of lines in the table. </summary> </member> - <member name="T:ConsoleAppVisuals.IntSelector"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.DisplayArray"> <summary> - Defines the number selector of the console window. + This property returns the display array of the table. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.#ctor(System.String,System.Collections.Generic.List{System.String},System.Collections.Generic.List{System.Collections.Generic.List{`0}},System.Boolean,System.Boolean,System.String,ConsoleAppVisuals.Enums.Placement)"> + <summary> + The <see cref="T:ConsoleAppVisuals.Elements.TableSelector`1"/> natural constructor. </summary> + <param name="title">The title of the table.</param> + <param name="lines">The lines of the table.</param> + <param name="headers">The headers of the table.</param> + <param name="excludeHeader">Whether to exclude the header from selectable elements.</param> + <param name="excludeFooter">Whether to exclude the footer from selectable elements.</param> + <param name="footerText">The text to display in the footer.</param> + <param name="placement">The placement of the table.</param> + <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> + <exception cref="T:System.NullReferenceException">Is thrown when no body lines were provided.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.IntSelector.Placement"> - <summary> - The placement of the selector on the console. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Line"> - <summary> - The line where the selector will be displayed. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Height"> - <summary> - The height of the selector. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Width"> - <summary> - The width of the selector. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Question"> - <summary> - The question to ask the user. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Min"> - <summary> - The minimum value of the selector. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Max"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - The maximum value of the selector. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Start"> - <summary> - The start value of the selector. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Step"> - <summary> - The step of the selector. + This method updates the placement of the table. </summary> + <param name="placement">The placement of the table.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.IntSelector.RoundedCorners"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.UpdateFooterText(System.String)"> <summary> - Whether the corners of the selector are rounded. + This method updates the text of the footer. </summary> + <param name="footerText"></param> </member> - <member name="M:ConsoleAppVisuals.IntSelector.#ctor(System.String,System.Int32,System.Int32,System.Int32,System.Int32,ConsoleAppVisuals.Placement,System.Nullable{System.Int32},System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.SetExcludeHeader(System.Boolean)"> <summary> - The constructor of the intSelector class. + This method sets the table to exclude the header. </summary> - <param name="question">The question to ask the user.</param> - <param name="min">The minimum value of the selector.</param> - <param name="max">The maximum value of the selector.</param> - <param name="start">The start value of the selector.</param> - <param name="step">The step of the selector.</param> - <param name="placement">The placement of the selector on the console.</param> - <param name="line">The line where the selector will be displayed.</param> - <param name="roundedCorners">Whether the corners of the selector are rounded.</param> + <param name="excludeHeader">Whether to exclude the header or not.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.IntSelector.RenderElementActions"> - <summary> - This method is used to draw the selector on the console. - </summary> - </member> - <member name="T:ConsoleAppVisuals.Prompt"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.SetExcludeFooter(System.Boolean)"> <summary> - Defines the prompt element of the console window. + This method sets the table to exclude the footer. </summary> + <param name="excludeFooter">Whether to exclude the footer or not.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Prompt.Placement"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.AddHeaders(System.Collections.Generic.List{System.String})"> <summary> - The placement of the prompt element. + This method adds headers to the table. </summary> + <param name="headers">The headers to add.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.Prompt.Line"> - <summary> - The line of the prompt element in the console. - </summary> - <remarks>We add 2 because so the prompt element does not overlap with the title.</remarks> - </member> - <member name="P:ConsoleAppVisuals.Prompt.Height"> - <summary> - The height of the prompt element. - </summary> - </member> - <member name="P:ConsoleAppVisuals.Prompt.Width"> - <summary> - The width of the prompt element. - </summary> - <remarks>We add a margin of 2 to be sur to take in account odd question lengths.</remarks> - </member> - <member name="M:ConsoleAppVisuals.Prompt.#ctor(System.String,System.String,ConsoleAppVisuals.Placement,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.UpdateHeaders(System.Collections.Generic.List{System.String})"> <summary> - The natural constructor of the prompt element. + This method updates the headers of the table. </summary> - <param name="question">The text on the left of the prompt element.</param> - <param name="defaultValue">The text in the center of the prompt element.</param> - <param name="placement">The placement of the prompt element.</param> - <param name="line">The line of the prompt element in the console.</param> + <param name="headers">The headers to update.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Prompt.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.AddTitle(System.String)"> <summary> - This method is used to render the prompt element on the console. + This method adds a title to the table. </summary> + <param name="title">The title to add.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="T:ConsoleAppVisuals.ScrollingMenu"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.UpdateTitle(System.String)"> <summary> - Defines the scrolling menu the console window. + This method updates the title of the table. </summary> + <param name="title">The title to update.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.Placement"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.SetRoundedCorners(System.Boolean)"> <summary> - The placement of the menu on the console. + Toggles the rounded corners of the table. </summary> + <param name="rounded">Whether to round the corners or not.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.Line"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.GetLine(System.Int32)"> <summary> - The line where the menu will be displayed. + This property returns the specified line in the table. </summary> + <param name="index">The index of the line to return.</param> + <returns>The line at the specified index.</returns> + <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.Height"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.GetColumnData(System.Int32)"> <summary> - The height of the menu. + This method is used to get all the elements from a column given its index. </summary> + <param name="index">The index of the column.</param> + <returns>The elements of the column.</returns> + <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.Width"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.GetColumnData(System.String)"> <summary> - The width of the menu. + This method is used to get all the elements from a column given its header. </summary> + <param name="header">The header of the column.</param> + <returns>The elements of the column.</returns> + <exception cref="T:System.ArgumentException">Is thrown when the header is invalid.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.Question"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.AddLine(System.Collections.Generic.List{`0})"> <summary> - The question to ask the user. + This method adds a line to the table. </summary> + <param name="line">The line to add.</param> + <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.Choices"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.RemoveLine(System.Int32)"> <summary> - The different choices of the menu. + This method removes a line from the table. </summary> + <param name="index">The index of the line to remove.</param> + <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.DefaultIndex"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.UpdateLine(System.Int32,System.Collections.Generic.List{`0})"> <summary> - The index of the default choice(initially 0). + This method updates a line in the table. </summary> + <param name="index">The index of the line to update.</param> + <param name="line">The new line.</param> + <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> + <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.ScrollingMenu.#ctor(System.String,System.Int32,ConsoleAppVisuals.Placement,System.Nullable{System.Int32},System.String[])"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.ClearHeaders"> <summary> - The constructor of the ScrollingMenu class. + This method clears the headers of the table. </summary> - <param name="question">The question to ask the user.</param> - <param name="defaultIndex">The index of the default choice(initially 0).</param> - <param name="placement">The placement of the menu on the console.</param> - <param name="line">The line where the menu will be displayed.</param> - <param name="choices">The different choices of the menu.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.ScrollingMenu.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.ClearLines"> <summary> - This method is used to draw the menu on the console. + This method clears the lines of the table. </summary> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="T:ConsoleAppVisuals.TableSelector`1"> - <summary> - The <see cref="T:ConsoleAppVisuals.TableSelector`1"/> class that contains the methods to create a table and display it. - </summary> - - </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.Placement"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.Reset"> <summary> - This property returns the title of the table. + This method clears the table. </summary> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.Line"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.RenderElementActions"> <summary> - This property returns the line to display the table on. + This method displays the table without interaction. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.Height"> + <member name="T:ConsoleAppVisuals.Elements.Banner"> <summary> - This property returns the height of the table. + Defines the banner of the console window. </summary> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.Width"> + <member name="P:ConsoleAppVisuals.Elements.Banner.Placement"> <summary> - This property returns the width of the table. + The placement of the banner. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.Title"> + <member name="P:ConsoleAppVisuals.Elements.Banner.Height"> <summary> - This property returns the title of the table. + The height of the banner. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.ExcludeHeader"> + <member name="P:ConsoleAppVisuals.Elements.Banner.Width"> <summary> - This property returns if the header is excluded. + The width of the banner. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.ExcludeFooter"> + <member name="P:ConsoleAppVisuals.Elements.Banner.Text"> <summary> - This property returns if the footer is excluded. + The text of the banner. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.FooterText"> + <member name="P:ConsoleAppVisuals.Elements.Banner.UpperMargin"> <summary> - This property returns the text of the footer. + The upper margin of the banner. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.RoundedCorners"> + <member name="P:ConsoleAppVisuals.Elements.Banner.LowerMargin"> <summary> - This property returns if the corners are rounded. + The lower margin of the banner. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.GetCorners"> + <member name="M:ConsoleAppVisuals.Elements.Banner.#ctor(System.String,System.String,System.String,System.Int32,System.Int32,ConsoleAppVisuals.Enums.Placement)"> <summary> - This property returns the corners of the table. + The natural constructor of the banner. </summary> + <param name="leftText">The text on the left of the banner.</param> + <param name="centerText">The text in the center of the banner.</param> + <param name="rightText">The text on the right of the banner.</param> + <param name="upperMargin">The upper margin of the banner.</param> + <param name="lowerMargin">The lower margin of the banner.</param> + <param name="placement">The placement of the banner.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.GetRawHeaders"> + <member name="M:ConsoleAppVisuals.Elements.Banner.UpdateLeftText(System.String)"> <summary> - This property returns the headers of the table. + This method is used to update the text on the left of the banner. </summary> + <param name="leftText">The new text on the left of the banner.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.GetRawLines"> + <member name="M:ConsoleAppVisuals.Elements.Banner.UpdateCenterText(System.String)"> <summary> - This property returns the lines of the table. + This method is used to update the text in the center of the banner. </summary> + <param name="centerText">The new text in the center of the banner.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.Count"> + <member name="M:ConsoleAppVisuals.Elements.Banner.UpdateRightText(System.String)"> <summary> - This property returns the number of lines in the table. + This method is used to update the text on the right of the banner. </summary> + <param name="rightText">The new text on the right of the banner.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.DisplayArray"> + <member name="M:ConsoleAppVisuals.Elements.Banner.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - This property returns the display array of the table. + This method is used to update the placement of the banner. </summary> + <param name="placement">The new placement of the banner.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.#ctor(System.String,System.Collections.Generic.List{System.String},System.Collections.Generic.List{System.Collections.Generic.List{`0}},System.Boolean,System.Boolean,System.String,ConsoleAppVisuals.Placement,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.Banner.UpdateUpperMargin(System.Int32)"> <summary> - The <see cref="T:ConsoleAppVisuals.TableSelector`1"/> natural constructor. + This method is used to update the upper margin of the banner. </summary> - <param name="title">The title of the table.</param> - <param name="lines">The lines of the table.</param> - <param name="headers">The headers of the table.</param> - <param name="excludeHeader">Whether to exclude the header from selectable elements.</param> - <param name="excludeFooter">Whether to exclude the footer from selectable elements.</param> - <param name="footerText">The text to display in the footer.</param> - <param name="placement">The placement of the table.</param> - <param name="line">The line to display the table on.</param> - <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> - <exception cref="T:System.NullReferenceException">Is thrown when no body lines were provided.</exception> + <param name="upperMargin">The new upper margin of the banner.</param> + <exception cref="T:System.ArgumentOutOfRangeException">The upper margin of the banner must be between 0 and the height of the console window.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.AddHeaders(System.Collections.Generic.List{System.String})"> + <member name="M:ConsoleAppVisuals.Elements.Banner.UpdateLowerMargin(System.Int32)"> <summary> - This method adds headers to the table. + This method is used to update the lower margin of the banner. </summary> - <param name="headers">The headers to add.</param> + <param name="lowerMargin">The new lower margin of the banner.</param> + <exception cref="T:System.ArgumentOutOfRangeException">The lower margin of the banner must be between 0 and the height of the console window.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.UpdateHeaders(System.Collections.Generic.List{System.String})"> + <member name="M:ConsoleAppVisuals.Elements.Banner.RenderElementActions"> <summary> - This method updates the headers of the table. + This method is used to render the banner on the console. + </summary> + </member> + <member name="T:ConsoleAppVisuals.Elements.FakeLoadingBar"> + <summary> + Defines the loading bar of the console window. </summary> - <param name="headers">The headers to update.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.AddTitle(System.String)"> + <member name="P:ConsoleAppVisuals.Elements.FakeLoadingBar.Height"> <summary> - This method adds a title to the table. + The height of the loading bar. </summary> - <param name="title">The title to add.</param> + <remarks>One line for the text,one line for the space between and one line for the progress.</remarks> + </member> + <member name="P:ConsoleAppVisuals.Elements.FakeLoadingBar.Width"> + <summary> + The width of the loading bar. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.FakeLoadingBar.Text"> + <summary> + The text of the loading bar. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.FakeLoadingBar.Placement"> + <summary> + The placement of the loading bar. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.FakeLoadingBar.ProcessDuration"> + <summary> + Getter of the duration of the loading bar. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.FakeLoadingBar.AdditionalDuration"> + <summary> + Getter of the additional duration of the loading bar at the end. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.FakeLoadingBar.#ctor(System.String,ConsoleAppVisuals.Enums.Placement,System.Int32,System.Int32)"> + <summary> + The natural constructor of the loading bar. + </summary> + <param name="text">The text of the loading bar.</param> + <param name="placement">The placement of the loading bar.</param> + <param name="processDuration">The duration of the loading bar.</param> + <param name="additionalDuration">The additional duration of the loading bar at the end.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.UpdateTitle(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.FakeLoadingBar.UpdateText(System.String)"> <summary> - This method updates the title of the table. + This method is used to update the text of the loading bar. </summary> - <param name="title">The title to update.</param> + <param name="text">The new text of the loading bar.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.SetRoundedCorners(System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.FakeLoadingBar.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - Toggles the rounded corners of the table. + This method is used to update the placement of the loading bar. + </summary> + <param name="placement">The new placement of the loading bar.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.FakeLoadingBar.UpdateAdditionalDuration(System.Int32)"> + <summary> + This method is used to update the additional duration of the loading bar. + </summary> + <param name="additionalDuration">The new additional duration of the loading bar.</param> + <exception cref="T:System.ArgumentOutOfRangeException">The additional duration of the loading bar cannot be negative.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.FakeLoadingBar.RenderElementActions"> + <summary> + This method is used to draw the loading bar on the console. + </summary> + </member> + <member name="T:ConsoleAppVisuals.Elements.Footer"> + <summary> + Defines the footer of the console window. + </summary> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="P:ConsoleAppVisuals.Elements.Footer.Placement"> + <summary> + The placement of the footer. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Footer.Height"> + <summary> + The height of the footer. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Footer.Width"> + <summary> + The width of the footer. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Footer.Text"> + <summary> + The text of the footer. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.Footer.#ctor(System.String,System.String,System.String)"> + <summary> + The natural constructor of the footer. + </summary> + <param name="leftText">The text on the left of the footer.</param> + <param name="centerText">The text in the center of the footer.</param> + <param name="rightText">The text on the right of the footer.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Footer.UpdateLeftText(System.String)"> + <summary> + This method is used to update the text on the left of the footer. + </summary> + <param name="leftText">The new text on the left of the footer.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Footer.UpdateCenterText(System.String)"> + <summary> + This method is used to update the text in the center of the footer. + </summary> + <param name="centerText">The new text in the center of the footer.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Footer.UpdateRightText(System.String)"> + <summary> + This method is used to update the text on the right of the footer. + </summary> + <param name="rightText">The new text on the right of the footer.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Footer.RenderElementActions"> + <summary> + This method is used to render the footer on the console. + </summary> + </member> + <member name="T:ConsoleAppVisuals.Elements.Header"> + <summary> + Defines the header of the console window. + </summary> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="P:ConsoleAppVisuals.Elements.Header.Placement"> + <summary> + The placement of the header. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Header.Height"> + <summary> + The height of the header. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Header.Width"> + <summary> + The width of the header. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Header.Text"> + <summary> + The text of the header. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Header.Margin"> + <summary> + The margin of the header. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.Header.#ctor(System.String,System.String,System.String,System.Int32)"> + <summary> + The natural constructor of the header. + </summary> + <param name="leftText">The text on the left of the header.</param> + <param name="centerText">The text in the center of the header.</param> + <param name="rightText">The text on the right of the header.</param> + <param name="margin">The margin of the header.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Header.UpdateLeftText(System.String)"> + <summary> + This method is used to update the text on the left of the header. + </summary> + <param name="leftText">The new text on the left of the header.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Header.UpdateCenterText(System.String)"> + <summary> + This method is used to update the text in the center of the header. + </summary> + <param name="centerText">The new text in the center of the header.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Header.UpdateRightText(System.String)"> + <summary> + This method is used to update the text on the right of the header. + </summary> + <param name="rightText">The new text on the right of the header.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Header.UpdateMargin(System.Int32)"> + <summary> + This method is used to update the margin of the header. + </summary> + <param name="margin">The new margin of the header.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Header.RenderElementActions"> + <summary> + This method is used to render the header on the console. + </summary> + </member> + <member name="T:ConsoleAppVisuals.Elements.ElementList"> + <summary> + This class is used to display a ElementList of all the elements in the window. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.RoundedCorners"> + <summary> + This property wether the corners of the ElementList are rounded. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Title"> + <summary> + This property returns the title of the ElementList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Headers"> + <summary> + This property returns the headers of the ElementList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Lines"> + <summary> + This property returns the lines of the ElementList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Placement"> + <summary> + This property returns the title of the ElementList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Height"> + <summary> + This property returns the height of the ElementList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Width"> + <summary> + This property returns the width of the ElementList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Count"> + <summary> + This property returns the number of lines in the ElementList. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementList.#ctor(ConsoleAppVisuals.Enums.Placement,System.Boolean)"> + <summary> + This constructor creates a new instance of the WindowElementsElementList class. + </summary> + <param name="placement">The placement of the ElementList.</param> + <param name="roundedCorners">If true, the corners of the ElementList will be rounded.</param> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementList.SetRoundedCorners(System.Boolean)"> + <summary> + Toggles the rounded corners of the element. + </summary> + <param name="rounded">If true, the corners of the ElementList will be rounded.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementList.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> + <summary> + This method adds a line to the ElementList. + </summary> + <param name="placement">The placement of the ElementList.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementList.RenderElementActions"> + <summary> + This method displays the ElementList. + </summary> + </member> + <member name="T:ConsoleAppVisuals.Elements.ElementsDashboard"> + <summary> + This class is used to display a dashboard of all the elements in the window. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.RoundedCorners"> + <summary> + This property wether the corners of the dashboard are rounded. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Title"> + <summary> + This property returns the title of the dashboard. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Headers"> + <summary> + This property returns the headers of the dashboard. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Lines"> + <summary> + This property returns the lines of the dashboard. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Placement"> + <summary> + This property returns the title of the dashboard. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Height"> + <summary> + This property returns the height of the dashboard. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Width"> + <summary> + This property returns the width of the dashboard. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Count"> + <summary> + This property returns the number of lines in the dashboard. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementsDashboard.#ctor(ConsoleAppVisuals.Enums.Placement,System.Boolean)"> + <summary> + This constructor creates a new instance of the WindowElementsDashboard class. + </summary> + <param name="placement">The placement of the dashboard.</param> + <param name="roundedCorners">If true, the corners of the dashboard will be rounded.</param> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementsDashboard.SetRoundedCorners(System.Boolean)"> + <summary> + Toggles the rounded corners of the element. + </summary> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementsDashboard.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> + <summary> + This method updates the placement of the dashboard. </summary> - <param name="rounded">Whether to round the corners or not.</param> + <param name="placement">The new placement of the dashboard.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.GetLine(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.ElementsDashboard.RenderElementActions"> <summary> - This property returns the specified line in the table. + This method displays the dashboard. </summary> - <param name="index">The index of the line to return.</param> - <returns>The line at the specified index.</returns> - <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.GetColumnData(System.Int32)"> + <member name="T:ConsoleAppVisuals.Elements.InteractiveList"> <summary> - This method is used to get all the elements from a column given its index. + This class is used to display a InteractiveList of all the elements in the window. </summary> - <param name="index">The index of the column.</param> - <returns>The elements of the column.</returns> - <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.GetColumnData(System.String)"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Title"> <summary> - This method is used to get all the elements from a column given its header. + This property returns the title of the InteractiveList. </summary> - <param name="header">The header of the column.</param> - <returns>The elements of the column.</returns> - <exception cref="T:System.ArgumentException">Is thrown when the header is invalid.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.AddLine(System.Collections.Generic.List{`0})"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Headers"> <summary> - This method adds a line to the table. + This property returns the headers of the dashboard. </summary> - <param name="line">The line to add.</param> - <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.RemoveLine(System.Int32)"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.RoundedCorners"> <summary> - This method removes a line from the table. + This property wether the corners of the InteractiveList are rounded. </summary> - <param name="index">The index of the line to remove.</param> - <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.UpdateLine(System.Int32,System.Collections.Generic.List{`0})"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Lines"> <summary> - This method updates a line in the table. + This property returns the lines of the InteractiveList. </summary> - <param name="index">The index of the line to update.</param> - <param name="line">The new line.</param> - <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> - <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.ClearHeaders"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Placement"> <summary> - This method clears the headers of the table. + This property returns the title of the InteractiveList. </summary> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.ClearLines"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Height"> <summary> - This method clears the lines of the table. + This property returns the line to display the InteractiveList on. + </summary> + <summary> + This property returns the height of the InteractiveList. </summary> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.Reset"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Width"> <summary> - This method clears the table. + This property returns the width of the InteractiveList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Count"> + <summary> + This property returns the number of lines in the InteractiveList. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.InteractiveList.#ctor(ConsoleAppVisuals.Enums.Placement,System.Boolean)"> + <summary> + This constructor creates a new instance of the WindowElementsInteractiveList class. + </summary> + <param name="placement">The placement of the InteractiveList.</param> + <param name="roundedCorners">If true, the corners of the InteractiveList will be rounded.</param> + </member> + <member name="M:ConsoleAppVisuals.Elements.InteractiveList.SetRoundedCorners(System.Boolean)"> + <summary> + Toggles the rounded corners of the element. + </summary> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.InteractiveList.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> + <summary> + This method updates the placement of the InteractiveList. </summary> + <param name="placement">The new placement of the InteractiveList.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.InteractiveList.RenderElementActions"> <summary> - This method displays the table without interaction. + This method displays the InteractiveList. </summary> </member> - <member name="T:ConsoleAppVisuals.LoadingBar"> + <member name="T:ConsoleAppVisuals.Elements.LoadingBar"> <summary> Defines the loading bar of the console window. </summary> @@ -1722,65 +2203,58 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.LoadingBar.Line"> - <summary> - The line of the loading bar in the console. - </summary> - <remarks>We add 2 because so the loading bar does not overlap with the title.</remarks> - </member> - <member name="P:ConsoleAppVisuals.LoadingBar.Height"> + <member name="P:ConsoleAppVisuals.Elements.LoadingBar.Height"> <summary> The height of the loading bar. </summary> <remarks>One line for the text,one line for the space between and one line for the progress.</remarks> </member> - <member name="P:ConsoleAppVisuals.LoadingBar.Width"> + <member name="P:ConsoleAppVisuals.Elements.LoadingBar.Width"> <summary> The width of the loading bar. </summary> </member> - <member name="P:ConsoleAppVisuals.LoadingBar.Placement"> + <member name="P:ConsoleAppVisuals.Elements.LoadingBar.Placement"> <summary> The placement of the loading bar. </summary> </member> - <member name="P:ConsoleAppVisuals.LoadingBar.Text"> + <member name="P:ConsoleAppVisuals.Elements.LoadingBar.Text"> <summary> Getters and setters of the text of the loading bar. </summary> </member> - <member name="P:ConsoleAppVisuals.LoadingBar.Progress"> + <member name="P:ConsoleAppVisuals.Elements.LoadingBar.Progress"> <summary> Getters and setters of the progress of the loading bar. </summary> </member> - <member name="P:ConsoleAppVisuals.LoadingBar.AdditionalDuration"> + <member name="P:ConsoleAppVisuals.Elements.LoadingBar.AdditionalDuration"> <summary> Getters of the additional duration of the loading bar at the end. </summary> </member> - <member name="M:ConsoleAppVisuals.LoadingBar.#ctor(System.String,System.Single@,ConsoleAppVisuals.Placement,System.Nullable{System.Int32},System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.LoadingBar.#ctor(System.String,System.Single@,ConsoleAppVisuals.Enums.Placement,System.Int32)"> <summary> The natural constructor of the loading bar. </summary> <param name="text">The text of the loading bar.</param> <param name="progress">The reference of the progress of the loading bar (that means that you should put a reference to a variable that will contain the percentage of progress of your process).</param> <param name="placement">The placement of the loading bar.</param> - <param name="line">The line of the loading bar.</param> <param name="additionalDuration">The duration of the loading bar after the process.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.LoadingBar.UpdateText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.LoadingBar.UpdateText(System.String)"> <summary> This method is used to update the text of the loading bar. </summary> @@ -1789,11 +2263,38 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.LoadingBar.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> + <summary> + This method is used to update the placement of the loading bar. + </summary> + <param name="placement">The new placement of the loading bar.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.LoadingBar.UpdateAdditionalDuration(System.Int32)"> + <summary> + This method is used to update the additional duration of the loading bar. + </summary> + <param name="additionalDuration">The new additional duration of the loading bar.</param> + <exception cref="T:System.ArgumentException">The additional duration of the loading bar cannot be negative.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.LoadingBar.UpdateProgress(System.Single)"> + <member name="M:ConsoleAppVisuals.Elements.LoadingBar.UpdateProgress(System.Single)"> <summary> This method is used to update the progress of the loading bar. </summary> @@ -1802,63 +2303,57 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.LoadingBar.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.LoadingBar.RenderElementActions"> <summary> This method is used to draw the loading bar on the console. </summary> </member> - <member name="T:ConsoleAppVisuals.Matrix`1"> + <member name="T:ConsoleAppVisuals.Elements.Matrix`1"> <summary> A matrix class for the console. </summary> </member> - <member name="P:ConsoleAppVisuals.Matrix`1.RoundedCorners"> + <member name="P:ConsoleAppVisuals.Elements.Matrix`1.RoundedCorners"> <summary> Gets the rounded corners boolean value of the matrix. </summary> </member> - <member name="P:ConsoleAppVisuals.Matrix`1.Count"> + <member name="P:ConsoleAppVisuals.Elements.Matrix`1.Count"> <summary> Gets the number of lines in the matrix. </summary> </member> - <member name="P:ConsoleAppVisuals.Matrix`1.Placement"> + <member name="P:ConsoleAppVisuals.Elements.Matrix`1.Placement"> <summary> Gets the placement of the matrix. </summary> </member> - <member name="P:ConsoleAppVisuals.Matrix`1.Height"> + <member name="P:ConsoleAppVisuals.Elements.Matrix`1.Height"> <summary> Gets the height of the matrix. </summary> </member> - <member name="P:ConsoleAppVisuals.Matrix`1.Width"> + <member name="P:ConsoleAppVisuals.Elements.Matrix`1.Width"> <summary> Gets the width of the matrix. </summary> </member> - <member name="P:ConsoleAppVisuals.Matrix`1.Line"> - <summary> - Gets the line of the matrix. - </summary> - </member> - <member name="M:ConsoleAppVisuals.Matrix`1.#ctor(System.Collections.Generic.List{System.Collections.Generic.List{`0}},System.Boolean,ConsoleAppVisuals.Placement,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.#ctor(System.Collections.Generic.List{System.Collections.Generic.List{`0}},System.Boolean,ConsoleAppVisuals.Enums.Placement)"> <summary> - The natural constructor of the <see cref="T:ConsoleAppVisuals.Matrix`1"/> class. + The natural constructor of the <see cref="T:ConsoleAppVisuals.Elements.Matrix`1"/> class. </summary> <param name="rawLines">The matrix to be used.</param> <param name="roundedCorners">Whether the matrix should have rounded corners or not.</param> <param name="placement">The placement of the matrix.</param> - <param name="line">The line of the matrix.</param> <exception cref="T:System.ArgumentException">Thrown when the matrix is empty or not compatible (lines are not of the same length).</exception> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.SetRoundedCorners(System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.SetRoundedCorners(System.Boolean)"> <summary> Toggles the rounded corners of the table. </summary> @@ -1866,11 +2361,24 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> + <summary> + This method is used to update the placement of the matrix. + </summary> + <param name="placement">The new placement of the matrix.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.GetItem(ConsoleAppVisuals.Position)"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.GetItem(ConsoleAppVisuals.Models.Position)"> <summary> Gets the element at the specified position. </summary> @@ -1881,11 +2389,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.AddLine(System.Collections.Generic.List{`0})"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.AddLine(System.Collections.Generic.List{`0})"> <summary> Adds a line to the matrix. </summary> @@ -1896,11 +2404,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.InsertLine(System.Int32,System.Collections.Generic.List{`0})"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.InsertLine(System.Int32,System.Collections.Generic.List{`0})"> <summary> Inserts a line at the specified index. </summary> @@ -1913,11 +2421,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.UpdateLine(System.Int32,System.Collections.Generic.List{`0})"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.UpdateLine(System.Int32,System.Collections.Generic.List{`0})"> <summary> Updates a line in the matrix. </summary> @@ -1930,11 +2438,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.UpdateItem(ConsoleAppVisuals.Position,`0)"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.UpdateItem(ConsoleAppVisuals.Models.Position,`0)"> <summary> Updates an element in the matrix. </summary> @@ -1946,11 +2454,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.RemoveLine(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.RemoveLine(System.Int32)"> <summary> Removes a line from the matrix. </summary> @@ -1961,11 +2469,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.RemoveItem(ConsoleAppVisuals.Position)"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.RemoveItem(ConsoleAppVisuals.Models.Position)"> <summary> Removes an element from the matrix. </summary> @@ -1976,11 +2484,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.RenderElementActions"> <summary> Writes the matrix instance to the console. </summary> @@ -1988,118 +2496,112 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="T:ConsoleAppVisuals.TableView`1"> + <member name="T:ConsoleAppVisuals.Elements.TableView`1"> <summary> - The <see cref="T:ConsoleAppVisuals.TableView`1"/> class that contains the methods to create a table and display it. + The <see cref="T:ConsoleAppVisuals.Elements.TableView`1"/> class that contains the methods to create a table and display it. </summary> </member> - <member name="P:ConsoleAppVisuals.TableView`1.GetRawHeaders"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.GetRawHeaders"> <summary> This property returns the headers of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.TableView`1.GetRawLines"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.GetRawLines"> <summary> This property returns the lines of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.TableView`1.Placement"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.Placement"> <summary> This property returns the title of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.TableView`1.Line"> - <summary> - This property returns the line to display the table on. - </summary> - </member> - <member name="P:ConsoleAppVisuals.TableView`1.Height"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.Height"> <summary> This property returns the height of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.TableView`1.Width"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.Width"> <summary> This property returns the width of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.TableView`1.MaxNumberOfThisElement"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.MaxNumberOfThisElement"> <summary> This property returns the maximum number of this element that can be displayed on the console. </summary> </member> - <member name="M:ConsoleAppVisuals.TableView`1.#ctor(System.String,System.Collections.Generic.List{System.String},System.Collections.Generic.List{System.Collections.Generic.List{`0}},System.Boolean,ConsoleAppVisuals.Placement,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.#ctor(System.String,System.Collections.Generic.List{System.String},System.Collections.Generic.List{System.Collections.Generic.List{`0}},System.Boolean,ConsoleAppVisuals.Enums.Placement)"> <summary> - The <see cref="T:ConsoleAppVisuals.TableView`1"/> natural constructor. + The <see cref="T:ConsoleAppVisuals.Elements.TableView`1"/> natural constructor. </summary> <param name="title">The title of the table.</param> <param name="headers">The headers of the table.</param> <param name="lines">The lines of the table.</param> <param name="roundedCorners">The rounded corners of the table.</param> <param name="placement">The placement of the table.</param> - <param name="line">The line to display the table on.</param> <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> <exception cref="T:System.NullReferenceException">Is thrown when no body lines were provided.</exception> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="P:ConsoleAppVisuals.TableView`1.Count"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.Count"> <summary> This property returns the number of lines in the table. </summary> </member> - <member name="M:ConsoleAppVisuals.TableView`1.SetRoundedCorners(System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.SetRoundedCorners(System.Boolean)"> <summary> Toggles the rounded corners of the table. </summary> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="M:ConsoleAppVisuals.TableView`1.AddTitle(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.AddTitle(System.String)"> <summary> This method adds a title to the table. </summary> <param name="title">The title to add.</param> </member> - <member name="M:ConsoleAppVisuals.TableView`1.UpdateTitle(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.UpdateTitle(System.String)"> <summary> This method updates the title of the table. </summary> <param name="title">The title to update.</param> </member> - <member name="M:ConsoleAppVisuals.TableView`1.ClearTitle"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.ClearTitle"> <summary> This method clears the title of the table. </summary> </member> - <member name="M:ConsoleAppVisuals.TableView`1.AddHeaders(System.Collections.Generic.List{System.String})"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.AddHeaders(System.Collections.Generic.List{System.String})"> <summary> This method adds headers to the table. </summary> <param name="headers">The headers to add.</param> </member> - <member name="M:ConsoleAppVisuals.TableView`1.UpdateHeaders(System.Collections.Generic.List{System.String})"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.UpdateHeaders(System.Collections.Generic.List{System.String})"> <summary> This method updates the headers of the table. </summary> <param name="headers">The headers to update.</param> </member> - <member name="M:ConsoleAppVisuals.TableView`1.ClearHeaders"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.ClearHeaders"> <summary> This method clears the headers of the table. </summary> </member> - <member name="M:ConsoleAppVisuals.TableView`1.AddLine(System.Collections.Generic.List{`0})"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.AddLine(System.Collections.Generic.List{`0})"> <summary> This method adds a line to the table. </summary> <param name="line">The line to add.</param> <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="M:ConsoleAppVisuals.TableView`1.UpdateLine(System.Int32,System.Collections.Generic.List{`0})"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.UpdateLine(System.Int32,System.Collections.Generic.List{`0})"> <summary> This method updates a line in the table. </summary> @@ -2107,31 +2609,31 @@ <param name="line">The new line.</param> <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="M:ConsoleAppVisuals.TableView`1.RemoveLine(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.RemoveLine(System.Int32)"> <summary> This method removes a line from the table. </summary> <param name="index">The index of the line to remove.</param> <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="M:ConsoleAppVisuals.TableView`1.ClearLines"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.ClearLines"> <summary> This method clears the lines of the table. </summary> </member> - <member name="M:ConsoleAppVisuals.TableView`1.GetLine(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.GetLine(System.Int32)"> <summary> This property returns the specified line in the table. </summary> <param name="index">The index of the line to return.</param> <returns>The line at the specified index.</returns> <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="M:ConsoleAppVisuals.TableView`1.GetColumnData(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.GetColumnData(System.Int32)"> <summary> This method is used to get all the elements from a column given its index. </summary> @@ -2139,7 +2641,7 @@ <returns>The elements of the column.</returns> <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> </member> - <member name="M:ConsoleAppVisuals.TableView`1.GetColumnData(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.GetColumnData(System.String)"> <summary> This method is used to get all the elements from a column given its header. </summary> @@ -2148,17 +2650,17 @@ <exception cref="T:System.InvalidOperationException">Is thrown when the table is empty.</exception> <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the header is invalid.</exception> </member> - <member name="M:ConsoleAppVisuals.TableView`1.Reset"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.Reset"> <summary> This method clears the table. </summary> </member> - <member name="M:ConsoleAppVisuals.TableView`1.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.RenderElementActions"> <summary> This method displays the table without interaction. </summary> </member> - <member name="T:ConsoleAppVisuals.Title"> + <member name="T:ConsoleAppVisuals.Elements.Title"> <summary> Defines the title of the console window. </summary> @@ -2166,31 +2668,36 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Title.StyledText"> - <summary> + <member name="P:ConsoleAppVisuals.Elements.Title.StyledText"> + <summary> - </summary> + </summary> </member> - <member name="P:ConsoleAppVisuals.Title.Placement"> + <member name="P:ConsoleAppVisuals.Elements.Title.Placement"> <summary> The placement of the title. </summary> </member> - <member name="P:ConsoleAppVisuals.Title.Height"> + <member name="P:ConsoleAppVisuals.Elements.Title.Height"> <summary> The height of the title. </summary> </member> - <member name="P:ConsoleAppVisuals.Title.Width"> + <member name="P:ConsoleAppVisuals.Elements.Title.Width"> <summary> The width of the title. </summary> </member> - <member name="M:ConsoleAppVisuals.Title.#ctor(System.String,System.Int32,System.Nullable{System.Int32},ConsoleAppVisuals.TextAlignment)"> + <member name="P:ConsoleAppVisuals.Elements.Title.Line"> + <summary> + The line of the title. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.Title.#ctor(System.String,System.Int32,System.Nullable{System.Int32},ConsoleAppVisuals.Enums.TextAlignment)"> <summary> The constructor of the title. </summary> @@ -2202,11 +2709,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Title.UpdateText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.Title.UpdateText(System.String)"> <summary> This method updates the text of the title. </summary> @@ -2215,51 +2722,79 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Title.UpdateMargin(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.Title.UpdateMargin(System.Int32)"> <summary> This method updates the margin of the title. </summary> <param name="margin">The new margin of the title.</param> + <exception cref="T:System.ArgumentOutOfRangeException">The margin must be between 0 and the half of the console height.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Title.UpdateWidth(System.Int32)"> + <summary> + This method updates the width of the title. + </summary> + <param name="width">The new width of the title.</param> + <exception cref="T:System.ArgumentOutOfRangeException">The width must be between 0 and the console width.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Title.UpdateAlignment(ConsoleAppVisuals.Enums.TextAlignment)"> + <summary> + This method updates the alignment of the title. + </summary> + <param name="align">The new alignment of the title.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Title.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.Title.RenderElementActions"> <summary> This method is used to draw the title on the console. </summary> </member> - <member name="T:ConsoleAppVisuals.Direction"> + <member name="T:ConsoleAppVisuals.Enums.Direction"> <summary> - The <see cref="T:ConsoleAppVisuals.Direction"/> enum defines the direction in some space. + The <see cref="T:ConsoleAppVisuals.Enums.Direction"/> enum defines the direction in some space. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="F:ConsoleAppVisuals.Direction.Up"> + <member name="F:ConsoleAppVisuals.Enums.Direction.Up"> <summary> The up direction. </summary> </member> - <member name="F:ConsoleAppVisuals.Direction.Down"> + <member name="F:ConsoleAppVisuals.Enums.Direction.Down"> <summary> The down direction. </summary> </member> - <member name="T:ConsoleAppVisuals.Output"> + <member name="T:ConsoleAppVisuals.Enums.Output"> <summary> Enum for the output of the scrolling menus. </summary> @@ -2267,96 +2802,96 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="F:ConsoleAppVisuals.Output.None"> + <member name="F:ConsoleAppVisuals.Enums.Output.None"> <summary> Default value. </summary> </member> - <member name="F:ConsoleAppVisuals.Output.Selected"> + <member name="F:ConsoleAppVisuals.Enums.Output.Selected"> <summary> Chose to validate the input. </summary> </member> - <member name="F:ConsoleAppVisuals.Output.Deleted"> + <member name="F:ConsoleAppVisuals.Enums.Output.Deleted"> <summary> Chose to delete an item. </summary> </member> - <member name="F:ConsoleAppVisuals.Output.Escaped"> + <member name="F:ConsoleAppVisuals.Enums.Output.Escaped"> <summary> Chose to exit the menu. </summary> </member> - <member name="T:ConsoleAppVisuals.Placement"> + <member name="T:ConsoleAppVisuals.Enums.Placement"> <summary> - The <see cref="T:ConsoleAppVisuals.Placement"/> enum defines the placement of a string in some space. + The <see cref="T:ConsoleAppVisuals.Enums.Placement"/> enum defines the placement of a string in some space. It could be another string or a console line. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="F:ConsoleAppVisuals.Placement.TopCenter"> + <member name="F:ConsoleAppVisuals.Enums.Placement.TopCenter"> <summary> The object is placed in the top center of the space. </summary> </member> - <member name="F:ConsoleAppVisuals.Placement.TopLeft"> + <member name="F:ConsoleAppVisuals.Enums.Placement.TopLeft"> <summary> The object is placed in the top left of the space. </summary> </member> - <member name="F:ConsoleAppVisuals.Placement.TopRight"> + <member name="F:ConsoleAppVisuals.Enums.Placement.TopRight"> <summary> The object is placed in the top right of the space. </summary> </member> - <member name="F:ConsoleAppVisuals.Placement.TopCenterFullWidth"> + <member name="F:ConsoleAppVisuals.Enums.Placement.TopCenterFullWidth"> <summary> The object is placed in the top center of the space and takes all the width. </summary> </member> - <member name="F:ConsoleAppVisuals.Placement.BottomCenterFullWidth"> + <member name="F:ConsoleAppVisuals.Enums.Placement.BottomCenterFullWidth"> <summary> The object is placed in the bottom center of the space and takes all the width. </summary> </member> - <member name="T:ConsoleAppVisuals.TextAlignment"> + <member name="T:ConsoleAppVisuals.Enums.TextAlignment"> <summary> - The <see cref="T:ConsoleAppVisuals.TextAlignment"/> enum defines the alignment of a string in the space. + The <see cref="T:ConsoleAppVisuals.Enums.TextAlignment"/> enum defines the alignment of a string in the space. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="F:ConsoleAppVisuals.TextAlignment.Center"> + <member name="F:ConsoleAppVisuals.Enums.TextAlignment.Center"> <summary> The string is placed in the center of the space. </summary> </member> - <member name="F:ConsoleAppVisuals.TextAlignment.Left"> + <member name="F:ConsoleAppVisuals.Enums.TextAlignment.Left"> <summary> The string is placed on the left of the space. </summary> </member> - <member name="F:ConsoleAppVisuals.TextAlignment.Right"> + <member name="F:ConsoleAppVisuals.Enums.TextAlignment.Right"> <summary> The string is placed on the right of the space. </summary> </member> - <member name="T:ConsoleAppVisuals.ElementNotFoundException"> + <member name="T:ConsoleAppVisuals.Errors.ElementNotFoundException"> <summary> Exception thrown when an element is not found in a collection. </summary> @@ -2364,44 +2899,29 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.ElementNotFoundException.#ctor"> + <member name="M:ConsoleAppVisuals.Errors.ElementNotFoundException.#ctor"> <summary> Default constructor. </summary> </member> - <member name="M:ConsoleAppVisuals.ElementNotFoundException.#ctor(System.String)"> + <member name="M:ConsoleAppVisuals.Errors.ElementNotFoundException.#ctor(System.String)"> <summary> Constructor with message. </summary> <param name="message">Message to be displayed.</param> </member> - <member name="M:ConsoleAppVisuals.ElementNotFoundException.#ctor(System.String,System.Exception)"> + <member name="M:ConsoleAppVisuals.Errors.ElementNotFoundException.#ctor(System.String,System.Exception)"> <summary> Constructor with message and inner exception. </summary> <param name="message">Message to be displayed.</param> <param name="inner">Inner exception.</param> </member> - <member name="M:ConsoleAppVisuals.ElementNotFoundException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> - <summary> - Serialization constructor. - </summary> - <param name="info">Serialization info.</param> - <param name="context">Streaming context.</param> - </member> - <member name="M:ConsoleAppVisuals.ElementNotFoundException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> - <summary> - Get object data for serialization. - </summary> - <param name="info">Serialization info.</param> - <param name="context">Streaming context.</param> - <exception cref="T:System.ArgumentNullException"></exception> - </member> - <member name="T:ConsoleAppVisuals.EmptyFileException"> + <member name="T:ConsoleAppVisuals.Errors.EmptyFileException"> <summary> Exception thrown when no data is found in a file. </summary> @@ -2409,44 +2929,29 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.EmptyFileException.#ctor"> + <member name="M:ConsoleAppVisuals.Errors.EmptyFileException.#ctor"> <summary> Default constructor. </summary> </member> - <member name="M:ConsoleAppVisuals.EmptyFileException.#ctor(System.String)"> + <member name="M:ConsoleAppVisuals.Errors.EmptyFileException.#ctor(System.String)"> <summary> Constructor with message. </summary> <param name="message">Message to be displayed.</param> </member> - <member name="M:ConsoleAppVisuals.EmptyFileException.#ctor(System.String,System.Exception)"> + <member name="M:ConsoleAppVisuals.Errors.EmptyFileException.#ctor(System.String,System.Exception)"> <summary> Constructor with message and inner exception. </summary> <param name="message">Message to be displayed.</param> <param name="inner">Inner exception.</param> </member> - <member name="M:ConsoleAppVisuals.EmptyFileException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> - <summary> - Serialization constructor. - </summary> - <param name="info">Serialization info.</param> - <param name="context">Streaming context.</param> - </member> - <member name="M:ConsoleAppVisuals.EmptyFileException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> - <summary> - Get object data for serialization. - </summary> - <param name="info">Serialization info.</param> - <param name="context">Streaming context.</param> - <exception cref="T:System.ArgumentNullException"></exception> - </member> - <member name="T:ConsoleAppVisuals.NotSupportedCharException"> + <member name="T:ConsoleAppVisuals.Errors.NotSupportedCharException"> <summary> Exception thrown when a character is not supported by the TextStyler class. </summary> @@ -2454,44 +2959,29 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.NotSupportedCharException.#ctor"> + <member name="M:ConsoleAppVisuals.Errors.NotSupportedCharException.#ctor"> <summary> Default constructor. </summary> </member> - <member name="M:ConsoleAppVisuals.NotSupportedCharException.#ctor(System.String)"> + <member name="M:ConsoleAppVisuals.Errors.NotSupportedCharException.#ctor(System.String)"> <summary> Constructor with message. </summary> <param name="message">Message to be displayed.</param> </member> - <member name="M:ConsoleAppVisuals.NotSupportedCharException.#ctor(System.String,System.Exception)"> + <member name="M:ConsoleAppVisuals.Errors.NotSupportedCharException.#ctor(System.String,System.Exception)"> <summary> Constructor with message and inner exception. </summary> <param name="message">Message to be displayed.</param> <param name="inner">Inner exception.</param> </member> - <member name="M:ConsoleAppVisuals.NotSupportedCharException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> - <summary> - Serialization constructor. - </summary> - <param name="info">Serialization info.</param> - <param name="context">Streaming context.</param> - </member> - <member name="M:ConsoleAppVisuals.NotSupportedCharException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> - <summary> - Get object data for serialization. - </summary> - <param name="info">Serialization info.</param> - <param name="context">Streaming context.</param> - <exception cref="T:System.ArgumentNullException"></exception> - </member> - <member name="T:ConsoleAppVisuals.Element"> + <member name="T:ConsoleAppVisuals.Models.Element"> <summary> Defines the basic properties of an console element. </summary> @@ -2499,69 +2989,68 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Element.Id"> + <member name="P:ConsoleAppVisuals.Models.Element.Id"> <summary> The id number of the element. </summary> <remarks>This property is sealed. The ID of an element is automatically generated and managed by the <see cref="T:ConsoleAppVisuals.Window"/> class.</remarks> </member> - <member name="P:ConsoleAppVisuals.Element.Visibility"> + <member name="P:ConsoleAppVisuals.Models.Element.Visibility"> <summary> The visibility of the element. </summary> - <remarks>This property is sealed. The visibility of an element is managed by the <see cref="M:ConsoleAppVisuals.Element.ToggleVisibility"/> method.</remarks> + <remarks>This property is sealed. The visibility of an element is managed by the <see cref="M:ConsoleAppVisuals.Models.Element.ToggleVisibility"/> method.</remarks> </member> - <member name="P:ConsoleAppVisuals.Element.Placement"> + <member name="P:ConsoleAppVisuals.Models.Element.Placement"> <summary> The placement of the element. </summary> </member> - <member name="P:ConsoleAppVisuals.Element.TextAlignment"> + <member name="P:ConsoleAppVisuals.Models.Element.TextAlignment"> <summary> The text alignment of the text of the element. </summary> </member> - <member name="P:ConsoleAppVisuals.Element.IsInteractive"> + <member name="P:ConsoleAppVisuals.Models.Element.IsInteractive"> <summary> Whether the element is executable or not. </summary> </member> - <member name="P:ConsoleAppVisuals.Element.Line"> + <member name="P:ConsoleAppVisuals.Models.Element.Line"> <summary> The line of the element in the console. </summary> - <remarks>This property is marked as virtual. It is recommended to override this property in derived classes to make it more specific.</remarks> </member> - <member name="P:ConsoleAppVisuals.Element.Height"> + <member name="P:ConsoleAppVisuals.Models.Element.Height"> <summary> The height of the element. </summary> <remarks>This property is marked as virtual. It is recommended to override this property in derived classes to make it more specific.</remarks> </member> - <member name="P:ConsoleAppVisuals.Element.Width"> + <member name="P:ConsoleAppVisuals.Models.Element.Width"> <summary> The width of the element. </summary> <remarks>This property is marked as virtual. It is recommended to override this property in derived classes to make it more specific.</remarks> </member> - <member name="P:ConsoleAppVisuals.Element.MaxNumberOfThisElement"> + <member name="P:ConsoleAppVisuals.Models.Element.MaxNumberOfThisElement"> <summary> The maximum number of this element that can be drawn on the console. </summary> <remarks>This property is marked as virtual. It is recommended to override this property in derived classes to make it more specific.</remarks> </member> - <member name="M:ConsoleAppVisuals.Element.ToggleVisibility"> + <member name="M:ConsoleAppVisuals.Models.Element.ToggleVisibility"> <summary> This method is used to toggle the visibility of the element.This method is used to toggle the visibility of the element. If the maximum number of this element is reached, an exception is thrown. </summary> <exception cref="T:System.InvalidOperationException">Thrown when the maximum number of this element is reached.</exception> <remarks>This method is effectively sealed. The only way to change the visibility of an element is to use this method.</remarks> </member> - <member name="M:ConsoleAppVisuals.Element.RenderElement"> + <member name="M:ConsoleAppVisuals.Models.Element.RenderElement"> <summary> This method is used to draw the element on the console. </summary> @@ -2569,27 +3058,27 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Element.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Models.Element.RenderElementActions"> <summary> This method is used to define the actions to perform when the element is drawn on the console. </summary> <remarks>This method is marked as virtual. It is recommended to override this method in derived classes to make it more specific.</remarks> </member> - <member name="M:ConsoleAppVisuals.Element.RenderOptionsBeforeHand"> + <member name="M:ConsoleAppVisuals.Models.Element.RenderOptionsBeforeHand"> <summary> This method is used to set options before drawing the element on the console. </summary> </member> - <member name="M:ConsoleAppVisuals.Element.RenderOptionsAfterHand"> + <member name="M:ConsoleAppVisuals.Models.Element.RenderOptionsAfterHand"> <summary> This method is used to set options after drawing the element on the console. </summary> </member> - <member name="M:ConsoleAppVisuals.Element.RenderElementSpace"> + <member name="M:ConsoleAppVisuals.Models.Element.RenderElementSpace"> <summary> This method is used to draw the space taken by the element on the console. </summary> @@ -2597,45 +3086,45 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Element.GetRenderSpace"> + <member name="M:ConsoleAppVisuals.Models.Element.GetRenderSpace"> <summary> This method is used to simulate the drawing space of the element on the console. </summary> <returns>The space taken by the element.</returns> <remarks>This method is marked as virtual. It is recommended to override this method in derived classes to make it more specific.</remarks> </member> - <member name="M:ConsoleAppVisuals.Element.Clear"> + <member name="M:ConsoleAppVisuals.Models.Element.Clear"> <summary> This method is used to clear the space taken by the element on the console. </summary> </member> - <member name="T:ConsoleAppVisuals.FontYamlFile"> + <member name="T:ConsoleAppVisuals.Models.FontYamlFile"> <summary> - The <see cref="T:ConsoleAppVisuals.FontYamlFile"/> class defines the structure of a yaml file used to store the height of each character of a font. + The <see cref="T:ConsoleAppVisuals.Models.FontYamlFile"/> class defines the structure of a yaml file used to store the height of each character of a font. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.FontYamlFile.Name"> + <member name="P:ConsoleAppVisuals.Models.FontYamlFile.Name"> <summary> The name of the font. </summary> </member> - <member name="P:ConsoleAppVisuals.FontYamlFile.Chars"> + <member name="P:ConsoleAppVisuals.Models.FontYamlFile.Chars"> <summary> The height of the elements of the font. </summary> </member> - <member name="T:ConsoleAppVisuals.InteractionEventArgs`1"> + <member name="T:ConsoleAppVisuals.Models.InteractionEventArgs`1"> <summary> This class contains the arguments of the ScrollingMenuSelected event. </summary> @@ -2643,29 +3132,29 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.InteractionEventArgs`1.Status"> + <member name="P:ConsoleAppVisuals.Models.InteractionEventArgs`1.Status"> <summary> The status after exiting the interactive element. </summary> <value>Output.Escaped : pressed escape, Output.Deleted : pressed backspace, Output.Selected : pressed enter, Output.None : default value</value> </member> - <member name="P:ConsoleAppVisuals.InteractionEventArgs`1.Value"> + <member name="P:ConsoleAppVisuals.Models.InteractionEventArgs`1.Value"> <summary> The value of the response after exiting the interactive element. </summary> </member> - <member name="M:ConsoleAppVisuals.InteractionEventArgs`1.#ctor(ConsoleAppVisuals.Output,`0)"> + <member name="M:ConsoleAppVisuals.Models.InteractionEventArgs`1.#ctor(ConsoleAppVisuals.Enums.Output,`0)"> <summary> This constructor initializes the InteractionEventArgs class. </summary> <param name="status">The status of the exit from the menu.</param> <param name="value">The value of the response after exiting the interactive element.</param> </member> - <member name="T:ConsoleAppVisuals.InteractiveElement`1"> + <member name="T:ConsoleAppVisuals.Models.InteractiveElement`1"> <summary> Defines the basic properties of an console element. </summary> @@ -2673,60 +3162,72 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.InteractiveElement`1.IsInteractive"> + <member name="P:ConsoleAppVisuals.Models.InteractiveElement`1.IsInteractive"> <summary> Whether the element is interactive or not. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveElement`1.MaxNumberOfThisElement"> + <member name="P:ConsoleAppVisuals.Models.InteractiveElement`1.MaxNumberOfThisElement"> <summary> The maximum number of this element that can be drawn on the console. As an interactive element, the value is 1. </summary> </member> - <member name="E:ConsoleAppVisuals.InteractiveElement`1.EndOfInteractionEvent"> + <member name="E:ConsoleAppVisuals.Models.InteractiveElement`1.EndOfInteractionEvent"> <summary> </summary> </member> - <member name="F:ConsoleAppVisuals.InteractiveElement`1._interactionResponse"> + <member name="F:ConsoleAppVisuals.Models.InteractiveElement`1._interactionResponse"> <summary> The response of the user. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveElement`1.GetInteractionResponse"> - <summary> - Returns the response of the user. - </summary> - </member> - <member name="M:ConsoleAppVisuals.InteractiveElement`1.SetInteractionResponse(System.Object,ConsoleAppVisuals.InteractionEventArgs{`0})"> + <member name="M:ConsoleAppVisuals.Models.InteractiveElement`1.SetInteractionResponse(System.Object,ConsoleAppVisuals.Models.InteractionEventArgs{`0})"> <summary> Sets the response of the user in the attribute field. </summary> <param name="sender">The sender of the event.</param> <param name="e">The response of the user.</param> </member> - <member name="M:ConsoleAppVisuals.InteractiveElement`1.SendResponse(System.Object,ConsoleAppVisuals.InteractionEventArgs{`0})"> + <member name="M:ConsoleAppVisuals.Models.InteractiveElement`1.SendResponse(System.Object,ConsoleAppVisuals.Models.InteractionEventArgs{`0})"> <summary> Triggers the EndOfInteractionEvent event. </summary> <param name="sender">The sender of the event.</param> <param name="e">The response of the user.</param> </member> - <member name="M:ConsoleAppVisuals.InteractiveElement`1.RenderOptionsBeforeHand"> + <member name="M:ConsoleAppVisuals.Models.InteractiveElement`1.GetResponse"> + <summary> + Returns the response of the user after an interaction. + </summary> + <returns>Null if the user has not interacted with the element, otherwise the response of the user.</returns> + <remarks> + This sample shows how to use the <see cref="M:ConsoleAppVisuals.Models.InteractiveElement`1.GetResponse"/> method using the var keyword: + <code> + var response = element.GetResponse(); + </code> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Models.InteractiveElement`1.RenderOptionsBeforeHand"> <summary> This method is used to set options before drawing the element on the console. </summary> </member> - <member name="M:ConsoleAppVisuals.InteractiveElement`1.RenderOptionsAfterHand"> + <member name="M:ConsoleAppVisuals.Models.InteractiveElement`1.RenderOptionsAfterHand"> <summary> This method is used to set options after drawing the element on the console. </summary> </member> - <member name="T:ConsoleAppVisuals.Position"> + <member name="T:ConsoleAppVisuals.Models.Position"> <summary> A class that stores the position into X and Y parameters of a position. </summary> @@ -2734,23 +3235,23 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Position.X"> + <member name="P:ConsoleAppVisuals.Models.Position.X"> <summary> The x coordinate of the position. </summary> </member> - <member name="P:ConsoleAppVisuals.Position.Y"> + <member name="P:ConsoleAppVisuals.Models.Position.Y"> <summary> The y coordinate of the position. </summary> </member> - <member name="M:ConsoleAppVisuals.Position.#ctor(System.Int32,System.Int32)"> + <member name="M:ConsoleAppVisuals.Models.Position.#ctor(System.Int32,System.Int32)"> <summary> - Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Position"/> class with 2 coordinates. + Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Models.Position"/> class with 2 coordinates. </summary> <param name="x">The x coordinate of the position.</param> <param name="y">The y coordinate of the position.</param> @@ -2758,24 +3259,24 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Position.#ctor(ConsoleAppVisuals.Position)"> + <member name="M:ConsoleAppVisuals.Models.Position.#ctor(ConsoleAppVisuals.Models.Position)"> <summary> - Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Position"/> class with another instance of the <see cref="T:ConsoleAppVisuals.Position"/> class. + Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Models.Position"/> class with another instance of the <see cref="T:ConsoleAppVisuals.Models.Position"/> class. </summary> <param name="pos">The position to copy.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Position.ToString"> + <member name="M:ConsoleAppVisuals.Models.Position.ToString"> <summary> This method is used to convert the position to a string. </summary> @@ -2784,11 +3285,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Position.Equals(System.Object)"> + <member name="M:ConsoleAppVisuals.Models.Position.Equals(System.Object)"> <summary> This method is used to check if the position is equal to another position. </summary> @@ -2798,11 +3299,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Position.GetHashCode"> + <member name="M:ConsoleAppVisuals.Models.Position.GetHashCode"> <summary> Implementation of the IEquatable interface. </summary> @@ -2811,18 +3312,18 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Position.System#IEquatable{ConsoleAppVisuals#Position}#Equals(ConsoleAppVisuals.Position)"> + <member name="M:ConsoleAppVisuals.Models.Position.System#IEquatable{ConsoleAppVisuals#Models#Position}#Equals(ConsoleAppVisuals.Models.Position)"> <summary> Implementation of the IEquatable interface. </summary> <param name="other">The position to compare to.</param> <returns>True if the positions are equal, false otherwise.</returns> </member> - <member name="M:ConsoleAppVisuals.Position.op_Equality(ConsoleAppVisuals.Position,ConsoleAppVisuals.Position)"> + <member name="M:ConsoleAppVisuals.Models.Position.op_Equality(ConsoleAppVisuals.Models.Position,ConsoleAppVisuals.Models.Position)"> <summary> This operator is used to check if the position is equal to another position. </summary> @@ -2830,7 +3331,7 @@ <param name="right">The second position to compare.</param> <returns>True if the positions are equal, false otherwise.</returns> </member> - <member name="M:ConsoleAppVisuals.Position.op_Inequality(ConsoleAppVisuals.Position,ConsoleAppVisuals.Position)"> + <member name="M:ConsoleAppVisuals.Models.Position.op_Inequality(ConsoleAppVisuals.Models.Position,ConsoleAppVisuals.Models.Position)"> <summary> This operator is used to check if the position is not equal to another position. </summary> @@ -2838,32 +3339,32 @@ <param name="right">The second position to compare.</param> <returns>True if the positions are not equal, false otherwise.</returns> </member> - <member name="T:ConsoleAppVisuals.TextStyler"> + <member name="T:ConsoleAppVisuals.Models.TextStyler"> <summary> The class that styles any text with specified font files. </summary> </member> - <member name="P:ConsoleAppVisuals.TextStyler.Dictionary"> + <member name="P:ConsoleAppVisuals.Models.TextStyler.Dictionary"> <summary> The dictionary that stores the characters and their styled equivalent. </summary> </member> - <member name="M:ConsoleAppVisuals.TextStyler.#ctor(System.String,System.Reflection.Assembly)"> + <member name="M:ConsoleAppVisuals.Models.TextStyler.#ctor(System.String,System.Reflection.Assembly)"> <summary> The constructor of the TextStyler class. </summary> <param name="fontPath">The path to the font files.</param> <param name="assembly">The assembly in which to take the files. Do not use it by default.</param> - <exception cref="T:ConsoleAppVisuals.EmptyFileException">Thrown when the config.yml file is empty.</exception> + <exception cref="T:ConsoleAppVisuals.Errors.EmptyFileException">Thrown when the config.yml file is empty.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TextStyler.StyleTextToString(System.String)"> + <member name="M:ConsoleAppVisuals.Models.TextStyler.StyleTextToString(System.String)"> <summary> Styles the given text with the font files. </summary> @@ -2873,11 +3374,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TextStyler.StyleTextToStringArray(System.String)"> + <member name="M:ConsoleAppVisuals.Models.TextStyler.StyleTextToStringArray(System.String)"> <summary> Styles the given text with the font files. </summary> @@ -2887,45 +3388,49 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TextStyler.ToString"> + <member name="M:ConsoleAppVisuals.Models.TextStyler.ToString"> <summary> Get the info of the actual style (from the config.yml file). </summary> <returns>A string compiling these pieces of information.</returns> - <exception cref="T:ConsoleAppVisuals.EmptyFileException">Thrown when the config.yml file is empty.</exception> + <exception cref="T:ConsoleAppVisuals.Errors.EmptyFileException">Thrown when the config.yml file is empty.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> <member name="T:ConsoleAppVisuals.Window"> <summary> - The major class of the library. The window is used to collect the elements of the console and draw them. + The Window class manages the elements that are to be displayed on the console. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> <member name="M:ConsoleAppVisuals.Window.#cctor"> <summary> - This method sets up the window without the need to call it. + This method sets up the console as soon as the Program starts. </summary> </member> <member name="F:ConsoleAppVisuals.Window.DEFAULT_VISIBILITY"> <summary> The default visibility of the elements when they are added to the window. </summary> + <remarks> + This value should not be changed. + Each time the user adds an element to the window, it will try to toggle the visibility of the element. + </remarks> </member> <member name="P:ConsoleAppVisuals.Window.NextId"> <summary> @@ -2937,11 +3442,19 @@ Gives the number of elements in the window. </summary> </member> - <member name="P:ConsoleAppVisuals.Window.GetElements"> + <member name="P:ConsoleAppVisuals.Window.Elements"> <summary> Gives the list of elements in the window. </summary> </member> + <member name="M:ConsoleAppVisuals.Window.GetRange(System.Int32,System.Int32)"> + <summary> + This method returns a range of elements given a start and end ids. + </summary> + <param name="start">The start id of the range.</param> + <param name="end">The end id of the range.</param> + <returns>The range of elements from the start to the end id.</returns> + </member> <member name="M:ConsoleAppVisuals.Window.GetElement``1"> <summary> This method returns the first element of the given type. @@ -2952,13 +3465,13 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> <member name="M:ConsoleAppVisuals.Window.GetElement``1(System.Int32)"> <summary> - This method returns the element with the given id. + This method returns the first element of the given type and id. </summary> <param name="id">The id of the element.</param> <returns>The element with the given id if it exists, null otherwise.</returns> @@ -2967,7 +3480,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -2981,11 +3494,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.AddElement(ConsoleAppVisuals.Element[])"> + <member name="M:ConsoleAppVisuals.Window.AddElement(ConsoleAppVisuals.Models.Element[])"> <summary> This method adds elements to the window. </summary> @@ -2994,11 +3507,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.InsertElement(ConsoleAppVisuals.Element,System.Int32)"> + <member name="M:ConsoleAppVisuals.Window.InsertElement(ConsoleAppVisuals.Models.Element,System.Int32)"> <summary> This method inserts an element to the window at the given id. </summary> @@ -3009,51 +3522,51 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.RemoveElement(System.Int32)"> + <member name="M:ConsoleAppVisuals.Window.RemoveElement``1"> <summary> - This method removes the element with the given id. + This method removes the first element with the given type. </summary> - <param name="id">The id of the element.</param> - <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the id is out of range.</exception> + <typeparam name="T">The type of the element.</typeparam> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is invalid.</exception> + <returns>True if the element is successfully removed, false otherwise.</returns> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.RemoveElement(ConsoleAppVisuals.Element[])"> + <member name="M:ConsoleAppVisuals.Window.RemoveElement(System.Int32)"> <summary> - This method removes the given element. + This method removes the element with the given id. </summary> - <param name="elements">The elements to be removed.</param> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> - <returns>True if the element is successfully removed, false otherwise.</returns> + <param name="id">The id of the element.</param> + <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the id is out of range.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.RemoveElement``1"> + <member name="M:ConsoleAppVisuals.Window.RemoveElement(ConsoleAppVisuals.Models.Element[])"> <summary> - This method removes the first element with the given type. + This method removes the given element. </summary> - <typeparam name="T">The type of the element.</typeparam> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> + <param name="elements">The elements to be removed.</param> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is invalid.</exception> <returns>True if the element is successfully removed, false otherwise.</returns> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3065,7 +3578,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3080,17 +3593,17 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.ActivateElement(ConsoleAppVisuals.Element,System.Boolean)"> + <member name="M:ConsoleAppVisuals.Window.ActivateElement(ConsoleAppVisuals.Models.Element,System.Boolean)"> <summary> This method attempts to activate the visibility of the given element. </summary> <param name="element">The element to be activated.</param> <param name="render">If true, the element will be rendered.</param> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is invalid.</exception> </member> <member name="M:ConsoleAppVisuals.Window.ActivateElement``1(System.Boolean)"> <summary> @@ -3098,29 +3611,12 @@ </summary> <param name="render">If true, the element will be rendered.</param> <typeparam name="T">The type of the element.</typeparam> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> - </member> - <member name="M:ConsoleAppVisuals.Window.GetResponse``2(System.Boolean)"> - <summary> - After activating the visibility of an interactive element, this method will return the response for the user. - </summary> - <param name="clear">If true, the element will be cleared.</param> - <typeparam name="T">The type of interactive element.</typeparam> - <typeparam name="TResponse">The type of the response (int, string, float...).</typeparam> - <returns>The response of the user.</returns> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is invalid.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3132,7 +3628,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3141,28 +3637,28 @@ This method to deactivate the visibility of the element with the given id. </summary> <param name="id">The id of the element.</param> - <param name="clear">If true, the element will be cleared.</param> + <param name="clear">If true, the element will be cleared from the console.</param> <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the id is out of range.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.DeactivateElement(ConsoleAppVisuals.Element,System.Boolean)"> + <member name="M:ConsoleAppVisuals.Window.DeactivateElement(ConsoleAppVisuals.Models.Element,System.Boolean)"> <summary> This method deactivate the visibility of the element with the given type. </summary> <param name="element">The element to be deactivated.</param> - <param name="clear">If true, the element will be cleared.</param> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> + <param name="clear">If true, the element will be cleared from the console.</param> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is invalid.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3172,12 +3668,12 @@ </summary> <param name="clear">If true, the element will be cleared.</param> <typeparam name="T">The type of the element.</typeparam> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is invalid.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3189,7 +3685,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3200,9 +3696,9 @@ <param name="id">The id of the element.</param> <returns>True if the element can be toggled to visible, false otherwise.</returns> </member> - <member name="M:ConsoleAppVisuals.Window.GetLineAvailable(ConsoleAppVisuals.Placement)"> + <member name="M:ConsoleAppVisuals.Window.GetLineAvailable(ConsoleAppVisuals.Enums.Placement)"> <summary> - Gives the last line available to draw an element on the console from a placement. + This method gets the last line available to draw an element on the console from a placement. </summary> <param name="placement">The placement of the element.</param> <returns>The last line available to draw an element on the console from a placement.</returns> @@ -3211,13 +3707,13 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> <member name="M:ConsoleAppVisuals.Window.CheckLine(System.Nullable{System.Int32})"> <summary> - This method checks if the line is valid. + This method checks if the line is valid under the console constraints. </summary> <param name="line">The line to be checked.</param> <returns>The line if it is valid.</returns> @@ -3226,106 +3722,88 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> - </member> - <member name="M:ConsoleAppVisuals.Window.Clear(System.Boolean)"> - <summary> - This method clears the window. - </summary> - <param name="continuous">If true, the window will be cleared continuously.</param> - <returns>True if the window is successfully cleared, false otherwise.</returns> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.StopExecution(System.ConsoleKey)"> + <member name="M:ConsoleAppVisuals.Window.Freeze(System.ConsoleKey)"> <summary> This method stops the execution of the program until a key is pressed. </summary> + <param name="key">The key to be pressed to continue the execution.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.RenderOneElement(System.Int32)"> + <member name="M:ConsoleAppVisuals.Window.Render"> <summary> - This method draws the element with the given id on the console. + This method draws all visible elements of the window on the console. </summary> - <param name="id">The id of the element.</param> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the id is out of range.</exception> - <returns>True if the element is successfully drawn, false otherwise.</returns> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.RenderOneElement(ConsoleAppVisuals.Element)"> + <member name="M:ConsoleAppVisuals.Window.Render(ConsoleAppVisuals.Models.Element[])"> <summary> - This method draws the given element on the console. + This method draws all given visible elements of the window on the console. </summary> - <param name="element">The element to be drawn.</param> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> - <returns>True if the element is successfully drawn, false otherwise.</returns> + <param name="elements">The elements to be drawn.</param> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is not found in the window.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.Render"> + <member name="M:ConsoleAppVisuals.Window.RenderElementsSpace"> <summary> - This method draws all the non interactive elements of the window on the console. + This method draws all the space of the visible elements of the window on the console. </summary> + <returns>True if the space of the elements is successfully drawn, false otherwise.</returns> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.OnResize"> - <summary> - This method is called to refresh the window when the size of the console is changed. - </summary> - <returns>True if the window is refreshed, false otherwise.</returns> - </member> - <member name="M:ConsoleAppVisuals.Window.RenderAllElementsSpace"> + <member name="M:ConsoleAppVisuals.Window.Clear(System.Boolean,System.Nullable{System.Int32},System.Nullable{System.Int32},System.Int32)"> <summary> - This method draws all the space of the elements of the window on the console. + This method clears the console. </summary> - <returns>True if the space of the elements is successfully drawn, false otherwise.</returns> + <param name="continuous">If true, the window will be cleared continuously.</param> + <param name="startLine">The start line of the window to be cleared.</param> + <param name="length">The number of lines to be cleared.</param> + <param name="step">The step of the window to be cleared.</param> + <returns>True if the window is successfully cleared, false otherwise.</returns> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> <member name="M:ConsoleAppVisuals.Window.Close"> <summary> - This method closes the window and exit the program. + This method clears the window and exit the program. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> diff --git a/src/ConsoleAppVisuals/bin/Release/net8.0/ConsoleAppVisuals.deps.json b/src/ConsoleAppVisuals/bin/Release/net8.0/ConsoleAppVisuals.deps.json index 02b165e9..b1daa9d5 100644 --- a/src/ConsoleAppVisuals/bin/Release/net8.0/ConsoleAppVisuals.deps.json +++ b/src/ConsoleAppVisuals/bin/Release/net8.0/ConsoleAppVisuals.deps.json @@ -6,11 +6,11 @@ "compilationOptions": {}, "targets": { ".NETCoreApp,Version=v8.0": { - "ConsoleAppVisuals/0.0.0": { + "ConsoleAppVisuals/1.0.0": { "dependencies": { "Moq": "4.20.70", "coverlet.collector": "6.0.0", - "YamlDotNet": "15.1.1" + "YamlDotNet": "15.1.2" }, "runtime": { "ConsoleAppVisuals.dll": {} @@ -61,18 +61,18 @@ } } }, - "YamlDotNet/15.1.1": { + "YamlDotNet/15.1.2": { "runtime": { "lib/net8.0/YamlDotNet.dll": { "assemblyVersion": "15.0.0.0", - "fileVersion": "15.1.1.0" + "fileVersion": "15.1.2.0" } } } } }, "libraries": { - "ConsoleAppVisuals/0.0.0": { + "ConsoleAppVisuals/1.0.0": { "type": "project", "serviceable": false, "sha512": "" @@ -105,12 +105,12 @@ "path": "system.diagnostics.eventlog/6.0.0", "hashPath": "system.diagnostics.eventlog.6.0.0.nupkg.sha512" }, - "YamlDotNet/15.1.1": { + "YamlDotNet/15.1.2": { "type": "package", "serviceable": true, - "sha512": "sha512-GjK+j6XmaFoLhdGpv5jVkt1wbUwVvZaWsUEPzr6gfA/VaEgYMlwZXeVyWJOqFK9U41mSocZvSuLkEFFhVEj0HA==", - "path": "yamldotnet/15.1.1", - "hashPath": "yamldotnet.15.1.1.nupkg.sha512" + "sha512": "sha512-qeX0XhzOIcQEvnI5JxnPaIwcINwyY4Qy/LXhSfsdHkFrl9F41AT52UFfy2nIE7kgrhMg+cP7xuS+GtPJhmHmTA==", + "path": "yamldotnet/15.1.2", + "hashPath": "yamldotnet.15.1.2.nupkg.sha512" } } } \ No newline at end of file diff --git a/src/ConsoleAppVisuals/bin/Release/net8.0/ConsoleAppVisuals.dll b/src/ConsoleAppVisuals/bin/Release/net8.0/ConsoleAppVisuals.dll index 2a1f289b..1d714dcf 100644 Binary files a/src/ConsoleAppVisuals/bin/Release/net8.0/ConsoleAppVisuals.dll and b/src/ConsoleAppVisuals/bin/Release/net8.0/ConsoleAppVisuals.dll differ diff --git a/src/ConsoleAppVisuals/bin/Release/net8.0/ConsoleAppVisuals.pdb b/src/ConsoleAppVisuals/bin/Release/net8.0/ConsoleAppVisuals.pdb index 56daa159..a3c88bec 100644 Binary files a/src/ConsoleAppVisuals/bin/Release/net8.0/ConsoleAppVisuals.pdb and b/src/ConsoleAppVisuals/bin/Release/net8.0/ConsoleAppVisuals.pdb differ diff --git a/src/ConsoleAppVisuals/bin/Release/net8.0/ConsoleAppVisuals.xml b/src/ConsoleAppVisuals/bin/Release/net8.0/ConsoleAppVisuals.xml index 54a26243..27be0cf4 100644 --- a/src/ConsoleAppVisuals/bin/Release/net8.0/ConsoleAppVisuals.xml +++ b/src/ConsoleAppVisuals/bin/Release/net8.0/ConsoleAppVisuals.xml @@ -4,48 +4,48 @@ <name>ConsoleAppVisuals</name> </assembly> <members> - <member name="T:ConsoleAppVisuals.VisualAttribute"> + <member name="T:ConsoleAppVisuals.Attributes.VisualAttribute"> <summary> - The <see cref="T:ConsoleAppVisuals.VisualAttribute"/> class is used to mark a class, struct, enum, constructor, method, property, field, event, interface, or delegate as a visual and so interact with the console. + The <see cref="T:ConsoleAppVisuals.Attributes.VisualAttribute"/> class is used to mark a class, struct, enum, constructor, method, property, field, event, interface, or delegate as a visual and so interact with the console. </summary> <remarks> [ WARNING ] This element cannot be tested. </remarks> </member> - <member name="M:ConsoleAppVisuals.VisualAttribute.#ctor"> + <member name="M:ConsoleAppVisuals.Attributes.VisualAttribute.#ctor"> <summary> - Initializes a new instance of the <see cref="T:ConsoleAppVisuals.VisualAttribute"/> class. + Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Attributes.VisualAttribute"/> class. </summary> </member> - <member name="M:ConsoleAppVisuals.VisualAttribute.#ctor(System.String)"> + <member name="M:ConsoleAppVisuals.Attributes.VisualAttribute.#ctor(System.String)"> <summary> - Initializes a new instance of the <see cref="T:ConsoleAppVisuals.VisualAttribute"/> class with a specified workaround message. + Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Attributes.VisualAttribute"/> class with a specified workaround message. </summary> <param name="message">The text string that describes alternative workarounds.</param> </member> - <member name="M:ConsoleAppVisuals.VisualAttribute.#ctor(System.String,System.Boolean)"> + <member name="M:ConsoleAppVisuals.Attributes.VisualAttribute.#ctor(System.String,System.Boolean)"> <summary> - Initializes a new instance of the <see cref="T:ConsoleAppVisuals.VisualAttribute"/> class with a workaround message and a Boolean value indicating whether the obsolete element usage is considered an error. + Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Attributes.VisualAttribute"/> class with a workaround message and a Boolean value indicating whether the obsolete element usage is considered an error. </summary> <param name="message">The text string that describes alternative workarounds.</param> <param name="error">True if the obsolete element usage generates a compiler error; false if it generates a compiler warning.</param> </member> - <member name="P:ConsoleAppVisuals.VisualAttribute.DiagnosticId"> + <member name="P:ConsoleAppVisuals.Attributes.VisualAttribute.DiagnosticId"> <summary> Gets or sets the ID that the compiler will use when reporting a use of the API. </summary> </member> - <member name="P:ConsoleAppVisuals.VisualAttribute.IsError"> + <member name="P:ConsoleAppVisuals.Attributes.VisualAttribute.IsError"> <summary> Gets a value that indicates whether the compiler will treat usage of the obsolete program element as an error. </summary> <returns>True if the obsolete element usage is considered an error; otherwise, false. The default is false.</returns> </member> - <member name="P:ConsoleAppVisuals.VisualAttribute.Message"> + <member name="P:ConsoleAppVisuals.Attributes.VisualAttribute.Message"> <summary> Gets the workaround message. </summary> <returns>The workaround text string.</returns> </member> - <member name="P:ConsoleAppVisuals.VisualAttribute.UrlFormat"> + <member name="P:ConsoleAppVisuals.Attributes.VisualAttribute.UrlFormat"> <summary> Gets or sets the URL for corresponding documentation. The API accepts a format string instead of an actual URL, creating a generic URL that includes the diagnostic ID. </summary> @@ -53,7 +53,7 @@ </member> <member name="T:ConsoleAppVisuals.Core"> <summary> - The <see cref="T:ConsoleAppVisuals.Core"/> class contains visual elements for a console app. + The <see cref="T:ConsoleAppVisuals.Core"/> class contains all the interactions between the application and the console. </summary> </member> <member name="F:ConsoleAppVisuals.Core.NEGATIVE_ANCHOR"> @@ -70,20 +70,24 @@ <summary> This property is used to get the colors of the console. </summary> - <returns>A tuple containing the font color and the background color.</returns> </member> <member name="P:ConsoleAppVisuals.Core.GetInitialColorPanel"> <summary> This property is used to get the initial colors of the console. </summary> - <returns>A tuple containing the initial font color and the initial background color.</returns> </member> - <member name="P:ConsoleAppVisuals.Core.IsScreenUpdated"> + <member name="M:ConsoleAppVisuals.Core.IsScreenUpdated"> <summary> - This property is used to check if the screen has been updated. + This method is used to check if the screen has been updated. </summary> <returns>True if the screen has been updated, false otherwise.</returns> - <remarks>The screen is updated if the window size has changed or if the color panel has changed.</remarks> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> <member name="M:ConsoleAppVisuals.Core.SetSelector(System.Char,System.Char)"> <summary> @@ -95,7 +99,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -108,7 +112,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -121,7 +125,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -133,7 +137,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -145,7 +149,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -157,7 +161,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -169,7 +173,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -182,7 +186,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -196,7 +200,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -209,7 +213,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -221,7 +225,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -235,11 +239,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.WritePositionedString(System.String,ConsoleAppVisuals.TextAlignment,System.Boolean,System.Nullable{System.Int32},System.Boolean)"> + <member name="M:ConsoleAppVisuals.Core.WritePositionedString(System.String,ConsoleAppVisuals.Enums.TextAlignment,System.Boolean,System.Nullable{System.Int32},System.Boolean)"> <summary> This method is used to write a string positioned in the console. </summary> @@ -252,11 +256,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.WriteContinuousString(System.String,System.Nullable{System.Int32},System.Boolean,System.Int32,System.Int32,System.Int32,ConsoleAppVisuals.TextAlignment,System.Boolean)"> + <member name="M:ConsoleAppVisuals.Core.WriteContinuousString(System.String,System.Nullable{System.Int32},System.Boolean,System.Int32,System.Int32,System.Int32,ConsoleAppVisuals.Enums.TextAlignment,System.Boolean)"> <summary> This method is used to write a string continuously in the console. The string is written letter by letter on the console. @@ -273,11 +277,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.WritePositionedStyledText(System.String[],System.Nullable{System.Int32},System.Nullable{System.Int32},System.Nullable{System.Int32},ConsoleAppVisuals.TextAlignment,System.Boolean)"> + <member name="M:ConsoleAppVisuals.Core.WritePositionedStyledText(System.String[],System.Nullable{System.Int32},System.Nullable{System.Int32},System.Nullable{System.Int32},ConsoleAppVisuals.Enums.TextAlignment,System.Boolean)"> <summary> This method is used to write a styled string in the console. </summary> @@ -291,11 +295,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.WriteMultiplePositionedLines(System.Boolean,ConsoleAppVisuals.TextAlignment,System.Boolean,System.Nullable{System.Int32},System.String[])"> + <member name="M:ConsoleAppVisuals.Core.WriteMultiplePositionedLines(System.Boolean,ConsoleAppVisuals.Enums.TextAlignment,System.Boolean,System.Nullable{System.Int32},System.String[])"> <summary> This method prints a paragraph in the console. </summary> @@ -308,11 +312,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.ResizeString(System.String,System.Int32,ConsoleAppVisuals.TextAlignment,System.Boolean)"> + <member name="M:ConsoleAppVisuals.Core.ResizeString(System.String,System.Int32,ConsoleAppVisuals.Enums.TextAlignment,System.Boolean)"> <summary> This method builds a string with a specific size and a specific placement. </summary> @@ -325,11 +329,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.InsertString(System.String,System.String,ConsoleAppVisuals.Placement)"> + <member name="M:ConsoleAppVisuals.Core.InsertString(System.String,System.String,ConsoleAppVisuals.Enums.Placement)"> <summary> Insert a specified string into another string, at a specified position. </summary> @@ -341,7 +345,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -355,7 +359,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -369,11 +373,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.ToTextAlignment(ConsoleAppVisuals.Placement)"> + <member name="M:ConsoleAppVisuals.Core.ToTextAlignment(ConsoleAppVisuals.Enums.Placement)"> <summary> This method is used to convert a Placement into a TextAlignment. </summary> @@ -384,11 +388,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Core.ToPlacement(ConsoleAppVisuals.TextAlignment)"> + <member name="M:ConsoleAppVisuals.Core.ToPlacement(ConsoleAppVisuals.Enums.TextAlignment)"> <summary> This method is used to convert a TextAlignment into a Placement. </summary> @@ -399,1322 +403,1799 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="T:ConsoleAppVisuals.Banner"> + <member name="T:ConsoleAppVisuals.Elements.EmbedText"> <summary> - Defines the banner of the console window. + Defines the basic properties of an Embed text. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Banner.Placement"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.Placement"> <summary> - The placement of the banner. + The position of the Embed text. </summary> </member> - <member name="P:ConsoleAppVisuals.Banner.Line"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.Height"> <summary> - The line of the banner in the console. + The height of the Embed text. </summary> - <remarks>We add 2 because so the banner does not overlap with the title.</remarks> </member> - <member name="P:ConsoleAppVisuals.Banner.Height"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.Width"> <summary> - The height of the banner. + The width of the Embed text. </summary> </member> - <member name="P:ConsoleAppVisuals.Banner.Width"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.Text"> <summary> - The width of the banner. + The text of the Embed text. </summary> </member> - <member name="P:ConsoleAppVisuals.Banner.Text"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.ButtonText"> <summary> - Getter and setter of the text of the banner. + The text of the button. </summary> </member> - <member name="P:ConsoleAppVisuals.Banner.UpperMargin"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.TextToDisplay"> <summary> - Getter and setter of the upper margin of the banner. + The text to display. </summary> </member> - <member name="P:ConsoleAppVisuals.Banner.LowerMargin"> + <member name="P:ConsoleAppVisuals.Elements.EmbedText.RoundedCorners"> <summary> - Getter and setter of the lower margin of the banner. + Wether the corners are rounded or not. </summary> </member> - <member name="M:ConsoleAppVisuals.Banner.#ctor(System.String,System.String,System.String,System.Int32,System.Int32,ConsoleAppVisuals.Placement,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.#ctor(System.Collections.Generic.List{System.String},System.String,ConsoleAppVisuals.Enums.TextAlignment,ConsoleAppVisuals.Enums.Placement,System.Boolean)"> <summary> - The natural constructor of the banner. + The natural constructor of the Embed text. </summary> - <param name="leftText">The text on the left of the banner.</param> - <param name="centerText">The text in the center of the banner.</param> - <param name="rightText">The text on the right of the banner.</param> - <param name="upperMargin">The upper margin of the banner.</param> - <param name="lowerMargin">The lower margin of the banner.</param> - <param name="placement">The placement of the banner.</param> - <param name="line">The line of the banner in the console.</param> + <param name="text">The text to display.</param> + <param name="button">The text of the button.</param> + <param name="align">The alignment of the Embed text.</param> + <param name="placement">The placement of the Embed text element.</param> + <param name="roundedCorners">Wether the corners are rounded or not.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Banner.UpdateLeftText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.UpdateButtonText(System.String)"> <summary> - This method is used to update the text on the left of the banner. + This method updates the text of the button. </summary> - <param name="leftText">The new text on the left of the banner.</param> + <param name="newButton">The new text of the button.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Banner.UpdateCenterText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.UpdateText(System.Collections.Generic.List{System.String})"> <summary> - This method is used to update the text in the center of the banner. + This method updates the text of the Embed text. </summary> - <param name="centerText">The new text in the center of the banner.</param> + <param name="newText">The new text of the Embed text.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Banner.UpdateRightText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - This method is used to update the text on the right of the banner. + This method updates the placement of the Embed text. </summary> - <param name="rightText">The new text on the right of the banner.</param> + <param name="newPlacement">The new placement of the Embed text.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Banner.RenderElementActions"> - <summary> - This method is used to render the banner on the console. - </summary> - </member> - <member name="T:ConsoleAppVisuals.FakeLoadingBar"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.UpdateAlignment(ConsoleAppVisuals.Enums.TextAlignment)"> <summary> - Defines the loading bar of the console window. + This method updates the alignment of the Embed text. </summary> + <param name="newAlignment">The new alignment of the Embed text.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.Line"> - <summary> - The line of the loading bar in the console. - </summary> - <remarks>We add 2 because so the loading bar does not overlap with the title.</remarks> - </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.Height"> - <summary> - The height of the loading bar. - </summary> - <remarks>One line for the text,one line for the space between and one line for the progress.</remarks> - </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.Width"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.SetRoundedCorners(System.Boolean)"> <summary> - The width of the loading bar. - </summary> - </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.Text"> - <summary> - Getter and setter of the text of the loading bar. - </summary> - </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.Placement"> - <summary> - Getter of the placement of the loading bar. + This method updates the rounded corners of the Embed text. </summary> + <param name="roundedCorners">Wether the corners are rounded or not.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.ProcessDuration"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.AddLine(System.String)"> <summary> - Getter of the duration of the loading bar. + Adds a line to the Embed text. </summary> + <param name="line">The line to add.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.FakeLoadingBar.AdditionalDuration"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.InsertLine(System.String,System.Int32)"> <summary> - Getter of the additional duration of the loading bar at the end. + Inserts a line to the Embed text. </summary> + <param name="line">The line to insert.</param> + <param name="index">The index where to insert the line.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.FakeLoadingBar.#ctor(System.String,ConsoleAppVisuals.Placement,System.Nullable{System.Int32},System.Int32,System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.RemoveLine(System.String)"> <summary> - The natural constructor of the loading bar. + Removes a line from the Embed text. </summary> - <param name="text">The text of the loading bar.</param> - <param name="placement">The placement of the loading bar.</param> - <param name="line">The line of the loading bar.</param> - <param name="processDuration">The duration of the loading bar.</param> - <param name="additionalDuration">The additional duration of the loading bar at the end.</param> + <param name="line">The line to remove.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.FakeLoadingBar.UpdateText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.RemoveLine(System.Int32)"> <summary> - This method is used to update the text of the loading bar. + Removes a line from the Embed text. </summary> - <param name="text">The new text of the loading bar.</param> + <param name="index">The index of the line to remove.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.FakeLoadingBar.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.EmbedText.RenderElementActions"> <summary> - This method is used to draw the loading bar on the console. + Renders the Embed text. </summary> </member> - <member name="T:ConsoleAppVisuals.Footer"> + <member name="T:ConsoleAppVisuals.Elements.FloatSelector"> <summary> - Defines the footer of the console window. + Defines the number selector of the console window. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Footer.Placement"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Placement"> <summary> - The placement of the footer. + The placement of the selector on the console. </summary> </member> - <member name="P:ConsoleAppVisuals.Footer.Line"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Height"> <summary> - The line of the footer in the console. + The height of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.Footer.Height"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Width"> <summary> - The height of the footer. + The width of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.Footer.Width"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Question"> <summary> - The width of the footer. + The question to ask the user. </summary> </member> - <member name="P:ConsoleAppVisuals.Footer.Text"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Min"> <summary> - The text of the footer. + The minimum value of the selector. </summary> </member> - <member name="M:ConsoleAppVisuals.Footer.#ctor(System.String,System.String,System.String)"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Max"> <summary> - The natural constructor of the footer. + The maximum value of the selector. </summary> - <param name="leftText">The text on the left of the footer.</param> - <param name="centerText">The text in the center of the footer.</param> - <param name="rightText">The text on the right of the footer.</param> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.Footer.UpdateLeftText(System.String)"> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Start"> <summary> - This method is used to update the text on the left of the footer. + The start value of the selector. </summary> - <param name="leftText">The new text on the left of the footer.</param> + </member> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.Step"> + <summary> + The step of the selector. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.FloatSelector.RoundedCorners"> + <summary> + Whether the corners of the selector are rounded. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.#ctor(System.String,System.Single,System.Single,System.Single,System.Single,ConsoleAppVisuals.Enums.Placement,System.Boolean)"> + <summary> + The constructor of the FloatSelector class. + </summary> + <param name="question">The question to ask the user.</param> + <param name="min">The minimum value of the selector.</param> + <param name="max">The maximum value of the selector.</param> + <param name="start">The start value of the selector.</param> + <param name="step">The step of the selector.</param> + <param name="placement">The placement of the selector on the console.</param> + <param name="roundedCorners">Whether the corners of the selector are rounded.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Footer.UpdateCenterText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.UpdateQuestion(System.String)"> <summary> - This method is used to update the text in the center of the footer. + This method is used to update the question of the selector. </summary> - <param name="centerText">The new text in the center of the footer.</param> + <param name="question">The question to ask the user.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Footer.UpdateRightText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.UpdateMin(System.Single)"> <summary> - This method is used to update the text on the right of the footer. + This method is used to update the minimum value of the selector. </summary> - <param name="rightText">The new text on the right of the footer.</param> + <param name="min">The minimum value of the selector.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Footer.RenderElementActions"> - <summary> - This method is used to render the footer on the console. - </summary> - </member> - <member name="T:ConsoleAppVisuals.Header"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.UpdateMax(System.Single)"> <summary> - Defines the header of the console window. + This method is used to update the maximum value of the selector. </summary> + <param name="max">The maximum value of the selector.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Header.Placement"> - <summary> - The placement of the header. - </summary> - </member> - <member name="P:ConsoleAppVisuals.Header.Line"> - <summary> - The line of the header in the console. - </summary> - </member> - <member name="P:ConsoleAppVisuals.Header.Height"> - <summary> - The height of the header. - </summary> - </member> - <member name="P:ConsoleAppVisuals.Header.Width"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.UpdateStart(System.Single)"> <summary> - The width of the header. - </summary> - </member> - <member name="P:ConsoleAppVisuals.Header.Text"> - <summary> - The getter of the text of the header. - </summary> - </member> - <member name="P:ConsoleAppVisuals.Header.Margin"> - <summary> - The getter and setter of the margin of the header. - </summary> - </member> - <member name="M:ConsoleAppVisuals.Header.#ctor(System.String,System.String,System.String,System.Int32)"> - <summary> - The natural constructor of the header. + This method is used to update the start value of the selector. </summary> - <param name="leftText">The text on the left of the header.</param> - <param name="centerText">The text in the center of the header.</param> - <param name="rightText">The text on the right of the header.</param> - <param name="margin">The margin of the header.</param> + <param name="start">The start value of the selector.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Header.UpdateLeftText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.UpdateStep(System.Single)"> <summary> - This method is used to update the text on the left of the header. + This method is used to update the step of the selector. </summary> - <param name="leftText">The new text on the left of the header.</param> + <param name="step">The step of the selector.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Header.UpdateCenterText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - This method is used to update the text in the center of the header. + This method is used to update the placement of the selector. </summary> - <param name="centerText">The new text in the center of the header.</param> + <param name="placement">The placement of the selector on the console.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Header.UpdateRightText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.SetRoundedCorners(System.Boolean)"> <summary> - This method is used to update the text on the right of the header. + This method is used to update the rounded corners of the selector. </summary> - <param name="rightText">The new text on the right of the header.</param> + <param name="roundedCorners">Whether the corners of the selector are rounded.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Header.UpdateMargin(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.FloatSelector.RenderElementActions"> <summary> - This method is used to update the margin of the header. + This method is used to draw the selector on the console. + </summary> + </member> + <member name="T:ConsoleAppVisuals.Elements.IntSelector"> + <summary> + Defines the number selector of the console window. </summary> - <param name="margin">The new margin of the header.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Header.RenderElementActions"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Placement"> <summary> - This method is used to render the header on the console. - </summary> - </member> - <member name="T:ConsoleAppVisuals.ElementList"> - <summary> - This class is used to display a ElementList of all the elements in the window. + The placement of the selector on the console. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.RoundedCorners"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Height"> <summary> - This property wether the corners of the ElementList are rounded. + The height of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.GetHeaders"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Width"> <summary> - This property returns the headers of the ElementList. + The width of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.GetLines"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Question"> <summary> - This property returns the lines of the ElementList. + The question to ask the user. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.Placement"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Min"> <summary> - This property returns the title of the ElementList. + The minimum value of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.Line"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Max"> <summary> - This property returns the line to display the ElementList on. + The maximum value of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.Height"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Start"> <summary> - This property returns the height of the ElementList. + The start value of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.Width"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.Step"> <summary> - This property returns the width of the ElementList. + The step of the selector. </summary> </member> - <member name="P:ConsoleAppVisuals.ElementList.Count"> + <member name="P:ConsoleAppVisuals.Elements.IntSelector.RoundedCorners"> <summary> - This property returns the number of lines in the ElementList. + Whether the corners of the selector are rounded. </summary> </member> - <member name="M:ConsoleAppVisuals.ElementList.#ctor(ConsoleAppVisuals.Placement,System.Boolean,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.#ctor(System.String,System.Int32,System.Int32,System.Int32,System.Int32,ConsoleAppVisuals.Enums.Placement,System.Boolean)"> <summary> - This constructor creates a new instance of the WindowElementsElementList class. + The constructor of the intSelector class. </summary> - <param name="placement">The placement of the ElementList.</param> - <param name="roundedCorners">If true, the corners of the ElementList will be rounded.</param> - <param name="line">The line to display the ElementList on.</param> + <param name="question">The question to ask the user.</param> + <param name="min">The minimum value of the selector.</param> + <param name="max">The maximum value of the selector.</param> + <param name="start">The start value of the selector.</param> + <param name="step">The step of the selector.</param> + <param name="placement">The placement of the selector on the console.</param> + <param name="roundedCorners">Whether the corners of the selector are rounded.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.ElementList.SetRoundedCorners(System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.UpdateQuestion(System.String)"> <summary> - Toggles the rounded corners of the element. + This method is used to update the question of the selector. </summary> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <param name="question">The question to ask the user.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.ElementList.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.UpdateMin(System.Int32)"> <summary> - This method displays the ElementList. + This method is used to update the minimum value of the selector. </summary> + <param name="min">The minimum value of the selector.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="T:ConsoleAppVisuals.ElementsDashboard"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.UpdateMax(System.Int32)"> <summary> - This class is used to display a dashboard of all the elements in the window. + This method is used to update the maximum value of the selector. </summary> + <param name="max">The maximum value of the selector.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.RoundedCorners"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.UpdateStart(System.Int32)"> <summary> - This property wether the corners of the dashboard are rounded. - </summary> - </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.GetHeaders"> - <summary> - This property returns the headers of the dashboard. - </summary> - </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.GetLines"> - <summary> - This property returns the lines of the dashboard. - </summary> - </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.Placement"> - <summary> - This property returns the title of the dashboard. - </summary> - </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.Line"> - <summary> - This property returns the line to display the dashboard on. - </summary> - </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.Height"> - <summary> - This property returns the height of the dashboard. + This method is used to update the start value of the selector. </summary> + <param name="start">The start value of the selector.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.Width"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.UpdateStep(System.Int32)"> <summary> - This property returns the width of the dashboard. + This method is used to update the step of the selector. </summary> + <param name="step">The step of the selector.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ElementsDashboard.Count"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - This property returns the number of lines in the dashboard. + This method is used to update the placement of the selector. </summary> + <param name="placement">The placement of the selector on the console.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.ElementsDashboard.#ctor(ConsoleAppVisuals.Placement,System.Boolean,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.SetRoundedCorners(System.Boolean)"> <summary> - This constructor creates a new instance of the WindowElementsDashboard class. + This method is used to update the rounded corners of the selector. </summary> - <param name="placement">The placement of the dashboard.</param> - <param name="roundedCorners">If true, the corners of the dashboard will be rounded.</param> - <param name="line">The line to display the dashboard on.</param> + <param name="roundedCorners">Whether the corners of the selector are rounded.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.ElementsDashboard.SetRoundedCorners(System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.IntSelector.RenderElementActions"> <summary> - Toggles the rounded corners of the element. + This method is used to draw the selector on the console. </summary> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> </member> - <member name="M:ConsoleAppVisuals.ElementsDashboard.RenderElementActions"> + <member name="T:ConsoleAppVisuals.Elements.Prompt"> <summary> - This method displays the dashboard. + Defines the prompt element of the console window. </summary> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="T:ConsoleAppVisuals.InteractiveList"> + <member name="P:ConsoleAppVisuals.Elements.Prompt.Placement"> <summary> - This class is used to display a InteractiveList of all the elements in the window. + The placement of the prompt element. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.RoundedCorners"> + <member name="P:ConsoleAppVisuals.Elements.Prompt.Height"> <summary> - This property wether the corners of the InteractiveList are rounded. + The height of the prompt element. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.GetHeaders"> + <member name="P:ConsoleAppVisuals.Elements.Prompt.Width"> <summary> - This property returns the headers of the InteractiveList. + The width of the prompt element. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.GetLines"> + <member name="P:ConsoleAppVisuals.Elements.Prompt.Question"> <summary> - This property returns the lines of the InteractiveList. + The question of the prompt element. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.Placement"> + <member name="P:ConsoleAppVisuals.Elements.Prompt.DefaultValue"> <summary> - This property returns the title of the InteractiveList. + The default value of the response. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.Line"> + <member name="P:ConsoleAppVisuals.Elements.Prompt.MaxLength"> <summary> - This property returns the line to display the InteractiveList on. + The maximum length of the response. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.Height"> + <member name="M:ConsoleAppVisuals.Elements.Prompt.#ctor(System.String,System.String,ConsoleAppVisuals.Enums.Placement,System.Int32)"> <summary> - This property returns the height of the InteractiveList. + The natural constructor of the prompt element. </summary> + <param name="question">The text on the left of the prompt element.</param> + <param name="defaultValue">The text in the center of the prompt element.</param> + <param name="placement">The placement of the prompt element.</param> + <param name="maxLength">The maximum length of the response.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.Width"> + <member name="M:ConsoleAppVisuals.Elements.Prompt.UpdateQuestion(System.String)"> <summary> - This property returns the width of the InteractiveList. + This method is used to update the question of the prompt element. </summary> + <param name="question">The new question of the prompt element.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.InteractiveList.Count"> + <member name="M:ConsoleAppVisuals.Elements.Prompt.UpdateDefaultValue(System.String)"> <summary> - This property returns the number of lines in the InteractiveList. + This method is used to update the default value of the prompt element. </summary> + <param name="defaultValue">The new default value of the prompt element.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.InteractiveList.#ctor(ConsoleAppVisuals.Placement,System.Boolean,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.Prompt.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - This constructor creates a new instance of the WindowElementsInteractiveList class. + This method is used to update the placement of the prompt element. </summary> - <param name="placement">The placement of the InteractiveList.</param> - <param name="roundedCorners">If true, the corners of the InteractiveList will be rounded.</param> - <param name="line">The line to display the InteractiveList on.</param> + <param name="placement">The new placement of the prompt element.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.InteractiveList.SetRoundedCorners(System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.Prompt.UpdateMaxLength(System.Int32)"> <summary> - Toggles the rounded corners of the element. + This method is used to update the maximum length of the response. </summary> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <param name="maxLength">The new maximum length of the response.</param> + <exception cref="T:System.ArgumentOutOfRangeException">The maximum length of the response must be greater than 0 and less than the width of the console window.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.InteractiveList.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.Prompt.RenderElementActions"> <summary> - This method displays the InteractiveList. + This method is used to render the prompt element on the console. </summary> </member> - <member name="T:ConsoleAppVisuals.EmbedText"> + <member name="T:ConsoleAppVisuals.Elements.ScrollingMenu"> <summary> - Defines the basic properties of an Embed text. + Defines the scrolling menu the console window. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.EmbedText.Placement"> - <summary> - The position of the Embed text. - </summary> - </member> - <member name="P:ConsoleAppVisuals.EmbedText.Line"> + <member name="P:ConsoleAppVisuals.Elements.ScrollingMenu.Placement"> <summary> - The Line of the Embed text. + The placement of the menu on the console. </summary> </member> - <member name="P:ConsoleAppVisuals.EmbedText.Height"> + <member name="P:ConsoleAppVisuals.Elements.ScrollingMenu.Height"> <summary> - The height of the Embed text. + The height of the menu. </summary> </member> - <member name="P:ConsoleAppVisuals.EmbedText.Width"> + <member name="P:ConsoleAppVisuals.Elements.ScrollingMenu.Width"> <summary> - The width of the Embed text. + The width of the menu. </summary> </member> - <member name="P:ConsoleAppVisuals.EmbedText.Text"> + <member name="P:ConsoleAppVisuals.Elements.ScrollingMenu.Question"> <summary> - The text of the Embed text. + The question to ask the user. </summary> </member> - <member name="P:ConsoleAppVisuals.EmbedText.ButtonText"> + <member name="P:ConsoleAppVisuals.Elements.ScrollingMenu.Choices"> <summary> - The text of the button. + The different choices of the menu. </summary> </member> - <member name="P:ConsoleAppVisuals.EmbedText.TextToDisplay"> + <member name="P:ConsoleAppVisuals.Elements.ScrollingMenu.DefaultIndex"> <summary> - The text to display. + The index of the default choice(initially 0). </summary> </member> - <member name="M:ConsoleAppVisuals.EmbedText.#ctor(System.Collections.Generic.List{System.String},System.String,ConsoleAppVisuals.TextAlignment,ConsoleAppVisuals.Placement,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.ScrollingMenu.#ctor(System.String,System.Int32,ConsoleAppVisuals.Enums.Placement,System.String[])"> <summary> - The natural constructor of the Embed text. + The constructor of the ScrollingMenu class. </summary> - <param name="text">The text to display.</param> - <param name="button">The text of the button.</param> - <param name="align">The alignment of the Embed text.</param> - <param name="placement">The placement of the Embed text element.</param> - <param name="line">The line of the Embed text.</param> + <param name="question">The question to ask the user.</param> + <param name="defaultIndex">The index of the default choice(initially 0).</param> + <param name="placement">The placement of the menu on the console.</param> + <param name="choices">The different choices of the menu.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.EmbedText.AddLine(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.ScrollingMenu.UpdateQuestion(System.String)"> <summary> - Adds a line to the Embed text. + This method is used to update the question of the menu. </summary> - <param name="line">The line to add.</param> + <param name="question">The new question of the menu.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.EmbedText.InsertLine(System.String,System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.ScrollingMenu.UpdateChoices(System.String[])"> <summary> - Inserts a line to the Embed text. + This method is used to update the choices of the menu. </summary> - <param name="line">The line to insert.</param> - <param name="index">The index where to insert the line.</param> + <param name="choices">The new choices of the menu.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.EmbedText.RemoveLine(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.ScrollingMenu.UpdateDefaultIndex(System.Int32)"> <summary> - Removes a line from the Embed text. + This method is used to update the default index of the menu. </summary> - <param name="line">The line to remove.</param> + <param name="defaultIndex">The new default index of the menu.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.EmbedText.RemoveLine(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.ScrollingMenu.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - Removes a line from the Embed text. + This method is used to update the placement of the menu. </summary> - <param name="index">The index of the line to remove.</param> + <param name="placement">The new placement of the menu.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.EmbedText.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.ScrollingMenu.RenderElementActions"> <summary> - Renders the Embed text. + This method is used to draw the menu on the console. </summary> </member> - <member name="T:ConsoleAppVisuals.FloatSelector"> + <member name="T:ConsoleAppVisuals.Elements.TableSelector`1"> <summary> - Defines the number selector of the console window. + The <see cref="T:ConsoleAppVisuals.Elements.TableSelector`1"/> class that contains the methods to create a table and display it. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Placement"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.Placement"> <summary> - The placement of the selector on the console. + This property returns the title of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Line"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.Height"> <summary> - The line where the selector will be displayed. + This property returns the height of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Height"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.Width"> <summary> - The height of the selector. + This property returns the width of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Width"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.Title"> <summary> - The width of the selector. + This property returns the title of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Question"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.ExcludeHeader"> <summary> - The question to ask the user. + This property returns if the header is excluded. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Min"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.ExcludeFooter"> <summary> - The minimum value of the selector. + This property returns if the footer is excluded. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Max"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.FooterText"> <summary> - The maximum value of the selector. + This property returns the text of the footer. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Start"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.RoundedCorners"> <summary> - The start value of the selector. + This property returns if the corners are rounded. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.Step"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.GetCorners"> <summary> - The step of the selector. + This property returns the corners of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.FloatSelector.RoundedCorners"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.GetRawHeaders"> <summary> - Whether the corners of the selector are rounded. + This property returns the headers of the table. </summary> </member> - <member name="M:ConsoleAppVisuals.FloatSelector.#ctor(System.String,System.Single,System.Single,System.Single,System.Single,ConsoleAppVisuals.Placement,System.Nullable{System.Int32},System.Boolean)"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.GetRawLines"> <summary> - The constructor of the FloatSelector class. + This property returns the lines of the table. </summary> - <param name="question">The question to ask the user.</param> - <param name="min">The minimum value of the selector.</param> - <param name="max">The maximum value of the selector.</param> - <param name="start">The start value of the selector.</param> - <param name="step">The step of the selector.</param> - <param name="placement">The placement of the selector on the console.</param> - <param name="line">The line where the selector will be displayed.</param> - <param name="roundedCorners">Whether the corners of the selector are rounded.</param> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.FloatSelector.RenderElementActions"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.Count"> <summary> - This method is used to draw the selector on the console. + This property returns the number of lines in the table. </summary> </member> - <member name="T:ConsoleAppVisuals.IntSelector"> + <member name="P:ConsoleAppVisuals.Elements.TableSelector`1.DisplayArray"> <summary> - Defines the number selector of the console window. + This property returns the display array of the table. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.#ctor(System.String,System.Collections.Generic.List{System.String},System.Collections.Generic.List{System.Collections.Generic.List{`0}},System.Boolean,System.Boolean,System.String,ConsoleAppVisuals.Enums.Placement)"> + <summary> + The <see cref="T:ConsoleAppVisuals.Elements.TableSelector`1"/> natural constructor. </summary> + <param name="title">The title of the table.</param> + <param name="lines">The lines of the table.</param> + <param name="headers">The headers of the table.</param> + <param name="excludeHeader">Whether to exclude the header from selectable elements.</param> + <param name="excludeFooter">Whether to exclude the footer from selectable elements.</param> + <param name="footerText">The text to display in the footer.</param> + <param name="placement">The placement of the table.</param> + <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> + <exception cref="T:System.NullReferenceException">Is thrown when no body lines were provided.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.IntSelector.Placement"> - <summary> - The placement of the selector on the console. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Line"> - <summary> - The line where the selector will be displayed. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Height"> - <summary> - The height of the selector. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Width"> - <summary> - The width of the selector. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Question"> - <summary> - The question to ask the user. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Min"> - <summary> - The minimum value of the selector. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Max"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - The maximum value of the selector. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Start"> - <summary> - The start value of the selector. - </summary> - </member> - <member name="P:ConsoleAppVisuals.IntSelector.Step"> - <summary> - The step of the selector. + This method updates the placement of the table. </summary> + <param name="placement">The placement of the table.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.IntSelector.RoundedCorners"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.UpdateFooterText(System.String)"> <summary> - Whether the corners of the selector are rounded. + This method updates the text of the footer. </summary> + <param name="footerText"></param> </member> - <member name="M:ConsoleAppVisuals.IntSelector.#ctor(System.String,System.Int32,System.Int32,System.Int32,System.Int32,ConsoleAppVisuals.Placement,System.Nullable{System.Int32},System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.SetExcludeHeader(System.Boolean)"> <summary> - The constructor of the intSelector class. + This method sets the table to exclude the header. </summary> - <param name="question">The question to ask the user.</param> - <param name="min">The minimum value of the selector.</param> - <param name="max">The maximum value of the selector.</param> - <param name="start">The start value of the selector.</param> - <param name="step">The step of the selector.</param> - <param name="placement">The placement of the selector on the console.</param> - <param name="line">The line where the selector will be displayed.</param> - <param name="roundedCorners">Whether the corners of the selector are rounded.</param> + <param name="excludeHeader">Whether to exclude the header or not.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.IntSelector.RenderElementActions"> - <summary> - This method is used to draw the selector on the console. - </summary> - </member> - <member name="T:ConsoleAppVisuals.Prompt"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.SetExcludeFooter(System.Boolean)"> <summary> - Defines the prompt element of the console window. + This method sets the table to exclude the footer. </summary> + <param name="excludeFooter">Whether to exclude the footer or not.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Prompt.Placement"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.AddHeaders(System.Collections.Generic.List{System.String})"> <summary> - The placement of the prompt element. + This method adds headers to the table. </summary> + <param name="headers">The headers to add.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.Prompt.Line"> - <summary> - The line of the prompt element in the console. - </summary> - <remarks>We add 2 because so the prompt element does not overlap with the title.</remarks> - </member> - <member name="P:ConsoleAppVisuals.Prompt.Height"> - <summary> - The height of the prompt element. - </summary> - </member> - <member name="P:ConsoleAppVisuals.Prompt.Width"> - <summary> - The width of the prompt element. - </summary> - <remarks>We add a margin of 2 to be sur to take in account odd question lengths.</remarks> - </member> - <member name="M:ConsoleAppVisuals.Prompt.#ctor(System.String,System.String,ConsoleAppVisuals.Placement,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.UpdateHeaders(System.Collections.Generic.List{System.String})"> <summary> - The natural constructor of the prompt element. + This method updates the headers of the table. </summary> - <param name="question">The text on the left of the prompt element.</param> - <param name="defaultValue">The text in the center of the prompt element.</param> - <param name="placement">The placement of the prompt element.</param> - <param name="line">The line of the prompt element in the console.</param> + <param name="headers">The headers to update.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Prompt.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.AddTitle(System.String)"> <summary> - This method is used to render the prompt element on the console. + This method adds a title to the table. </summary> + <param name="title">The title to add.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="T:ConsoleAppVisuals.ScrollingMenu"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.UpdateTitle(System.String)"> <summary> - Defines the scrolling menu the console window. + This method updates the title of the table. </summary> + <param name="title">The title to update.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.Placement"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.SetRoundedCorners(System.Boolean)"> <summary> - The placement of the menu on the console. + Toggles the rounded corners of the table. </summary> + <param name="rounded">Whether to round the corners or not.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.Line"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.GetLine(System.Int32)"> <summary> - The line where the menu will be displayed. + This property returns the specified line in the table. </summary> + <param name="index">The index of the line to return.</param> + <returns>The line at the specified index.</returns> + <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.Height"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.GetColumnData(System.Int32)"> <summary> - The height of the menu. + This method is used to get all the elements from a column given its index. </summary> + <param name="index">The index of the column.</param> + <returns>The elements of the column.</returns> + <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.Width"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.GetColumnData(System.String)"> <summary> - The width of the menu. + This method is used to get all the elements from a column given its header. </summary> + <param name="header">The header of the column.</param> + <returns>The elements of the column.</returns> + <exception cref="T:System.ArgumentException">Is thrown when the header is invalid.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.Question"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.AddLine(System.Collections.Generic.List{`0})"> <summary> - The question to ask the user. + This method adds a line to the table. </summary> + <param name="line">The line to add.</param> + <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.Choices"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.RemoveLine(System.Int32)"> <summary> - The different choices of the menu. + This method removes a line from the table. </summary> + <param name="index">The index of the line to remove.</param> + <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.ScrollingMenu.DefaultIndex"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.UpdateLine(System.Int32,System.Collections.Generic.List{`0})"> <summary> - The index of the default choice(initially 0). + This method updates a line in the table. </summary> + <param name="index">The index of the line to update.</param> + <param name="line">The new line.</param> + <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> + <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.ScrollingMenu.#ctor(System.String,System.Int32,ConsoleAppVisuals.Placement,System.Nullable{System.Int32},System.String[])"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.ClearHeaders"> <summary> - The constructor of the ScrollingMenu class. + This method clears the headers of the table. </summary> - <param name="question">The question to ask the user.</param> - <param name="defaultIndex">The index of the default choice(initially 0).</param> - <param name="placement">The placement of the menu on the console.</param> - <param name="line">The line where the menu will be displayed.</param> - <param name="choices">The different choices of the menu.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.ScrollingMenu.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.ClearLines"> <summary> - This method is used to draw the menu on the console. + This method clears the lines of the table. </summary> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="T:ConsoleAppVisuals.TableSelector`1"> - <summary> - The <see cref="T:ConsoleAppVisuals.TableSelector`1"/> class that contains the methods to create a table and display it. - </summary> - - </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.Placement"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.Reset"> <summary> - This property returns the title of the table. + This method clears the table. </summary> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.Line"> + <member name="M:ConsoleAppVisuals.Elements.TableSelector`1.RenderElementActions"> <summary> - This property returns the line to display the table on. + This method displays the table without interaction. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.Height"> + <member name="T:ConsoleAppVisuals.Elements.Banner"> <summary> - This property returns the height of the table. + Defines the banner of the console window. </summary> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.Width"> + <member name="P:ConsoleAppVisuals.Elements.Banner.Placement"> <summary> - This property returns the width of the table. + The placement of the banner. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.Title"> + <member name="P:ConsoleAppVisuals.Elements.Banner.Height"> <summary> - This property returns the title of the table. + The height of the banner. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.ExcludeHeader"> + <member name="P:ConsoleAppVisuals.Elements.Banner.Width"> <summary> - This property returns if the header is excluded. + The width of the banner. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.ExcludeFooter"> + <member name="P:ConsoleAppVisuals.Elements.Banner.Text"> <summary> - This property returns if the footer is excluded. + The text of the banner. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.FooterText"> + <member name="P:ConsoleAppVisuals.Elements.Banner.UpperMargin"> <summary> - This property returns the text of the footer. + The upper margin of the banner. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.RoundedCorners"> + <member name="P:ConsoleAppVisuals.Elements.Banner.LowerMargin"> <summary> - This property returns if the corners are rounded. + The lower margin of the banner. </summary> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.GetCorners"> + <member name="M:ConsoleAppVisuals.Elements.Banner.#ctor(System.String,System.String,System.String,System.Int32,System.Int32,ConsoleAppVisuals.Enums.Placement)"> <summary> - This property returns the corners of the table. + The natural constructor of the banner. </summary> + <param name="leftText">The text on the left of the banner.</param> + <param name="centerText">The text in the center of the banner.</param> + <param name="rightText">The text on the right of the banner.</param> + <param name="upperMargin">The upper margin of the banner.</param> + <param name="lowerMargin">The lower margin of the banner.</param> + <param name="placement">The placement of the banner.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.GetRawHeaders"> + <member name="M:ConsoleAppVisuals.Elements.Banner.UpdateLeftText(System.String)"> <summary> - This property returns the headers of the table. + This method is used to update the text on the left of the banner. </summary> + <param name="leftText">The new text on the left of the banner.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.GetRawLines"> + <member name="M:ConsoleAppVisuals.Elements.Banner.UpdateCenterText(System.String)"> <summary> - This property returns the lines of the table. + This method is used to update the text in the center of the banner. </summary> + <param name="centerText">The new text in the center of the banner.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.Count"> + <member name="M:ConsoleAppVisuals.Elements.Banner.UpdateRightText(System.String)"> <summary> - This property returns the number of lines in the table. + This method is used to update the text on the right of the banner. </summary> + <param name="rightText">The new text on the right of the banner.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="P:ConsoleAppVisuals.TableSelector`1.DisplayArray"> + <member name="M:ConsoleAppVisuals.Elements.Banner.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - This property returns the display array of the table. + This method is used to update the placement of the banner. </summary> + <param name="placement">The new placement of the banner.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.#ctor(System.String,System.Collections.Generic.List{System.String},System.Collections.Generic.List{System.Collections.Generic.List{`0}},System.Boolean,System.Boolean,System.String,ConsoleAppVisuals.Placement,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.Banner.UpdateUpperMargin(System.Int32)"> <summary> - The <see cref="T:ConsoleAppVisuals.TableSelector`1"/> natural constructor. + This method is used to update the upper margin of the banner. </summary> - <param name="title">The title of the table.</param> - <param name="lines">The lines of the table.</param> - <param name="headers">The headers of the table.</param> - <param name="excludeHeader">Whether to exclude the header from selectable elements.</param> - <param name="excludeFooter">Whether to exclude the footer from selectable elements.</param> - <param name="footerText">The text to display in the footer.</param> - <param name="placement">The placement of the table.</param> - <param name="line">The line to display the table on.</param> - <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> - <exception cref="T:System.NullReferenceException">Is thrown when no body lines were provided.</exception> + <param name="upperMargin">The new upper margin of the banner.</param> + <exception cref="T:System.ArgumentOutOfRangeException">The upper margin of the banner must be between 0 and the height of the console window.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.AddHeaders(System.Collections.Generic.List{System.String})"> + <member name="M:ConsoleAppVisuals.Elements.Banner.UpdateLowerMargin(System.Int32)"> <summary> - This method adds headers to the table. + This method is used to update the lower margin of the banner. </summary> - <param name="headers">The headers to add.</param> + <param name="lowerMargin">The new lower margin of the banner.</param> + <exception cref="T:System.ArgumentOutOfRangeException">The lower margin of the banner must be between 0 and the height of the console window.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.UpdateHeaders(System.Collections.Generic.List{System.String})"> + <member name="M:ConsoleAppVisuals.Elements.Banner.RenderElementActions"> <summary> - This method updates the headers of the table. + This method is used to render the banner on the console. + </summary> + </member> + <member name="T:ConsoleAppVisuals.Elements.FakeLoadingBar"> + <summary> + Defines the loading bar of the console window. </summary> - <param name="headers">The headers to update.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.AddTitle(System.String)"> + <member name="P:ConsoleAppVisuals.Elements.FakeLoadingBar.Height"> <summary> - This method adds a title to the table. + The height of the loading bar. </summary> - <param name="title">The title to add.</param> + <remarks>One line for the text,one line for the space between and one line for the progress.</remarks> + </member> + <member name="P:ConsoleAppVisuals.Elements.FakeLoadingBar.Width"> + <summary> + The width of the loading bar. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.FakeLoadingBar.Text"> + <summary> + The text of the loading bar. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.FakeLoadingBar.Placement"> + <summary> + The placement of the loading bar. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.FakeLoadingBar.ProcessDuration"> + <summary> + Getter of the duration of the loading bar. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.FakeLoadingBar.AdditionalDuration"> + <summary> + Getter of the additional duration of the loading bar at the end. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.FakeLoadingBar.#ctor(System.String,ConsoleAppVisuals.Enums.Placement,System.Int32,System.Int32)"> + <summary> + The natural constructor of the loading bar. + </summary> + <param name="text">The text of the loading bar.</param> + <param name="placement">The placement of the loading bar.</param> + <param name="processDuration">The duration of the loading bar.</param> + <param name="additionalDuration">The additional duration of the loading bar at the end.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.UpdateTitle(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.FakeLoadingBar.UpdateText(System.String)"> <summary> - This method updates the title of the table. + This method is used to update the text of the loading bar. </summary> - <param name="title">The title to update.</param> + <param name="text">The new text of the loading bar.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.SetRoundedCorners(System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.FakeLoadingBar.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> <summary> - Toggles the rounded corners of the table. + This method is used to update the placement of the loading bar. + </summary> + <param name="placement">The new placement of the loading bar.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.FakeLoadingBar.UpdateAdditionalDuration(System.Int32)"> + <summary> + This method is used to update the additional duration of the loading bar. + </summary> + <param name="additionalDuration">The new additional duration of the loading bar.</param> + <exception cref="T:System.ArgumentOutOfRangeException">The additional duration of the loading bar cannot be negative.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.FakeLoadingBar.RenderElementActions"> + <summary> + This method is used to draw the loading bar on the console. + </summary> + </member> + <member name="T:ConsoleAppVisuals.Elements.Footer"> + <summary> + Defines the footer of the console window. + </summary> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="P:ConsoleAppVisuals.Elements.Footer.Placement"> + <summary> + The placement of the footer. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Footer.Height"> + <summary> + The height of the footer. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Footer.Width"> + <summary> + The width of the footer. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Footer.Text"> + <summary> + The text of the footer. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.Footer.#ctor(System.String,System.String,System.String)"> + <summary> + The natural constructor of the footer. + </summary> + <param name="leftText">The text on the left of the footer.</param> + <param name="centerText">The text in the center of the footer.</param> + <param name="rightText">The text on the right of the footer.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Footer.UpdateLeftText(System.String)"> + <summary> + This method is used to update the text on the left of the footer. + </summary> + <param name="leftText">The new text on the left of the footer.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Footer.UpdateCenterText(System.String)"> + <summary> + This method is used to update the text in the center of the footer. + </summary> + <param name="centerText">The new text in the center of the footer.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Footer.UpdateRightText(System.String)"> + <summary> + This method is used to update the text on the right of the footer. + </summary> + <param name="rightText">The new text on the right of the footer.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Footer.RenderElementActions"> + <summary> + This method is used to render the footer on the console. + </summary> + </member> + <member name="T:ConsoleAppVisuals.Elements.Header"> + <summary> + Defines the header of the console window. + </summary> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="P:ConsoleAppVisuals.Elements.Header.Placement"> + <summary> + The placement of the header. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Header.Height"> + <summary> + The height of the header. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Header.Width"> + <summary> + The width of the header. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Header.Text"> + <summary> + The text of the header. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.Header.Margin"> + <summary> + The margin of the header. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.Header.#ctor(System.String,System.String,System.String,System.Int32)"> + <summary> + The natural constructor of the header. + </summary> + <param name="leftText">The text on the left of the header.</param> + <param name="centerText">The text in the center of the header.</param> + <param name="rightText">The text on the right of the header.</param> + <param name="margin">The margin of the header.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Header.UpdateLeftText(System.String)"> + <summary> + This method is used to update the text on the left of the header. + </summary> + <param name="leftText">The new text on the left of the header.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Header.UpdateCenterText(System.String)"> + <summary> + This method is used to update the text in the center of the header. + </summary> + <param name="centerText">The new text in the center of the header.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Header.UpdateRightText(System.String)"> + <summary> + This method is used to update the text on the right of the header. + </summary> + <param name="rightText">The new text on the right of the header.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Header.UpdateMargin(System.Int32)"> + <summary> + This method is used to update the margin of the header. + </summary> + <param name="margin">The new margin of the header.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Header.RenderElementActions"> + <summary> + This method is used to render the header on the console. + </summary> + </member> + <member name="T:ConsoleAppVisuals.Elements.ElementList"> + <summary> + This class is used to display a ElementList of all the elements in the window. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.RoundedCorners"> + <summary> + This property wether the corners of the ElementList are rounded. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Title"> + <summary> + This property returns the title of the ElementList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Headers"> + <summary> + This property returns the headers of the ElementList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Lines"> + <summary> + This property returns the lines of the ElementList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Placement"> + <summary> + This property returns the title of the ElementList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Height"> + <summary> + This property returns the height of the ElementList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Width"> + <summary> + This property returns the width of the ElementList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementList.Count"> + <summary> + This property returns the number of lines in the ElementList. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementList.#ctor(ConsoleAppVisuals.Enums.Placement,System.Boolean)"> + <summary> + This constructor creates a new instance of the WindowElementsElementList class. + </summary> + <param name="placement">The placement of the ElementList.</param> + <param name="roundedCorners">If true, the corners of the ElementList will be rounded.</param> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementList.SetRoundedCorners(System.Boolean)"> + <summary> + Toggles the rounded corners of the element. + </summary> + <param name="rounded">If true, the corners of the ElementList will be rounded.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementList.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> + <summary> + This method adds a line to the ElementList. + </summary> + <param name="placement">The placement of the ElementList.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementList.RenderElementActions"> + <summary> + This method displays the ElementList. + </summary> + </member> + <member name="T:ConsoleAppVisuals.Elements.ElementsDashboard"> + <summary> + This class is used to display a dashboard of all the elements in the window. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.RoundedCorners"> + <summary> + This property wether the corners of the dashboard are rounded. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Title"> + <summary> + This property returns the title of the dashboard. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Headers"> + <summary> + This property returns the headers of the dashboard. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Lines"> + <summary> + This property returns the lines of the dashboard. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Placement"> + <summary> + This property returns the title of the dashboard. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Height"> + <summary> + This property returns the height of the dashboard. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Width"> + <summary> + This property returns the width of the dashboard. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.ElementsDashboard.Count"> + <summary> + This property returns the number of lines in the dashboard. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementsDashboard.#ctor(ConsoleAppVisuals.Enums.Placement,System.Boolean)"> + <summary> + This constructor creates a new instance of the WindowElementsDashboard class. + </summary> + <param name="placement">The placement of the dashboard.</param> + <param name="roundedCorners">If true, the corners of the dashboard will be rounded.</param> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementsDashboard.SetRoundedCorners(System.Boolean)"> + <summary> + Toggles the rounded corners of the element. + </summary> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.ElementsDashboard.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> + <summary> + This method updates the placement of the dashboard. </summary> - <param name="rounded">Whether to round the corners or not.</param> + <param name="placement">The new placement of the dashboard.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.GetLine(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.ElementsDashboard.RenderElementActions"> <summary> - This property returns the specified line in the table. + This method displays the dashboard. </summary> - <param name="index">The index of the line to return.</param> - <returns>The line at the specified index.</returns> - <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.GetColumnData(System.Int32)"> + <member name="T:ConsoleAppVisuals.Elements.InteractiveList"> <summary> - This method is used to get all the elements from a column given its index. + This class is used to display a InteractiveList of all the elements in the window. </summary> - <param name="index">The index of the column.</param> - <returns>The elements of the column.</returns> - <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.GetColumnData(System.String)"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Title"> <summary> - This method is used to get all the elements from a column given its header. + This property returns the title of the InteractiveList. </summary> - <param name="header">The header of the column.</param> - <returns>The elements of the column.</returns> - <exception cref="T:System.ArgumentException">Is thrown when the header is invalid.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.AddLine(System.Collections.Generic.List{`0})"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Headers"> <summary> - This method adds a line to the table. + This property returns the headers of the dashboard. </summary> - <param name="line">The line to add.</param> - <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.RemoveLine(System.Int32)"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.RoundedCorners"> <summary> - This method removes a line from the table. + This property wether the corners of the InteractiveList are rounded. </summary> - <param name="index">The index of the line to remove.</param> - <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.UpdateLine(System.Int32,System.Collections.Generic.List{`0})"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Lines"> <summary> - This method updates a line in the table. + This property returns the lines of the InteractiveList. </summary> - <param name="index">The index of the line to update.</param> - <param name="line">The new line.</param> - <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> - <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.ClearHeaders"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Placement"> <summary> - This method clears the headers of the table. + This property returns the title of the InteractiveList. </summary> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.ClearLines"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Height"> <summary> - This method clears the lines of the table. + This property returns the line to display the InteractiveList on. + </summary> + <summary> + This property returns the height of the InteractiveList. </summary> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.Reset"> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Width"> <summary> - This method clears the table. + This property returns the width of the InteractiveList. + </summary> + </member> + <member name="P:ConsoleAppVisuals.Elements.InteractiveList.Count"> + <summary> + This property returns the number of lines in the InteractiveList. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.InteractiveList.#ctor(ConsoleAppVisuals.Enums.Placement,System.Boolean)"> + <summary> + This constructor creates a new instance of the WindowElementsInteractiveList class. + </summary> + <param name="placement">The placement of the InteractiveList.</param> + <param name="roundedCorners">If true, the corners of the InteractiveList will be rounded.</param> + </member> + <member name="M:ConsoleAppVisuals.Elements.InteractiveList.SetRoundedCorners(System.Boolean)"> + <summary> + Toggles the rounded corners of the element. + </summary> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.InteractiveList.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> + <summary> + This method updates the placement of the InteractiveList. </summary> + <param name="placement">The new placement of the InteractiveList.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TableSelector`1.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.InteractiveList.RenderElementActions"> <summary> - This method displays the table without interaction. + This method displays the InteractiveList. </summary> </member> - <member name="T:ConsoleAppVisuals.LoadingBar"> + <member name="T:ConsoleAppVisuals.Elements.LoadingBar"> <summary> Defines the loading bar of the console window. </summary> @@ -1722,65 +2203,58 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.LoadingBar.Line"> - <summary> - The line of the loading bar in the console. - </summary> - <remarks>We add 2 because so the loading bar does not overlap with the title.</remarks> - </member> - <member name="P:ConsoleAppVisuals.LoadingBar.Height"> + <member name="P:ConsoleAppVisuals.Elements.LoadingBar.Height"> <summary> The height of the loading bar. </summary> <remarks>One line for the text,one line for the space between and one line for the progress.</remarks> </member> - <member name="P:ConsoleAppVisuals.LoadingBar.Width"> + <member name="P:ConsoleAppVisuals.Elements.LoadingBar.Width"> <summary> The width of the loading bar. </summary> </member> - <member name="P:ConsoleAppVisuals.LoadingBar.Placement"> + <member name="P:ConsoleAppVisuals.Elements.LoadingBar.Placement"> <summary> The placement of the loading bar. </summary> </member> - <member name="P:ConsoleAppVisuals.LoadingBar.Text"> + <member name="P:ConsoleAppVisuals.Elements.LoadingBar.Text"> <summary> Getters and setters of the text of the loading bar. </summary> </member> - <member name="P:ConsoleAppVisuals.LoadingBar.Progress"> + <member name="P:ConsoleAppVisuals.Elements.LoadingBar.Progress"> <summary> Getters and setters of the progress of the loading bar. </summary> </member> - <member name="P:ConsoleAppVisuals.LoadingBar.AdditionalDuration"> + <member name="P:ConsoleAppVisuals.Elements.LoadingBar.AdditionalDuration"> <summary> Getters of the additional duration of the loading bar at the end. </summary> </member> - <member name="M:ConsoleAppVisuals.LoadingBar.#ctor(System.String,System.Single@,ConsoleAppVisuals.Placement,System.Nullable{System.Int32},System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.LoadingBar.#ctor(System.String,System.Single@,ConsoleAppVisuals.Enums.Placement,System.Int32)"> <summary> The natural constructor of the loading bar. </summary> <param name="text">The text of the loading bar.</param> <param name="progress">The reference of the progress of the loading bar (that means that you should put a reference to a variable that will contain the percentage of progress of your process).</param> <param name="placement">The placement of the loading bar.</param> - <param name="line">The line of the loading bar.</param> <param name="additionalDuration">The duration of the loading bar after the process.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.LoadingBar.UpdateText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.LoadingBar.UpdateText(System.String)"> <summary> This method is used to update the text of the loading bar. </summary> @@ -1789,11 +2263,38 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.LoadingBar.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> + <summary> + This method is used to update the placement of the loading bar. + </summary> + <param name="placement">The new placement of the loading bar.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.LoadingBar.UpdateAdditionalDuration(System.Int32)"> + <summary> + This method is used to update the additional duration of the loading bar. + </summary> + <param name="additionalDuration">The new additional duration of the loading bar.</param> + <exception cref="T:System.ArgumentException">The additional duration of the loading bar cannot be negative.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.LoadingBar.UpdateProgress(System.Single)"> + <member name="M:ConsoleAppVisuals.Elements.LoadingBar.UpdateProgress(System.Single)"> <summary> This method is used to update the progress of the loading bar. </summary> @@ -1802,63 +2303,57 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.LoadingBar.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.LoadingBar.RenderElementActions"> <summary> This method is used to draw the loading bar on the console. </summary> </member> - <member name="T:ConsoleAppVisuals.Matrix`1"> + <member name="T:ConsoleAppVisuals.Elements.Matrix`1"> <summary> A matrix class for the console. </summary> </member> - <member name="P:ConsoleAppVisuals.Matrix`1.RoundedCorners"> + <member name="P:ConsoleAppVisuals.Elements.Matrix`1.RoundedCorners"> <summary> Gets the rounded corners boolean value of the matrix. </summary> </member> - <member name="P:ConsoleAppVisuals.Matrix`1.Count"> + <member name="P:ConsoleAppVisuals.Elements.Matrix`1.Count"> <summary> Gets the number of lines in the matrix. </summary> </member> - <member name="P:ConsoleAppVisuals.Matrix`1.Placement"> + <member name="P:ConsoleAppVisuals.Elements.Matrix`1.Placement"> <summary> Gets the placement of the matrix. </summary> </member> - <member name="P:ConsoleAppVisuals.Matrix`1.Height"> + <member name="P:ConsoleAppVisuals.Elements.Matrix`1.Height"> <summary> Gets the height of the matrix. </summary> </member> - <member name="P:ConsoleAppVisuals.Matrix`1.Width"> + <member name="P:ConsoleAppVisuals.Elements.Matrix`1.Width"> <summary> Gets the width of the matrix. </summary> </member> - <member name="P:ConsoleAppVisuals.Matrix`1.Line"> - <summary> - Gets the line of the matrix. - </summary> - </member> - <member name="M:ConsoleAppVisuals.Matrix`1.#ctor(System.Collections.Generic.List{System.Collections.Generic.List{`0}},System.Boolean,ConsoleAppVisuals.Placement,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.#ctor(System.Collections.Generic.List{System.Collections.Generic.List{`0}},System.Boolean,ConsoleAppVisuals.Enums.Placement)"> <summary> - The natural constructor of the <see cref="T:ConsoleAppVisuals.Matrix`1"/> class. + The natural constructor of the <see cref="T:ConsoleAppVisuals.Elements.Matrix`1"/> class. </summary> <param name="rawLines">The matrix to be used.</param> <param name="roundedCorners">Whether the matrix should have rounded corners or not.</param> <param name="placement">The placement of the matrix.</param> - <param name="line">The line of the matrix.</param> <exception cref="T:System.ArgumentException">Thrown when the matrix is empty or not compatible (lines are not of the same length).</exception> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.SetRoundedCorners(System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.SetRoundedCorners(System.Boolean)"> <summary> Toggles the rounded corners of the table. </summary> @@ -1866,11 +2361,24 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.UpdatePlacement(ConsoleAppVisuals.Enums.Placement)"> + <summary> + This method is used to update the placement of the matrix. + </summary> + <param name="placement">The new placement of the matrix.</param> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.GetItem(ConsoleAppVisuals.Position)"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.GetItem(ConsoleAppVisuals.Models.Position)"> <summary> Gets the element at the specified position. </summary> @@ -1881,11 +2389,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.AddLine(System.Collections.Generic.List{`0})"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.AddLine(System.Collections.Generic.List{`0})"> <summary> Adds a line to the matrix. </summary> @@ -1896,11 +2404,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.InsertLine(System.Int32,System.Collections.Generic.List{`0})"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.InsertLine(System.Int32,System.Collections.Generic.List{`0})"> <summary> Inserts a line at the specified index. </summary> @@ -1913,11 +2421,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.UpdateLine(System.Int32,System.Collections.Generic.List{`0})"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.UpdateLine(System.Int32,System.Collections.Generic.List{`0})"> <summary> Updates a line in the matrix. </summary> @@ -1930,11 +2438,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.UpdateItem(ConsoleAppVisuals.Position,`0)"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.UpdateItem(ConsoleAppVisuals.Models.Position,`0)"> <summary> Updates an element in the matrix. </summary> @@ -1946,11 +2454,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.RemoveLine(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.RemoveLine(System.Int32)"> <summary> Removes a line from the matrix. </summary> @@ -1961,11 +2469,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.RemoveItem(ConsoleAppVisuals.Position)"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.RemoveItem(ConsoleAppVisuals.Models.Position)"> <summary> Removes an element from the matrix. </summary> @@ -1976,11 +2484,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Matrix`1.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.Matrix`1.RenderElementActions"> <summary> Writes the matrix instance to the console. </summary> @@ -1988,118 +2496,112 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="T:ConsoleAppVisuals.TableView`1"> + <member name="T:ConsoleAppVisuals.Elements.TableView`1"> <summary> - The <see cref="T:ConsoleAppVisuals.TableView`1"/> class that contains the methods to create a table and display it. + The <see cref="T:ConsoleAppVisuals.Elements.TableView`1"/> class that contains the methods to create a table and display it. </summary> </member> - <member name="P:ConsoleAppVisuals.TableView`1.GetRawHeaders"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.GetRawHeaders"> <summary> This property returns the headers of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.TableView`1.GetRawLines"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.GetRawLines"> <summary> This property returns the lines of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.TableView`1.Placement"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.Placement"> <summary> This property returns the title of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.TableView`1.Line"> - <summary> - This property returns the line to display the table on. - </summary> - </member> - <member name="P:ConsoleAppVisuals.TableView`1.Height"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.Height"> <summary> This property returns the height of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.TableView`1.Width"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.Width"> <summary> This property returns the width of the table. </summary> </member> - <member name="P:ConsoleAppVisuals.TableView`1.MaxNumberOfThisElement"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.MaxNumberOfThisElement"> <summary> This property returns the maximum number of this element that can be displayed on the console. </summary> </member> - <member name="M:ConsoleAppVisuals.TableView`1.#ctor(System.String,System.Collections.Generic.List{System.String},System.Collections.Generic.List{System.Collections.Generic.List{`0}},System.Boolean,ConsoleAppVisuals.Placement,System.Nullable{System.Int32})"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.#ctor(System.String,System.Collections.Generic.List{System.String},System.Collections.Generic.List{System.Collections.Generic.List{`0}},System.Boolean,ConsoleAppVisuals.Enums.Placement)"> <summary> - The <see cref="T:ConsoleAppVisuals.TableView`1"/> natural constructor. + The <see cref="T:ConsoleAppVisuals.Elements.TableView`1"/> natural constructor. </summary> <param name="title">The title of the table.</param> <param name="headers">The headers of the table.</param> <param name="lines">The lines of the table.</param> <param name="roundedCorners">The rounded corners of the table.</param> <param name="placement">The placement of the table.</param> - <param name="line">The line to display the table on.</param> <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> <exception cref="T:System.NullReferenceException">Is thrown when no body lines were provided.</exception> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="P:ConsoleAppVisuals.TableView`1.Count"> + <member name="P:ConsoleAppVisuals.Elements.TableView`1.Count"> <summary> This property returns the number of lines in the table. </summary> </member> - <member name="M:ConsoleAppVisuals.TableView`1.SetRoundedCorners(System.Boolean)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.SetRoundedCorners(System.Boolean)"> <summary> Toggles the rounded corners of the table. </summary> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="M:ConsoleAppVisuals.TableView`1.AddTitle(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.AddTitle(System.String)"> <summary> This method adds a title to the table. </summary> <param name="title">The title to add.</param> </member> - <member name="M:ConsoleAppVisuals.TableView`1.UpdateTitle(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.UpdateTitle(System.String)"> <summary> This method updates the title of the table. </summary> <param name="title">The title to update.</param> </member> - <member name="M:ConsoleAppVisuals.TableView`1.ClearTitle"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.ClearTitle"> <summary> This method clears the title of the table. </summary> </member> - <member name="M:ConsoleAppVisuals.TableView`1.AddHeaders(System.Collections.Generic.List{System.String})"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.AddHeaders(System.Collections.Generic.List{System.String})"> <summary> This method adds headers to the table. </summary> <param name="headers">The headers to add.</param> </member> - <member name="M:ConsoleAppVisuals.TableView`1.UpdateHeaders(System.Collections.Generic.List{System.String})"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.UpdateHeaders(System.Collections.Generic.List{System.String})"> <summary> This method updates the headers of the table. </summary> <param name="headers">The headers to update.</param> </member> - <member name="M:ConsoleAppVisuals.TableView`1.ClearHeaders"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.ClearHeaders"> <summary> This method clears the headers of the table. </summary> </member> - <member name="M:ConsoleAppVisuals.TableView`1.AddLine(System.Collections.Generic.List{`0})"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.AddLine(System.Collections.Generic.List{`0})"> <summary> This method adds a line to the table. </summary> <param name="line">The line to add.</param> <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="M:ConsoleAppVisuals.TableView`1.UpdateLine(System.Int32,System.Collections.Generic.List{`0})"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.UpdateLine(System.Int32,System.Collections.Generic.List{`0})"> <summary> This method updates a line in the table. </summary> @@ -2107,31 +2609,31 @@ <param name="line">The new line.</param> <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> <exception cref="T:System.ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="M:ConsoleAppVisuals.TableView`1.RemoveLine(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.RemoveLine(System.Int32)"> <summary> This method removes a line from the table. </summary> <param name="index">The index of the line to remove.</param> <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="M:ConsoleAppVisuals.TableView`1.ClearLines"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.ClearLines"> <summary> This method clears the lines of the table. </summary> </member> - <member name="M:ConsoleAppVisuals.TableView`1.GetLine(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.GetLine(System.Int32)"> <summary> This property returns the specified line in the table. </summary> <param name="index">The index of the line to return.</param> <returns>The line at the specified index.</returns> <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> - <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> </member> - <member name="M:ConsoleAppVisuals.TableView`1.GetColumnData(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.GetColumnData(System.Int32)"> <summary> This method is used to get all the elements from a column given its index. </summary> @@ -2139,7 +2641,7 @@ <returns>The elements of the column.</returns> <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> </member> - <member name="M:ConsoleAppVisuals.TableView`1.GetColumnData(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.GetColumnData(System.String)"> <summary> This method is used to get all the elements from a column given its header. </summary> @@ -2148,17 +2650,17 @@ <exception cref="T:System.InvalidOperationException">Is thrown when the table is empty.</exception> <exception cref="T:System.ArgumentOutOfRangeException">Is thrown when the header is invalid.</exception> </member> - <member name="M:ConsoleAppVisuals.TableView`1.Reset"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.Reset"> <summary> This method clears the table. </summary> </member> - <member name="M:ConsoleAppVisuals.TableView`1.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.TableView`1.RenderElementActions"> <summary> This method displays the table without interaction. </summary> </member> - <member name="T:ConsoleAppVisuals.Title"> + <member name="T:ConsoleAppVisuals.Elements.Title"> <summary> Defines the title of the console window. </summary> @@ -2166,31 +2668,36 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Title.StyledText"> - <summary> + <member name="P:ConsoleAppVisuals.Elements.Title.StyledText"> + <summary> - </summary> + </summary> </member> - <member name="P:ConsoleAppVisuals.Title.Placement"> + <member name="P:ConsoleAppVisuals.Elements.Title.Placement"> <summary> The placement of the title. </summary> </member> - <member name="P:ConsoleAppVisuals.Title.Height"> + <member name="P:ConsoleAppVisuals.Elements.Title.Height"> <summary> The height of the title. </summary> </member> - <member name="P:ConsoleAppVisuals.Title.Width"> + <member name="P:ConsoleAppVisuals.Elements.Title.Width"> <summary> The width of the title. </summary> </member> - <member name="M:ConsoleAppVisuals.Title.#ctor(System.String,System.Int32,System.Nullable{System.Int32},ConsoleAppVisuals.TextAlignment)"> + <member name="P:ConsoleAppVisuals.Elements.Title.Line"> + <summary> + The line of the title. + </summary> + </member> + <member name="M:ConsoleAppVisuals.Elements.Title.#ctor(System.String,System.Int32,System.Nullable{System.Int32},ConsoleAppVisuals.Enums.TextAlignment)"> <summary> The constructor of the title. </summary> @@ -2202,11 +2709,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Title.UpdateText(System.String)"> + <member name="M:ConsoleAppVisuals.Elements.Title.UpdateText(System.String)"> <summary> This method updates the text of the title. </summary> @@ -2215,51 +2722,79 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Title.UpdateMargin(System.Int32)"> + <member name="M:ConsoleAppVisuals.Elements.Title.UpdateMargin(System.Int32)"> <summary> This method updates the margin of the title. </summary> <param name="margin">The new margin of the title.</param> + <exception cref="T:System.ArgumentOutOfRangeException">The margin must be between 0 and the half of the console height.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Title.UpdateWidth(System.Int32)"> + <summary> + This method updates the width of the title. + </summary> + <param name="width">The new width of the title.</param> + <exception cref="T:System.ArgumentOutOfRangeException">The width must be between 0 and the console width.</exception> + <remarks> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Elements.Title.UpdateAlignment(ConsoleAppVisuals.Enums.TextAlignment)"> + <summary> + This method updates the alignment of the title. + </summary> + <param name="align">The new alignment of the title.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Title.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Elements.Title.RenderElementActions"> <summary> This method is used to draw the title on the console. </summary> </member> - <member name="T:ConsoleAppVisuals.Direction"> + <member name="T:ConsoleAppVisuals.Enums.Direction"> <summary> - The <see cref="T:ConsoleAppVisuals.Direction"/> enum defines the direction in some space. + The <see cref="T:ConsoleAppVisuals.Enums.Direction"/> enum defines the direction in some space. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="F:ConsoleAppVisuals.Direction.Up"> + <member name="F:ConsoleAppVisuals.Enums.Direction.Up"> <summary> The up direction. </summary> </member> - <member name="F:ConsoleAppVisuals.Direction.Down"> + <member name="F:ConsoleAppVisuals.Enums.Direction.Down"> <summary> The down direction. </summary> </member> - <member name="T:ConsoleAppVisuals.Output"> + <member name="T:ConsoleAppVisuals.Enums.Output"> <summary> Enum for the output of the scrolling menus. </summary> @@ -2267,96 +2802,96 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="F:ConsoleAppVisuals.Output.None"> + <member name="F:ConsoleAppVisuals.Enums.Output.None"> <summary> Default value. </summary> </member> - <member name="F:ConsoleAppVisuals.Output.Selected"> + <member name="F:ConsoleAppVisuals.Enums.Output.Selected"> <summary> Chose to validate the input. </summary> </member> - <member name="F:ConsoleAppVisuals.Output.Deleted"> + <member name="F:ConsoleAppVisuals.Enums.Output.Deleted"> <summary> Chose to delete an item. </summary> </member> - <member name="F:ConsoleAppVisuals.Output.Escaped"> + <member name="F:ConsoleAppVisuals.Enums.Output.Escaped"> <summary> Chose to exit the menu. </summary> </member> - <member name="T:ConsoleAppVisuals.Placement"> + <member name="T:ConsoleAppVisuals.Enums.Placement"> <summary> - The <see cref="T:ConsoleAppVisuals.Placement"/> enum defines the placement of a string in some space. + The <see cref="T:ConsoleAppVisuals.Enums.Placement"/> enum defines the placement of a string in some space. It could be another string or a console line. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="F:ConsoleAppVisuals.Placement.TopCenter"> + <member name="F:ConsoleAppVisuals.Enums.Placement.TopCenter"> <summary> The object is placed in the top center of the space. </summary> </member> - <member name="F:ConsoleAppVisuals.Placement.TopLeft"> + <member name="F:ConsoleAppVisuals.Enums.Placement.TopLeft"> <summary> The object is placed in the top left of the space. </summary> </member> - <member name="F:ConsoleAppVisuals.Placement.TopRight"> + <member name="F:ConsoleAppVisuals.Enums.Placement.TopRight"> <summary> The object is placed in the top right of the space. </summary> </member> - <member name="F:ConsoleAppVisuals.Placement.TopCenterFullWidth"> + <member name="F:ConsoleAppVisuals.Enums.Placement.TopCenterFullWidth"> <summary> The object is placed in the top center of the space and takes all the width. </summary> </member> - <member name="F:ConsoleAppVisuals.Placement.BottomCenterFullWidth"> + <member name="F:ConsoleAppVisuals.Enums.Placement.BottomCenterFullWidth"> <summary> The object is placed in the bottom center of the space and takes all the width. </summary> </member> - <member name="T:ConsoleAppVisuals.TextAlignment"> + <member name="T:ConsoleAppVisuals.Enums.TextAlignment"> <summary> - The <see cref="T:ConsoleAppVisuals.TextAlignment"/> enum defines the alignment of a string in the space. + The <see cref="T:ConsoleAppVisuals.Enums.TextAlignment"/> enum defines the alignment of a string in the space. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="F:ConsoleAppVisuals.TextAlignment.Center"> + <member name="F:ConsoleAppVisuals.Enums.TextAlignment.Center"> <summary> The string is placed in the center of the space. </summary> </member> - <member name="F:ConsoleAppVisuals.TextAlignment.Left"> + <member name="F:ConsoleAppVisuals.Enums.TextAlignment.Left"> <summary> The string is placed on the left of the space. </summary> </member> - <member name="F:ConsoleAppVisuals.TextAlignment.Right"> + <member name="F:ConsoleAppVisuals.Enums.TextAlignment.Right"> <summary> The string is placed on the right of the space. </summary> </member> - <member name="T:ConsoleAppVisuals.ElementNotFoundException"> + <member name="T:ConsoleAppVisuals.Errors.ElementNotFoundException"> <summary> Exception thrown when an element is not found in a collection. </summary> @@ -2364,44 +2899,29 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.ElementNotFoundException.#ctor"> + <member name="M:ConsoleAppVisuals.Errors.ElementNotFoundException.#ctor"> <summary> Default constructor. </summary> </member> - <member name="M:ConsoleAppVisuals.ElementNotFoundException.#ctor(System.String)"> + <member name="M:ConsoleAppVisuals.Errors.ElementNotFoundException.#ctor(System.String)"> <summary> Constructor with message. </summary> <param name="message">Message to be displayed.</param> </member> - <member name="M:ConsoleAppVisuals.ElementNotFoundException.#ctor(System.String,System.Exception)"> + <member name="M:ConsoleAppVisuals.Errors.ElementNotFoundException.#ctor(System.String,System.Exception)"> <summary> Constructor with message and inner exception. </summary> <param name="message">Message to be displayed.</param> <param name="inner">Inner exception.</param> </member> - <member name="M:ConsoleAppVisuals.ElementNotFoundException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> - <summary> - Serialization constructor. - </summary> - <param name="info">Serialization info.</param> - <param name="context">Streaming context.</param> - </member> - <member name="M:ConsoleAppVisuals.ElementNotFoundException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> - <summary> - Get object data for serialization. - </summary> - <param name="info">Serialization info.</param> - <param name="context">Streaming context.</param> - <exception cref="T:System.ArgumentNullException"></exception> - </member> - <member name="T:ConsoleAppVisuals.EmptyFileException"> + <member name="T:ConsoleAppVisuals.Errors.EmptyFileException"> <summary> Exception thrown when no data is found in a file. </summary> @@ -2409,44 +2929,29 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.EmptyFileException.#ctor"> + <member name="M:ConsoleAppVisuals.Errors.EmptyFileException.#ctor"> <summary> Default constructor. </summary> </member> - <member name="M:ConsoleAppVisuals.EmptyFileException.#ctor(System.String)"> + <member name="M:ConsoleAppVisuals.Errors.EmptyFileException.#ctor(System.String)"> <summary> Constructor with message. </summary> <param name="message">Message to be displayed.</param> </member> - <member name="M:ConsoleAppVisuals.EmptyFileException.#ctor(System.String,System.Exception)"> + <member name="M:ConsoleAppVisuals.Errors.EmptyFileException.#ctor(System.String,System.Exception)"> <summary> Constructor with message and inner exception. </summary> <param name="message">Message to be displayed.</param> <param name="inner">Inner exception.</param> </member> - <member name="M:ConsoleAppVisuals.EmptyFileException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> - <summary> - Serialization constructor. - </summary> - <param name="info">Serialization info.</param> - <param name="context">Streaming context.</param> - </member> - <member name="M:ConsoleAppVisuals.EmptyFileException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> - <summary> - Get object data for serialization. - </summary> - <param name="info">Serialization info.</param> - <param name="context">Streaming context.</param> - <exception cref="T:System.ArgumentNullException"></exception> - </member> - <member name="T:ConsoleAppVisuals.NotSupportedCharException"> + <member name="T:ConsoleAppVisuals.Errors.NotSupportedCharException"> <summary> Exception thrown when a character is not supported by the TextStyler class. </summary> @@ -2454,44 +2959,29 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.NotSupportedCharException.#ctor"> + <member name="M:ConsoleAppVisuals.Errors.NotSupportedCharException.#ctor"> <summary> Default constructor. </summary> </member> - <member name="M:ConsoleAppVisuals.NotSupportedCharException.#ctor(System.String)"> + <member name="M:ConsoleAppVisuals.Errors.NotSupportedCharException.#ctor(System.String)"> <summary> Constructor with message. </summary> <param name="message">Message to be displayed.</param> </member> - <member name="M:ConsoleAppVisuals.NotSupportedCharException.#ctor(System.String,System.Exception)"> + <member name="M:ConsoleAppVisuals.Errors.NotSupportedCharException.#ctor(System.String,System.Exception)"> <summary> Constructor with message and inner exception. </summary> <param name="message">Message to be displayed.</param> <param name="inner">Inner exception.</param> </member> - <member name="M:ConsoleAppVisuals.NotSupportedCharException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> - <summary> - Serialization constructor. - </summary> - <param name="info">Serialization info.</param> - <param name="context">Streaming context.</param> - </member> - <member name="M:ConsoleAppVisuals.NotSupportedCharException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> - <summary> - Get object data for serialization. - </summary> - <param name="info">Serialization info.</param> - <param name="context">Streaming context.</param> - <exception cref="T:System.ArgumentNullException"></exception> - </member> - <member name="T:ConsoleAppVisuals.Element"> + <member name="T:ConsoleAppVisuals.Models.Element"> <summary> Defines the basic properties of an console element. </summary> @@ -2499,69 +2989,68 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Element.Id"> + <member name="P:ConsoleAppVisuals.Models.Element.Id"> <summary> The id number of the element. </summary> <remarks>This property is sealed. The ID of an element is automatically generated and managed by the <see cref="T:ConsoleAppVisuals.Window"/> class.</remarks> </member> - <member name="P:ConsoleAppVisuals.Element.Visibility"> + <member name="P:ConsoleAppVisuals.Models.Element.Visibility"> <summary> The visibility of the element. </summary> - <remarks>This property is sealed. The visibility of an element is managed by the <see cref="M:ConsoleAppVisuals.Element.ToggleVisibility"/> method.</remarks> + <remarks>This property is sealed. The visibility of an element is managed by the <see cref="M:ConsoleAppVisuals.Models.Element.ToggleVisibility"/> method.</remarks> </member> - <member name="P:ConsoleAppVisuals.Element.Placement"> + <member name="P:ConsoleAppVisuals.Models.Element.Placement"> <summary> The placement of the element. </summary> </member> - <member name="P:ConsoleAppVisuals.Element.TextAlignment"> + <member name="P:ConsoleAppVisuals.Models.Element.TextAlignment"> <summary> The text alignment of the text of the element. </summary> </member> - <member name="P:ConsoleAppVisuals.Element.IsInteractive"> + <member name="P:ConsoleAppVisuals.Models.Element.IsInteractive"> <summary> Whether the element is executable or not. </summary> </member> - <member name="P:ConsoleAppVisuals.Element.Line"> + <member name="P:ConsoleAppVisuals.Models.Element.Line"> <summary> The line of the element in the console. </summary> - <remarks>This property is marked as virtual. It is recommended to override this property in derived classes to make it more specific.</remarks> </member> - <member name="P:ConsoleAppVisuals.Element.Height"> + <member name="P:ConsoleAppVisuals.Models.Element.Height"> <summary> The height of the element. </summary> <remarks>This property is marked as virtual. It is recommended to override this property in derived classes to make it more specific.</remarks> </member> - <member name="P:ConsoleAppVisuals.Element.Width"> + <member name="P:ConsoleAppVisuals.Models.Element.Width"> <summary> The width of the element. </summary> <remarks>This property is marked as virtual. It is recommended to override this property in derived classes to make it more specific.</remarks> </member> - <member name="P:ConsoleAppVisuals.Element.MaxNumberOfThisElement"> + <member name="P:ConsoleAppVisuals.Models.Element.MaxNumberOfThisElement"> <summary> The maximum number of this element that can be drawn on the console. </summary> <remarks>This property is marked as virtual. It is recommended to override this property in derived classes to make it more specific.</remarks> </member> - <member name="M:ConsoleAppVisuals.Element.ToggleVisibility"> + <member name="M:ConsoleAppVisuals.Models.Element.ToggleVisibility"> <summary> This method is used to toggle the visibility of the element.This method is used to toggle the visibility of the element. If the maximum number of this element is reached, an exception is thrown. </summary> <exception cref="T:System.InvalidOperationException">Thrown when the maximum number of this element is reached.</exception> <remarks>This method is effectively sealed. The only way to change the visibility of an element is to use this method.</remarks> </member> - <member name="M:ConsoleAppVisuals.Element.RenderElement"> + <member name="M:ConsoleAppVisuals.Models.Element.RenderElement"> <summary> This method is used to draw the element on the console. </summary> @@ -2569,27 +3058,27 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Element.RenderElementActions"> + <member name="M:ConsoleAppVisuals.Models.Element.RenderElementActions"> <summary> This method is used to define the actions to perform when the element is drawn on the console. </summary> <remarks>This method is marked as virtual. It is recommended to override this method in derived classes to make it more specific.</remarks> </member> - <member name="M:ConsoleAppVisuals.Element.RenderOptionsBeforeHand"> + <member name="M:ConsoleAppVisuals.Models.Element.RenderOptionsBeforeHand"> <summary> This method is used to set options before drawing the element on the console. </summary> </member> - <member name="M:ConsoleAppVisuals.Element.RenderOptionsAfterHand"> + <member name="M:ConsoleAppVisuals.Models.Element.RenderOptionsAfterHand"> <summary> This method is used to set options after drawing the element on the console. </summary> </member> - <member name="M:ConsoleAppVisuals.Element.RenderElementSpace"> + <member name="M:ConsoleAppVisuals.Models.Element.RenderElementSpace"> <summary> This method is used to draw the space taken by the element on the console. </summary> @@ -2597,45 +3086,45 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Element.GetRenderSpace"> + <member name="M:ConsoleAppVisuals.Models.Element.GetRenderSpace"> <summary> This method is used to simulate the drawing space of the element on the console. </summary> <returns>The space taken by the element.</returns> <remarks>This method is marked as virtual. It is recommended to override this method in derived classes to make it more specific.</remarks> </member> - <member name="M:ConsoleAppVisuals.Element.Clear"> + <member name="M:ConsoleAppVisuals.Models.Element.Clear"> <summary> This method is used to clear the space taken by the element on the console. </summary> </member> - <member name="T:ConsoleAppVisuals.FontYamlFile"> + <member name="T:ConsoleAppVisuals.Models.FontYamlFile"> <summary> - The <see cref="T:ConsoleAppVisuals.FontYamlFile"/> class defines the structure of a yaml file used to store the height of each character of a font. + The <see cref="T:ConsoleAppVisuals.Models.FontYamlFile"/> class defines the structure of a yaml file used to store the height of each character of a font. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.FontYamlFile.Name"> + <member name="P:ConsoleAppVisuals.Models.FontYamlFile.Name"> <summary> The name of the font. </summary> </member> - <member name="P:ConsoleAppVisuals.FontYamlFile.Chars"> + <member name="P:ConsoleAppVisuals.Models.FontYamlFile.Chars"> <summary> The height of the elements of the font. </summary> </member> - <member name="T:ConsoleAppVisuals.InteractionEventArgs`1"> + <member name="T:ConsoleAppVisuals.Models.InteractionEventArgs`1"> <summary> This class contains the arguments of the ScrollingMenuSelected event. </summary> @@ -2643,29 +3132,29 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.InteractionEventArgs`1.Status"> + <member name="P:ConsoleAppVisuals.Models.InteractionEventArgs`1.Status"> <summary> The status after exiting the interactive element. </summary> <value>Output.Escaped : pressed escape, Output.Deleted : pressed backspace, Output.Selected : pressed enter, Output.None : default value</value> </member> - <member name="P:ConsoleAppVisuals.InteractionEventArgs`1.Value"> + <member name="P:ConsoleAppVisuals.Models.InteractionEventArgs`1.Value"> <summary> The value of the response after exiting the interactive element. </summary> </member> - <member name="M:ConsoleAppVisuals.InteractionEventArgs`1.#ctor(ConsoleAppVisuals.Output,`0)"> + <member name="M:ConsoleAppVisuals.Models.InteractionEventArgs`1.#ctor(ConsoleAppVisuals.Enums.Output,`0)"> <summary> This constructor initializes the InteractionEventArgs class. </summary> <param name="status">The status of the exit from the menu.</param> <param name="value">The value of the response after exiting the interactive element.</param> </member> - <member name="T:ConsoleAppVisuals.InteractiveElement`1"> + <member name="T:ConsoleAppVisuals.Models.InteractiveElement`1"> <summary> Defines the basic properties of an console element. </summary> @@ -2673,60 +3162,72 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.InteractiveElement`1.IsInteractive"> + <member name="P:ConsoleAppVisuals.Models.InteractiveElement`1.IsInteractive"> <summary> Whether the element is interactive or not. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveElement`1.MaxNumberOfThisElement"> + <member name="P:ConsoleAppVisuals.Models.InteractiveElement`1.MaxNumberOfThisElement"> <summary> The maximum number of this element that can be drawn on the console. As an interactive element, the value is 1. </summary> </member> - <member name="E:ConsoleAppVisuals.InteractiveElement`1.EndOfInteractionEvent"> + <member name="E:ConsoleAppVisuals.Models.InteractiveElement`1.EndOfInteractionEvent"> <summary> </summary> </member> - <member name="F:ConsoleAppVisuals.InteractiveElement`1._interactionResponse"> + <member name="F:ConsoleAppVisuals.Models.InteractiveElement`1._interactionResponse"> <summary> The response of the user. </summary> </member> - <member name="P:ConsoleAppVisuals.InteractiveElement`1.GetInteractionResponse"> - <summary> - Returns the response of the user. - </summary> - </member> - <member name="M:ConsoleAppVisuals.InteractiveElement`1.SetInteractionResponse(System.Object,ConsoleAppVisuals.InteractionEventArgs{`0})"> + <member name="M:ConsoleAppVisuals.Models.InteractiveElement`1.SetInteractionResponse(System.Object,ConsoleAppVisuals.Models.InteractionEventArgs{`0})"> <summary> Sets the response of the user in the attribute field. </summary> <param name="sender">The sender of the event.</param> <param name="e">The response of the user.</param> </member> - <member name="M:ConsoleAppVisuals.InteractiveElement`1.SendResponse(System.Object,ConsoleAppVisuals.InteractionEventArgs{`0})"> + <member name="M:ConsoleAppVisuals.Models.InteractiveElement`1.SendResponse(System.Object,ConsoleAppVisuals.Models.InteractionEventArgs{`0})"> <summary> Triggers the EndOfInteractionEvent event. </summary> <param name="sender">The sender of the event.</param> <param name="e">The response of the user.</param> </member> - <member name="M:ConsoleAppVisuals.InteractiveElement`1.RenderOptionsBeforeHand"> + <member name="M:ConsoleAppVisuals.Models.InteractiveElement`1.GetResponse"> + <summary> + Returns the response of the user after an interaction. + </summary> + <returns>Null if the user has not interacted with the element, otherwise the response of the user.</returns> + <remarks> + This sample shows how to use the <see cref="M:ConsoleAppVisuals.Models.InteractiveElement`1.GetResponse"/> method using the var keyword: + <code> + var response = element.GetResponse(); + </code> + For more information, refer to the following resources: + <list type="bullet"> + <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + </list> + </remarks> + </member> + <member name="M:ConsoleAppVisuals.Models.InteractiveElement`1.RenderOptionsBeforeHand"> <summary> This method is used to set options before drawing the element on the console. </summary> </member> - <member name="M:ConsoleAppVisuals.InteractiveElement`1.RenderOptionsAfterHand"> + <member name="M:ConsoleAppVisuals.Models.InteractiveElement`1.RenderOptionsAfterHand"> <summary> This method is used to set options after drawing the element on the console. </summary> </member> - <member name="T:ConsoleAppVisuals.Position"> + <member name="T:ConsoleAppVisuals.Models.Position"> <summary> A class that stores the position into X and Y parameters of a position. </summary> @@ -2734,23 +3235,23 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="P:ConsoleAppVisuals.Position.X"> + <member name="P:ConsoleAppVisuals.Models.Position.X"> <summary> The x coordinate of the position. </summary> </member> - <member name="P:ConsoleAppVisuals.Position.Y"> + <member name="P:ConsoleAppVisuals.Models.Position.Y"> <summary> The y coordinate of the position. </summary> </member> - <member name="M:ConsoleAppVisuals.Position.#ctor(System.Int32,System.Int32)"> + <member name="M:ConsoleAppVisuals.Models.Position.#ctor(System.Int32,System.Int32)"> <summary> - Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Position"/> class with 2 coordinates. + Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Models.Position"/> class with 2 coordinates. </summary> <param name="x">The x coordinate of the position.</param> <param name="y">The y coordinate of the position.</param> @@ -2758,24 +3259,24 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Position.#ctor(ConsoleAppVisuals.Position)"> + <member name="M:ConsoleAppVisuals.Models.Position.#ctor(ConsoleAppVisuals.Models.Position)"> <summary> - Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Position"/> class with another instance of the <see cref="T:ConsoleAppVisuals.Position"/> class. + Initializes a new instance of the <see cref="T:ConsoleAppVisuals.Models.Position"/> class with another instance of the <see cref="T:ConsoleAppVisuals.Models.Position"/> class. </summary> <param name="pos">The position to copy.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Position.ToString"> + <member name="M:ConsoleAppVisuals.Models.Position.ToString"> <summary> This method is used to convert the position to a string. </summary> @@ -2784,11 +3285,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Position.Equals(System.Object)"> + <member name="M:ConsoleAppVisuals.Models.Position.Equals(System.Object)"> <summary> This method is used to check if the position is equal to another position. </summary> @@ -2798,11 +3299,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Position.GetHashCode"> + <member name="M:ConsoleAppVisuals.Models.Position.GetHashCode"> <summary> Implementation of the IEquatable interface. </summary> @@ -2811,18 +3312,18 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Position.System#IEquatable{ConsoleAppVisuals#Position}#Equals(ConsoleAppVisuals.Position)"> + <member name="M:ConsoleAppVisuals.Models.Position.System#IEquatable{ConsoleAppVisuals#Models#Position}#Equals(ConsoleAppVisuals.Models.Position)"> <summary> Implementation of the IEquatable interface. </summary> <param name="other">The position to compare to.</param> <returns>True if the positions are equal, false otherwise.</returns> </member> - <member name="M:ConsoleAppVisuals.Position.op_Equality(ConsoleAppVisuals.Position,ConsoleAppVisuals.Position)"> + <member name="M:ConsoleAppVisuals.Models.Position.op_Equality(ConsoleAppVisuals.Models.Position,ConsoleAppVisuals.Models.Position)"> <summary> This operator is used to check if the position is equal to another position. </summary> @@ -2830,7 +3331,7 @@ <param name="right">The second position to compare.</param> <returns>True if the positions are equal, false otherwise.</returns> </member> - <member name="M:ConsoleAppVisuals.Position.op_Inequality(ConsoleAppVisuals.Position,ConsoleAppVisuals.Position)"> + <member name="M:ConsoleAppVisuals.Models.Position.op_Inequality(ConsoleAppVisuals.Models.Position,ConsoleAppVisuals.Models.Position)"> <summary> This operator is used to check if the position is not equal to another position. </summary> @@ -2838,32 +3339,32 @@ <param name="right">The second position to compare.</param> <returns>True if the positions are not equal, false otherwise.</returns> </member> - <member name="T:ConsoleAppVisuals.TextStyler"> + <member name="T:ConsoleAppVisuals.Models.TextStyler"> <summary> The class that styles any text with specified font files. </summary> </member> - <member name="P:ConsoleAppVisuals.TextStyler.Dictionary"> + <member name="P:ConsoleAppVisuals.Models.TextStyler.Dictionary"> <summary> The dictionary that stores the characters and their styled equivalent. </summary> </member> - <member name="M:ConsoleAppVisuals.TextStyler.#ctor(System.String,System.Reflection.Assembly)"> + <member name="M:ConsoleAppVisuals.Models.TextStyler.#ctor(System.String,System.Reflection.Assembly)"> <summary> The constructor of the TextStyler class. </summary> <param name="fontPath">The path to the font files.</param> <param name="assembly">The assembly in which to take the files. Do not use it by default.</param> - <exception cref="T:ConsoleAppVisuals.EmptyFileException">Thrown when the config.yml file is empty.</exception> + <exception cref="T:ConsoleAppVisuals.Errors.EmptyFileException">Thrown when the config.yml file is empty.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TextStyler.StyleTextToString(System.String)"> + <member name="M:ConsoleAppVisuals.Models.TextStyler.StyleTextToString(System.String)"> <summary> Styles the given text with the font files. </summary> @@ -2873,11 +3374,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TextStyler.StyleTextToStringArray(System.String)"> + <member name="M:ConsoleAppVisuals.Models.TextStyler.StyleTextToStringArray(System.String)"> <summary> Styles the given text with the font files. </summary> @@ -2887,45 +3388,49 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.TextStyler.ToString"> + <member name="M:ConsoleAppVisuals.Models.TextStyler.ToString"> <summary> Get the info of the actual style (from the config.yml file). </summary> <returns>A string compiling these pieces of information.</returns> - <exception cref="T:ConsoleAppVisuals.EmptyFileException">Thrown when the config.yml file is empty.</exception> + <exception cref="T:ConsoleAppVisuals.Errors.EmptyFileException">Thrown when the config.yml file is empty.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> <member name="T:ConsoleAppVisuals.Window"> <summary> - The major class of the library. The window is used to collect the elements of the console and draw them. + The Window class manages the elements that are to be displayed on the console. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> <member name="M:ConsoleAppVisuals.Window.#cctor"> <summary> - This method sets up the window without the need to call it. + This method sets up the console as soon as the Program starts. </summary> </member> <member name="F:ConsoleAppVisuals.Window.DEFAULT_VISIBILITY"> <summary> The default visibility of the elements when they are added to the window. </summary> + <remarks> + This value should not be changed. + Each time the user adds an element to the window, it will try to toggle the visibility of the element. + </remarks> </member> <member name="P:ConsoleAppVisuals.Window.NextId"> <summary> @@ -2937,11 +3442,19 @@ Gives the number of elements in the window. </summary> </member> - <member name="P:ConsoleAppVisuals.Window.GetElements"> + <member name="P:ConsoleAppVisuals.Window.Elements"> <summary> Gives the list of elements in the window. </summary> </member> + <member name="M:ConsoleAppVisuals.Window.GetRange(System.Int32,System.Int32)"> + <summary> + This method returns a range of elements given a start and end ids. + </summary> + <param name="start">The start id of the range.</param> + <param name="end">The end id of the range.</param> + <returns>The range of elements from the start to the end id.</returns> + </member> <member name="M:ConsoleAppVisuals.Window.GetElement``1"> <summary> This method returns the first element of the given type. @@ -2952,13 +3465,13 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> <member name="M:ConsoleAppVisuals.Window.GetElement``1(System.Int32)"> <summary> - This method returns the element with the given id. + This method returns the first element of the given type and id. </summary> <param name="id">The id of the element.</param> <returns>The element with the given id if it exists, null otherwise.</returns> @@ -2967,7 +3480,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -2981,11 +3494,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.AddElement(ConsoleAppVisuals.Element[])"> + <member name="M:ConsoleAppVisuals.Window.AddElement(ConsoleAppVisuals.Models.Element[])"> <summary> This method adds elements to the window. </summary> @@ -2994,11 +3507,11 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.InsertElement(ConsoleAppVisuals.Element,System.Int32)"> + <member name="M:ConsoleAppVisuals.Window.InsertElement(ConsoleAppVisuals.Models.Element,System.Int32)"> <summary> This method inserts an element to the window at the given id. </summary> @@ -3009,51 +3522,51 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.RemoveElement(System.Int32)"> + <member name="M:ConsoleAppVisuals.Window.RemoveElement``1"> <summary> - This method removes the element with the given id. + This method removes the first element with the given type. </summary> - <param name="id">The id of the element.</param> - <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the id is out of range.</exception> + <typeparam name="T">The type of the element.</typeparam> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is invalid.</exception> + <returns>True if the element is successfully removed, false otherwise.</returns> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.RemoveElement(ConsoleAppVisuals.Element[])"> + <member name="M:ConsoleAppVisuals.Window.RemoveElement(System.Int32)"> <summary> - This method removes the given element. + This method removes the element with the given id. </summary> - <param name="elements">The elements to be removed.</param> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> - <returns>True if the element is successfully removed, false otherwise.</returns> + <param name="id">The id of the element.</param> + <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the id is out of range.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.RemoveElement``1"> + <member name="M:ConsoleAppVisuals.Window.RemoveElement(ConsoleAppVisuals.Models.Element[])"> <summary> - This method removes the first element with the given type. + This method removes the given element. </summary> - <typeparam name="T">The type of the element.</typeparam> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> + <param name="elements">The elements to be removed.</param> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is invalid.</exception> <returns>True if the element is successfully removed, false otherwise.</returns> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3065,7 +3578,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3080,17 +3593,17 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.ActivateElement(ConsoleAppVisuals.Element,System.Boolean)"> + <member name="M:ConsoleAppVisuals.Window.ActivateElement(ConsoleAppVisuals.Models.Element,System.Boolean)"> <summary> This method attempts to activate the visibility of the given element. </summary> <param name="element">The element to be activated.</param> <param name="render">If true, the element will be rendered.</param> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is invalid.</exception> </member> <member name="M:ConsoleAppVisuals.Window.ActivateElement``1(System.Boolean)"> <summary> @@ -3098,29 +3611,12 @@ </summary> <param name="render">If true, the element will be rendered.</param> <typeparam name="T">The type of the element.</typeparam> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> - </member> - <member name="M:ConsoleAppVisuals.Window.GetResponse``2(System.Boolean)"> - <summary> - After activating the visibility of an interactive element, this method will return the response for the user. - </summary> - <param name="clear">If true, the element will be cleared.</param> - <typeparam name="T">The type of interactive element.</typeparam> - <typeparam name="TResponse">The type of the response (int, string, float...).</typeparam> - <returns>The response of the user.</returns> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is invalid.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3132,7 +3628,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3141,28 +3637,28 @@ This method to deactivate the visibility of the element with the given id. </summary> <param name="id">The id of the element.</param> - <param name="clear">If true, the element will be cleared.</param> + <param name="clear">If true, the element will be cleared from the console.</param> <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the id is out of range.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.DeactivateElement(ConsoleAppVisuals.Element,System.Boolean)"> + <member name="M:ConsoleAppVisuals.Window.DeactivateElement(ConsoleAppVisuals.Models.Element,System.Boolean)"> <summary> This method deactivate the visibility of the element with the given type. </summary> <param name="element">The element to be deactivated.</param> - <param name="clear">If true, the element will be cleared.</param> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> + <param name="clear">If true, the element will be cleared from the console.</param> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is invalid.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3172,12 +3668,12 @@ </summary> <param name="clear">If true, the element will be cleared.</param> <typeparam name="T">The type of the element.</typeparam> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is invalid.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3189,7 +3685,7 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> @@ -3200,9 +3696,9 @@ <param name="id">The id of the element.</param> <returns>True if the element can be toggled to visible, false otherwise.</returns> </member> - <member name="M:ConsoleAppVisuals.Window.GetLineAvailable(ConsoleAppVisuals.Placement)"> + <member name="M:ConsoleAppVisuals.Window.GetLineAvailable(ConsoleAppVisuals.Enums.Placement)"> <summary> - Gives the last line available to draw an element on the console from a placement. + This method gets the last line available to draw an element on the console from a placement. </summary> <param name="placement">The placement of the element.</param> <returns>The last line available to draw an element on the console from a placement.</returns> @@ -3211,13 +3707,13 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> <member name="M:ConsoleAppVisuals.Window.CheckLine(System.Nullable{System.Int32})"> <summary> - This method checks if the line is valid. + This method checks if the line is valid under the console constraints. </summary> <param name="line">The line to be checked.</param> <returns>The line if it is valid.</returns> @@ -3226,106 +3722,88 @@ For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - </list> - </remarks> - </member> - <member name="M:ConsoleAppVisuals.Window.Clear(System.Boolean)"> - <summary> - This method clears the window. - </summary> - <param name="continuous">If true, the window will be cleared continuously.</param> - <returns>True if the window is successfully cleared, false otherwise.</returns> - <remarks> - For more information, refer to the following resources: - <list type="bullet"> - <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.StopExecution(System.ConsoleKey)"> + <member name="M:ConsoleAppVisuals.Window.Freeze(System.ConsoleKey)"> <summary> This method stops the execution of the program until a key is pressed. </summary> + <param name="key">The key to be pressed to continue the execution.</param> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.RenderOneElement(System.Int32)"> + <member name="M:ConsoleAppVisuals.Window.Render"> <summary> - This method draws the element with the given id on the console. + This method draws all visible elements of the window on the console. </summary> - <param name="id">The id of the element.</param> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the id is out of range.</exception> - <returns>True if the element is successfully drawn, false otherwise.</returns> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.RenderOneElement(ConsoleAppVisuals.Element)"> + <member name="M:ConsoleAppVisuals.Window.Render(ConsoleAppVisuals.Models.Element[])"> <summary> - This method draws the given element on the console. + This method draws all given visible elements of the window on the console. </summary> - <param name="element">The element to be drawn.</param> - <exception cref="T:ConsoleAppVisuals.ElementNotFoundException">Thrown when the element is invalid.</exception> - <returns>True if the element is successfully drawn, false otherwise.</returns> + <param name="elements">The elements to be drawn.</param> + <exception cref="T:ConsoleAppVisuals.Errors.ElementNotFoundException">Thrown when the element is not found in the window.</exception> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.Render"> + <member name="M:ConsoleAppVisuals.Window.RenderElementsSpace"> <summary> - This method draws all the non interactive elements of the window on the console. + This method draws all the space of the visible elements of the window on the console. </summary> + <returns>True if the space of the elements is successfully drawn, false otherwise.</returns> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> - <member name="M:ConsoleAppVisuals.Window.OnResize"> - <summary> - This method is called to refresh the window when the size of the console is changed. - </summary> - <returns>True if the window is refreshed, false otherwise.</returns> - </member> - <member name="M:ConsoleAppVisuals.Window.RenderAllElementsSpace"> + <member name="M:ConsoleAppVisuals.Window.Clear(System.Boolean,System.Nullable{System.Int32},System.Nullable{System.Int32},System.Int32)"> <summary> - This method draws all the space of the elements of the window on the console. + This method clears the console. </summary> - <returns>True if the space of the elements is successfully drawn, false otherwise.</returns> + <param name="continuous">If true, the window will be cleared continuously.</param> + <param name="startLine">The start line of the window to be cleared.</param> + <param name="length">The number of lines to be cleared.</param> + <param name="step">The step of the window to be cleared.</param> + <returns>True if the window is successfully cleared, false otherwise.</returns> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> <member name="M:ConsoleAppVisuals.Window.Close"> <summary> - This method closes the window and exit the program. + This method clears the window and exit the program. </summary> <remarks> For more information, refer to the following resources: <list type="bullet"> <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> </list> </remarks> </member> diff --git a/src/ConsoleAppVisuals/elements/interactive/Prompt.cs b/src/ConsoleAppVisuals/elements/interactive/Prompt.cs deleted file mode 100644 index a03f9527..00000000 --- a/src/ConsoleAppVisuals/elements/interactive/Prompt.cs +++ /dev/null @@ -1,121 +0,0 @@ -/* - GNU GPL License 2024 MorganKryze(Yann Vidamment) - For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE -*/ -namespace ConsoleAppVisuals; - -/// <summary> -/// Defines the prompt element of the console window. -/// </summary> -/// <remarks> -/// For more information, refer to the following resources: -/// <list type="bullet"> -/// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> -/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> -/// </list> -/// </remarks> -public class Prompt : InteractiveElement<string> -{ - #region Fields - private readonly string _question; - private readonly string _defaultValue; - private readonly Placement _placement; - private readonly int _line; - #endregion - - #region Properties - /// <summary> - /// The placement of the prompt element. - /// </summary> - public override Placement Placement => _placement; - - /// <summary> - /// The line of the prompt element in the console. - /// </summary> - /// <remarks>We add 2 because so the prompt element does not overlap with the title.</remarks> - public override int Line => _line; - - /// <summary> - /// The height of the prompt element. - /// </summary> - public override int Height => 3; - - /// <summary> - /// The width of the prompt element. - /// </summary> - /// <remarks>We add a margin of 2 to be sur to take in account odd question lengths.</remarks> - public override int Width => _question.Length + 2; - #endregion - - #region Constructor - /// <summary> - /// The natural constructor of the prompt element. - /// </summary> - /// <param name="question">The text on the left of the prompt element.</param> - /// <param name="defaultValue">The text in the center of the prompt element.</param> - /// <param name="placement">The placement of the prompt element.</param> - /// <param name="line">The line of the prompt element in the console.</param> - /// <remarks> - /// For more information, refer to the following resources: - /// <list type="bullet"> - /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - /// </list> - /// </remarks> - public Prompt( - string question, - string? defaultValue = null, - Placement placement = Placement.TopCenter, - int? line = null - ) - { - _question = question; - _defaultValue = defaultValue ?? string.Empty; - _placement = placement; - _line = Window.CheckLine(line) ?? Window.GetLineAvailable(_placement); - } - #endregion - - #region Methods - /// <summary> - /// This method is used to render the prompt element on the console. - /// </summary> - [Visual] - protected override void RenderElementActions() - { - Core.WriteContinuousString( - _question, - _line, - false, - 1500, - 50, - -1, - _placement.ToTextAlignment() - ); - var field = new StringBuilder(_defaultValue); - ConsoleKeyInfo key; - do - { - Console.CursorVisible = false; - Core.WritePositionedString(GetRenderSpace()[0], TextAlignment.Center, false, _line + 2); - Console.SetCursorPosition(0, Console.CursorTop); - Console.Write("{0," + (Console.WindowWidth / 2 - _question.Length / 2 + 2) + "}", "> "); - Console.Write($"{field}"); - Console.CursorVisible = true; - key = Console.ReadKey(); - if (key.Key == ConsoleKey.Backspace && field.Length > 0) - field.Remove(field.Length - 1, 1); - else if (key.Key != ConsoleKey.Enter && key.Key != ConsoleKey.Escape) - field.Append(key.KeyChar); - } while (key.Key != ConsoleKey.Enter && key.Key != ConsoleKey.Escape); - Console.CursorVisible = false; - SendResponse( - this, - new InteractionEventArgs<string>( - key.Key == ConsoleKey.Enter ? Output.Selected : Output.Escaped, - field.ToString() - ) - ); - } - #endregion -} diff --git a/src/ConsoleAppVisuals/elements/interactive/ScrollingMenu.cs b/src/ConsoleAppVisuals/elements/interactive/ScrollingMenu.cs deleted file mode 100644 index be7d31cb..00000000 --- a/src/ConsoleAppVisuals/elements/interactive/ScrollingMenu.cs +++ /dev/null @@ -1,175 +0,0 @@ -/* - GNU GPL License 2024 MorganKryze(Yann Vidamment) - For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE -*/ -namespace ConsoleAppVisuals; - -/// <summary> -/// Defines the scrolling menu the console window. -/// </summary> -/// <remarks> -/// For more information, refer to the following resources: -/// <list type="bullet"> -/// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> -/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> -/// </list> -/// </remarks> -public class ScrollingMenu : InteractiveElement<int> -{ - #region Fields - private readonly string _question; - private readonly string[] _choices; - private int _defaultIndex; - private readonly Placement _placement; - private readonly int _line; - #endregion - - #region Properties - /// <summary> - /// The placement of the menu on the console. - /// </summary> - public override Placement Placement => _placement; - - /// <summary> - /// The line where the menu will be displayed. - /// </summary> - public override int Line => _line; - - /// <summary> - /// The height of the menu. - /// </summary> - public override int Height => _choices.Length + 2; - - /// <summary> - /// The width of the menu. - /// </summary> - public override int Width => - Math.Max(_question.Length + 1, _choices.Max((string s) => s.Length) + 4); - #endregion - - #region Getters - - /// <summary> - /// The question to ask the user. - /// </summary> - public string Question => _question; - - /// <summary> - /// The different choices of the menu. - /// </summary> - public string[] Choices => _choices; - - /// <summary> - /// The index of the default choice(initially 0). - /// </summary> - public int DefaultIndex => _defaultIndex; - - #endregion - - #region Constructor - /// <summary> - /// The constructor of the ScrollingMenu class. - /// </summary> - /// <param name="question">The question to ask the user.</param> - /// <param name="defaultIndex">The index of the default choice(initially 0).</param> - /// <param name="placement">The placement of the menu on the console.</param> - /// <param name="line">The line where the menu will be displayed.</param> - /// <param name="choices">The different choices of the menu.</param> - /// <remarks> - /// For more information, refer to the following resources: - /// <list type="bullet"> - /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> - /// </list> - /// </remarks> - public ScrollingMenu( - string question, - int defaultIndex = 0, - Placement placement = Placement.TopCenter, - int? line = null, - params string[] choices - ) - { - _question = question; - _defaultIndex = defaultIndex; - _placement = placement; - _line = Window.CheckLine(line) ?? Window.GetLineAvailable(_placement); - _choices = choices; - } - #endregion - - #region Methods - /// <summary> - /// This method is used to draw the menu on the console. - /// </summary> - [Visual] - protected override void RenderElementActions() - { - EqualizeChoicesLength(_choices); - Core.WriteContinuousString(_question, Line, false, 1500, 50); - int lineChoice = Line + 2; - bool delay = true; - while (true) - { - DisplayChoices(_defaultIndex, _placement, _choices, lineChoice, delay); - delay = false; - - switch (Console.ReadKey(intercept: true).Key) - { - case ConsoleKey.UpArrow: - case ConsoleKey.Z: - _defaultIndex = (_defaultIndex == 0) ? _choices.Length - 1 : _defaultIndex - 1; - break; - case ConsoleKey.DownArrow: - case ConsoleKey.S: - _defaultIndex = (_defaultIndex == _choices.Length - 1) ? 0 : _defaultIndex + 1; - break; - case ConsoleKey.Enter: - SendResponse(this, new InteractionEventArgs<int>(Output.Selected, _defaultIndex)); - return; - case ConsoleKey.Escape: - SendResponse(this, new InteractionEventArgs<int>(Output.Escaped, _defaultIndex)); - return; - case ConsoleKey.Backspace: - SendResponse(this, new InteractionEventArgs<int>(Output.Deleted, _defaultIndex)); - return; - } - } - [Visual] - static void EqualizeChoicesLength(string[] choices) - { - int totalWidth = (choices.Length != 0) ? choices.Max((string s) => s.Length) : 0; - for (int i = 0; i < choices.Length; i++) - { - choices[i] = choices[i].PadRight(totalWidth); - } - } - [Visual] - static void DisplayChoices( - int defaultIndex, - Placement placement, - string[] choices, - int lineChoice, - bool delay = false - ) - { - string[] array = new string[choices.Length]; - for (int i = 0; i < choices.Length; i++) - { - array[i] = - (i == defaultIndex) - ? $" {Core.GetSelector.Item1} {choices[i]} " - : $" {choices[i]} "; - Core.WritePositionedString( - array[i], - placement.ToTextAlignment(), - i == defaultIndex, - lineChoice + i - ); - if (delay) - Thread.Sleep(30); - } - } - } - #endregion -} diff --git a/src/ConsoleAppVisuals/elements/interactive/EmbedText.cs b/src/ConsoleAppVisuals/elements/interactive_elements/EmbedText.cs similarity index 62% rename from src/ConsoleAppVisuals/elements/interactive/EmbedText.cs rename to src/ConsoleAppVisuals/elements/interactive_elements/EmbedText.cs index 44a660dc..eed14d43 100644 --- a/src/ConsoleAppVisuals/elements/interactive/EmbedText.cs +++ b/src/ConsoleAppVisuals/elements/interactive_elements/EmbedText.cs @@ -2,7 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Elements; /// <summary> /// Defines the basic properties of an Embed text. @@ -11,18 +11,19 @@ namespace ConsoleAppVisuals; /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> -/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> +/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public class EmbedText : InteractiveElement<string> { #region Fields private readonly List<string> _text; - private readonly string _button; - private readonly TextAlignment _align; - private readonly Placement _placement; - private readonly int _line; + private string _button; + private bool _roundedCorners; + private TextAlignment _align; + private Placement _placement; private List<string>? _textToDisplay; + #endregion #region Properties @@ -31,11 +32,6 @@ public class EmbedText : InteractiveElement<string> /// </summary> public override Placement Placement => _placement; - /// <summary> - /// The Line of the Embed text. - /// </summary> - public override int Line => _line; - /// <summary> /// The height of the Embed text. /// </summary> @@ -45,9 +41,7 @@ public class EmbedText : InteractiveElement<string> /// The width of the Embed text. /// </summary> public override int Width => _textToDisplay!.Max((string s) => s.Length) - 8; - #endregion - #region Getters and setters /// <summary> /// The text of the Embed text. /// </summary> @@ -62,6 +56,13 @@ public class EmbedText : InteractiveElement<string> /// The text to display. /// </summary> public List<string>? TextToDisplay => _textToDisplay; + + /// <summary> + /// Wether the corners are rounded or not. + /// </summary> + public bool RoundedCorners => _roundedCorners; + private string GetCorners => _roundedCorners ? "╭╮╰╯" : "┌┐└┘"; + #endregion #region Constructor @@ -72,12 +73,12 @@ public class EmbedText : InteractiveElement<string> /// <param name="button">The text of the button.</param> /// <param name="align">The alignment of the Embed text.</param> /// <param name="placement">The placement of the Embed text element.</param> - /// <param name="line">The line of the Embed text.</param> + /// <param name="roundedCorners">Wether the corners are rounded or not.</param> /// <remarks> /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public EmbedText( @@ -85,21 +86,20 @@ public EmbedText( string? button = null, TextAlignment align = TextAlignment.Left, Placement placement = Placement.TopCenter, - int? line = null + bool roundedCorners = false ) { _text = text; - _button = button ?? "Press [Enter] to continue"; + _button = button ?? "Next"; _align = align; _placement = placement; - _line = Window.CheckLine(line) ?? Window.GetLineAvailable(placement); + _roundedCorners = roundedCorners; if (CheckIntegrity()) BuildText(); } #endregion #region Methods - private bool CheckIntegrity() { if (_text.Count == 0) @@ -114,6 +114,87 @@ private bool CheckIntegrity() return true; } + /// <summary> + /// This method updates the text of the button. + /// </summary> + /// <param name="newButton">The new text of the button.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdateButtonText(string newButton) + { + _button = newButton; + } + + /// <summary> + /// This method updates the text of the Embed text. + /// </summary> + /// <param name="newText">The new text of the Embed text.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdateText(List<string> newText) + { + _text.Clear(); + _text.AddRange(newText); + } + + /// <summary> + /// This method updates the placement of the Embed text. + /// </summary> + /// <param name="newPlacement">The new placement of the Embed text.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdatePlacement(Placement newPlacement) + { + _placement = newPlacement; + } + + /// <summary> + /// This method updates the alignment of the Embed text. + /// </summary> + /// <param name="newAlignment">The new alignment of the Embed text.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdateAlignment(TextAlignment newAlignment) + { + _align = newAlignment; + } + + /// <summary> + /// This method updates the rounded corners of the Embed text. + /// </summary> + /// <param name="roundedCorners">Wether the corners are rounded or not.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void SetRoundedCorners(bool roundedCorners = true) + { + _roundedCorners = roundedCorners; + } + /// <summary> /// Adds a line to the Embed text. /// </summary> @@ -122,7 +203,7 @@ private bool CheckIntegrity() /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void AddLine(string line) @@ -139,7 +220,7 @@ public void AddLine(string line) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void InsertLine(string line, int index) @@ -155,7 +236,7 @@ public void InsertLine(string line, int index) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void RemoveLine(string line) @@ -175,7 +256,7 @@ public void RemoveLine(string line) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void RemoveLine(int index) @@ -198,11 +279,10 @@ protected override void RenderElementActions() false, _placement.ToTextAlignment(), false, - _line, + Line, _textToDisplay!.ToArray() ); - Window.StopExecution(); - Window.DeactivateElement(this); + Window.Freeze(); } private void BuildText() diff --git a/src/ConsoleAppVisuals/elements/interactive/FloatSelector.cs b/src/ConsoleAppVisuals/elements/interactive_elements/FloatSelector.cs similarity index 57% rename from src/ConsoleAppVisuals/elements/interactive/FloatSelector.cs rename to src/ConsoleAppVisuals/elements/interactive_elements/FloatSelector.cs index 878aab2f..261010a8 100644 --- a/src/ConsoleAppVisuals/elements/interactive/FloatSelector.cs +++ b/src/ConsoleAppVisuals/elements/interactive_elements/FloatSelector.cs @@ -2,7 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Elements; /// <summary> /// Defines the number selector of the console window. @@ -11,20 +11,19 @@ namespace ConsoleAppVisuals; /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> -/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> +/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public class FloatSelector : InteractiveElement<float> { #region Fields - private readonly string _question; - private readonly float _minimumValue; - private readonly float _maximumValue; - private readonly float _startValue; - private readonly float _step; - private readonly bool _roundedCorners; - private readonly Placement _placement; - private readonly int _line; + private string _question; + private float _minimumValue; + private float _maximumValue; + private float _startValue; + private float _step; + private bool _roundedCorners; + private Placement _placement; #endregion #region Properties @@ -33,11 +32,6 @@ public class FloatSelector : InteractiveElement<float> /// </summary> public override Placement Placement => _placement; - /// <summary> - /// The line where the selector will be displayed. - /// </summary> - public override int Line => _line; - /// <summary> /// The height of the selector. /// </summary> @@ -51,9 +45,6 @@ public class FloatSelector : InteractiveElement<float> _question.Length, $" {Core.GetSelector.Item1} {BuildNumber((float)Math.Round(_maximumValue, 1))} {Core.GetSelector.Item2} ".Length ); - #endregion - - #region Getters /// <summary> /// The question to ask the user. @@ -96,13 +87,12 @@ public class FloatSelector : InteractiveElement<float> /// <param name="start">The start value of the selector.</param> /// <param name="step">The step of the selector.</param> /// <param name="placement">The placement of the selector on the console.</param> - /// <param name="line">The line where the selector will be displayed.</param> /// <param name="roundedCorners">Whether the corners of the selector are rounded.</param> /// <remarks> /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public FloatSelector( @@ -112,7 +102,6 @@ public FloatSelector( float start = 0, float step = 100, Placement placement = Placement.TopCenter, - int? line = null, bool roundedCorners = false ) { @@ -123,7 +112,6 @@ public FloatSelector( _startValue = CheckStart(start, _minimumValue, _maximumValue); _step = CheckStep(step, _minimumValue, _maximumValue); _placement = placement; - _line = Window.CheckLine(line) ?? Window.GetLineAvailable(_placement); _roundedCorners = roundedCorners; } @@ -159,16 +147,136 @@ private static float CheckStep(float step, float min, float max) #endregion #region Methods + + /// <summary> + /// This method is used to update the question of the selector. + /// </summary> + /// <param name="question">The question to ask the user.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdateQuestion(string question) + { + _question = question; + } + + /// <summary> + /// This method is used to update the minimum value of the selector. + /// </summary> + /// <param name="min">The minimum value of the selector.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdateMin(float min) + { + CheckMinNotHigherThanMax(min, _maximumValue); + _minimumValue = min; + _startValue = CheckStart(_startValue, _minimumValue, _maximumValue); + _step = CheckStep(_step, _minimumValue, _maximumValue); + } + + /// <summary> + /// This method is used to update the maximum value of the selector. + /// </summary> + /// <param name="max">The maximum value of the selector.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdateMax(float max) + { + CheckMinNotHigherThanMax(_minimumValue, max); + _maximumValue = max; + _startValue = CheckStart(_startValue, _minimumValue, _maximumValue); + _step = CheckStep(_step, _minimumValue, _maximumValue); + } + + /// <summary> + /// This method is used to update the start value of the selector. + /// </summary> + /// <param name="start">The start value of the selector.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdateStart(float start) + { + _startValue = CheckStart(start, _minimumValue, _maximumValue); + } + + /// <summary> + /// This method is used to update the step of the selector. + /// </summary> + /// <param name="step">The step of the selector.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdateStep(float step) + { + _step = CheckStep(step, _minimumValue, _maximumValue); + } + + /// <summary> + /// This method is used to update the placement of the selector. + /// </summary> + /// <param name="placement">The placement of the selector on the console.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdatePlacement(Placement placement) + { + _placement = placement; + } + + /// <summary> + /// This method is used to update the rounded corners of the selector. + /// </summary> + /// <param name="roundedCorners">Whether the corners of the selector are rounded.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void SetRoundedCorners(bool roundedCorners = true) + { + _roundedCorners = roundedCorners; + } + /// <summary> /// This method is used to draw the selector on the console. /// </summary> [Visual] protected override void RenderElementActions() { - Core.WriteContinuousString(_question, _line, default, 1500, 50); + Core.WriteContinuousString(_question, Line, default, 1500, 50); float currentNumber = _startValue; - int lineSelector = _line + 4; - while (true) + int lineSelector = Line + 4; + bool loop = true; + while (loop) { DisplayChoices(lineSelector, currentNumber); @@ -187,16 +295,23 @@ protected override void RenderElementActions() this, new InteractionEventArgs<float>(Output.Selected, currentNumber) ); - return; + Window.DeactivateElement(this); + loop = false; + break; case ConsoleKey.Escape: - SendResponse(this, new InteractionEventArgs<float>(Output.Escaped, currentNumber)); - return; + SendResponse( + this, + new InteractionEventArgs<float>(Output.Escaped, currentNumber) + ); + loop = false; + break; default: break; } Thread.Sleep(1); } } + [Visual] void DisplayChoices(int lineSelector, float currentNumber) { diff --git a/src/ConsoleAppVisuals/elements/interactive/IntSelector.cs b/src/ConsoleAppVisuals/elements/interactive_elements/IntSelector.cs similarity index 56% rename from src/ConsoleAppVisuals/elements/interactive/IntSelector.cs rename to src/ConsoleAppVisuals/elements/interactive_elements/IntSelector.cs index 1fcb668c..09dbb6a8 100644 --- a/src/ConsoleAppVisuals/elements/interactive/IntSelector.cs +++ b/src/ConsoleAppVisuals/elements/interactive_elements/IntSelector.cs @@ -2,7 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Elements; /// <summary> /// Defines the number selector of the console window. @@ -11,20 +11,19 @@ namespace ConsoleAppVisuals; /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> -/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> +/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public class IntSelector : InteractiveElement<int> { #region Fields - private readonly string _question; - private readonly int _minimumValue; - private readonly int _maximumValue; - private readonly int _startValue; - private readonly int _step; - private readonly bool _roundedCorners; - private readonly Placement _placement; - private readonly int _line; + private string _question; + private int _minimumValue; + private int _maximumValue; + private int _startValue; + private int _step; + private bool _roundedCorners; + private Placement _placement; #endregion #region Properties @@ -33,11 +32,6 @@ public class IntSelector : InteractiveElement<int> /// </summary> public override Placement Placement => _placement; - /// <summary> - /// The line where the selector will be displayed. - /// </summary> - public override int Line => _line; - /// <summary> /// The height of the selector. /// </summary> @@ -51,9 +45,6 @@ public class IntSelector : InteractiveElement<int> _question.Length, $" {Core.GetSelector.Item1} {BuildNumber(_maximumValue)} {Core.GetSelector.Item2} ".Length ); - #endregion - - #region Getters /// <summary> /// The question to ask the user. @@ -96,13 +87,12 @@ public class IntSelector : InteractiveElement<int> /// <param name="start">The start value of the selector.</param> /// <param name="step">The step of the selector.</param> /// <param name="placement">The placement of the selector on the console.</param> - /// <param name="line">The line where the selector will be displayed.</param> /// <param name="roundedCorners">Whether the corners of the selector are rounded.</param> /// <remarks> /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public IntSelector( @@ -112,7 +102,6 @@ public IntSelector( int start = 0, int step = 100, Placement placement = Placement.TopCenter, - int? line = null, bool roundedCorners = false ) { @@ -123,7 +112,6 @@ public IntSelector( _startValue = CheckStart(start, _minimumValue, _maximumValue); _step = CheckStep(step, _minimumValue, _maximumValue); _placement = placement; - _line = Window.CheckLine(line) ?? Window.GetLineAvailable(_placement); _roundedCorners = roundedCorners; } @@ -159,15 +147,133 @@ private static int CheckStep(int step, int min, int max) #endregion #region Methods + /// <summary> + /// This method is used to update the question of the selector. + /// </summary> + /// <param name="question">The question to ask the user.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdateQuestion(string question) + { + _question = question; + } + + /// <summary> + /// This method is used to update the minimum value of the selector. + /// </summary> + /// <param name="min">The minimum value of the selector.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdateMin(int min) + { + CheckMinNotHigherThanMax(min, _maximumValue); + _minimumValue = min; + _startValue = CheckStart(_startValue, _minimumValue, _maximumValue); + _step = CheckStep(_step, _minimumValue, _maximumValue); + } + + /// <summary> + /// This method is used to update the maximum value of the selector. + /// </summary> + /// <param name="max">The maximum value of the selector.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdateMax(int max) + { + CheckMinNotHigherThanMax(_minimumValue, max); + _maximumValue = max; + _startValue = CheckStart(_startValue, _minimumValue, _maximumValue); + _step = CheckStep(_step, _minimumValue, _maximumValue); + } + + /// <summary> + /// This method is used to update the start value of the selector. + /// </summary> + /// <param name="start">The start value of the selector.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdateStart(int start) + { + _startValue = CheckStart(start, _minimumValue, _maximumValue); + } + + /// <summary> + /// This method is used to update the step of the selector. + /// </summary> + /// <param name="step">The step of the selector.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdateStep(int step) + { + _step = CheckStep(step, _minimumValue, _maximumValue); + } + + /// <summary> + /// This method is used to update the placement of the selector. + /// </summary> + /// <param name="placement">The placement of the selector on the console.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdatePlacement(Placement placement) + { + _placement = placement; + } + + /// <summary> + /// This method is used to update the rounded corners of the selector. + /// </summary> + /// <param name="roundedCorners">Whether the corners of the selector are rounded.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void SetRoundedCorners(bool roundedCorners = true) + { + _roundedCorners = roundedCorners; + } + /// <summary> /// This method is used to draw the selector on the console. /// </summary> [Visual] protected override void RenderElementActions() { - Core.WriteContinuousString(_question, _line, default, 1500, 50); + Core.WriteContinuousString(_question, Line, default, 1500, 50); int currentNumber = _startValue; - int lineSelector = _line + 4; + int lineSelector = Line + 4; while (true) { DisplayChoices(lineSelector, currentNumber); @@ -183,10 +289,16 @@ protected override void RenderElementActions() currentNumber = NextNumber(Direction.Down, currentNumber); break; case ConsoleKey.Enter: - SendResponse(this, new InteractionEventArgs<int>(Output.Selected, currentNumber)); + SendResponse( + this, + new InteractionEventArgs<int>(Output.Selected, currentNumber) + ); return; case ConsoleKey.Escape: - SendResponse(this, new InteractionEventArgs<int>(Output.Escaped, currentNumber)); + SendResponse( + this, + new InteractionEventArgs<int>(Output.Escaped, currentNumber) + ); return; default: break; diff --git a/src/ConsoleAppVisuals/elements/interactive_elements/Prompt.cs b/src/ConsoleAppVisuals/elements/interactive_elements/Prompt.cs new file mode 100644 index 00000000..77a54de3 --- /dev/null +++ b/src/ConsoleAppVisuals/elements/interactive_elements/Prompt.cs @@ -0,0 +1,204 @@ +/* + GNU GPL License 2024 MorganKryze(Yann Vidamment) + For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE +*/ +namespace ConsoleAppVisuals.Elements; + +/// <summary> +/// Defines the prompt element of the console window. +/// </summary> +/// <remarks> +/// For more information, refer to the following resources: +/// <list type="bullet"> +/// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> +/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> +/// </list> +/// </remarks> +public class Prompt : InteractiveElement<string> +{ + #region Fields + private string _question; + private string _defaultValue; + private Placement _placement; + private int _maxLength; + #endregion + + #region Constants + private const int PROMPT_HEIGHT = 3; + private const int PROMPT_LEFT_MARGIN = 4; + #endregion + + #region Properties + /// <summary> + /// The placement of the prompt element. + /// </summary> + public override Placement Placement => _placement; + + /// <summary> + /// The height of the prompt element. + /// </summary> + public override int Height => PROMPT_HEIGHT; + + /// <summary> + /// The width of the prompt element. + /// </summary> + public override int Width => Math.Max(_question.Length + 1, PROMPT_LEFT_MARGIN + _maxLength); + + /// <summary> + /// The question of the prompt element. + /// </summary> + public string Question => _question; + + /// <summary> + /// The default value of the response. + /// </summary> + public string DefaultValue => _defaultValue; + + /// <summary> + /// The maximum length of the response. + /// </summary> + public int MaxLength => _maxLength; + #endregion + + #region Constructor + /// <summary> + /// The natural constructor of the prompt element. + /// </summary> + /// <param name="question">The text on the left of the prompt element.</param> + /// <param name="defaultValue">The text in the center of the prompt element.</param> + /// <param name="placement">The placement of the prompt element.</param> + /// <param name="maxLength">The maximum length of the response.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public Prompt( + string question, + string? defaultValue = null, + Placement placement = Placement.TopCenter, + int maxLength = 30 + ) + { + _question = question; + _defaultValue = defaultValue ?? string.Empty; + _placement = placement; + _maxLength = maxLength; + } + #endregion + + #region Methods + /// <summary> + /// This method is used to update the question of the prompt element. + /// </summary> + /// <param name="question">The new question of the prompt element.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdateQuestion(string question) + { + _question = question; + } + + /// <summary> + /// This method is used to update the default value of the prompt element. + /// </summary> + /// <param name="defaultValue">The new default value of the prompt element.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdateDefaultValue(string defaultValue) + { + _defaultValue = defaultValue; + } + + /// <summary> + /// This method is used to update the placement of the prompt element. + /// </summary> + /// <param name="placement">The new placement of the prompt element.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdatePlacement(Placement placement) + { + _placement = placement; + } + + /// <summary> + /// This method is used to update the maximum length of the response. + /// </summary> + /// <param name="maxLength">The new maximum length of the response.</param> + /// <exception cref="ArgumentOutOfRangeException">The maximum length of the response must be greater than 0 and less than the width of the console window.</exception> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdateMaxLength(int maxLength) + { + if (maxLength < 1 || maxLength > Console.WindowWidth) + throw new ArgumentOutOfRangeException( + nameof(maxLength), + "The maximum length of the response must be greater than 0 and less than the width of the console window." + ); + _maxLength = maxLength; + } + + /// <summary> + /// This method is used to render the prompt element on the console. + /// </summary> + [Visual] + protected override void RenderElementActions() + { + Core.WriteContinuousString( + _question, + Line, + false, + 1500, + 50, + -1, + _placement.ToTextAlignment() + ); + var field = new StringBuilder(_defaultValue); + ConsoleKeyInfo key; + do + { + Console.CursorVisible = false; + Core.WritePositionedString(GetRenderSpace()[0], TextAlignment.Center, false, Line + 2); + Console.SetCursorPosition(0, Console.CursorTop); + Console.Write("{0," + (Console.WindowWidth / 2 - _question.Length / 2 + 2) + "}", "> "); + Console.Write($"{field}"); + Console.CursorVisible = true; + key = Console.ReadKey(); + if (key.Key == ConsoleKey.Backspace && field.Length > 0) + field.Remove(field.Length - 1, 1); + else if (key.Key != ConsoleKey.Enter && key.Key != ConsoleKey.Escape) + field.Append(key.KeyChar); + } while (key.Key != ConsoleKey.Enter && key.Key != ConsoleKey.Escape); + Console.CursorVisible = false; + SendResponse( + this, + new InteractionEventArgs<string>( + key.Key == ConsoleKey.Enter ? Output.Selected : Output.Escaped, + field.ToString() + ) + ); + } + #endregion +} diff --git a/src/ConsoleAppVisuals/elements/interactive_elements/ScrollingMenu.cs b/src/ConsoleAppVisuals/elements/interactive_elements/ScrollingMenu.cs new file mode 100644 index 00000000..d7419474 --- /dev/null +++ b/src/ConsoleAppVisuals/elements/interactive_elements/ScrollingMenu.cs @@ -0,0 +1,242 @@ +/* + GNU GPL License 2024 MorganKryze(Yann Vidamment) + For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE +*/ +namespace ConsoleAppVisuals.Elements; + +/// <summary> +/// Defines the scrolling menu the console window. +/// </summary> +/// <remarks> +/// For more information, refer to the following resources: +/// <list type="bullet"> +/// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> +/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> +/// </list> +/// </remarks> +public class ScrollingMenu : InteractiveElement<int> +{ + #region Fields + private string _question; + private string[] _choices; + private int _defaultIndex; + private Placement _placement; + #endregion + + #region Properties + /// <summary> + /// The placement of the menu on the console. + /// </summary> + public override Placement Placement => _placement; + + /// <summary> + /// The height of the menu. + /// </summary> + public override int Height => _choices.Length + 2; + + /// <summary> + /// The width of the menu. + /// </summary> + public override int Width => + Math.Max(_question.Length + 1, _choices.Max((string s) => s.Length) + 4); + + /// <summary> + /// The question to ask the user. + /// </summary> + public string Question => _question; + + /// <summary> + /// The different choices of the menu. + /// </summary> + public string[] Choices => _choices; + + /// <summary> + /// The index of the default choice(initially 0). + /// </summary> + public int DefaultIndex => _defaultIndex; + + #endregion + + #region Constructor + /// <summary> + /// The constructor of the ScrollingMenu class. + /// </summary> + /// <param name="question">The question to ask the user.</param> + /// <param name="defaultIndex">The index of the default choice(initially 0).</param> + /// <param name="placement">The placement of the menu on the console.</param> + /// <param name="choices">The different choices of the menu.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public ScrollingMenu( + string question, + int defaultIndex = 0, + Placement placement = Placement.TopCenter, + params string[] choices + ) + { + _question = question; + _defaultIndex = defaultIndex; + _placement = placement; + _choices = choices; + } + #endregion + + #region Methods + /// <summary> + /// This method is used to update the question of the menu. + /// </summary> + /// <param name="question">The new question of the menu.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdateQuestion(string question) + { + _question = question; + } + + /// <summary> + /// This method is used to update the choices of the menu. + /// </summary> + /// <param name="choices">The new choices of the menu.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdateChoices(params string[] choices) + { + _choices = choices; + } + + /// <summary> + /// This method is used to update the default index of the menu. + /// </summary> + /// <param name="defaultIndex">The new default index of the menu.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdateDefaultIndex(int defaultIndex) + { + _defaultIndex = defaultIndex; + } + + /// <summary> + /// This method is used to update the placement of the menu. + /// </summary> + /// <param name="placement">The new placement of the menu.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdatePlacement(Placement placement) + { + _placement = placement; + } + + /// <summary> + /// This method is used to draw the menu on the console. + /// </summary> + [Visual] + protected override void RenderElementActions() + { + EqualizeChoicesLength(_choices); + Core.WriteContinuousString(_question, Line, false, 1500, 50); + int lineChoice = Line + 2; + bool delay = true; + bool loop = true; + while (loop) + { + DisplayChoices(_defaultIndex, _placement, _choices, lineChoice, delay); + delay = false; + + switch (Console.ReadKey(intercept: true).Key) + { + case ConsoleKey.UpArrow: + case ConsoleKey.Z: + _defaultIndex = (_defaultIndex == 0) ? _choices.Length - 1 : _defaultIndex - 1; + break; + case ConsoleKey.DownArrow: + case ConsoleKey.S: + _defaultIndex = (_defaultIndex == _choices.Length - 1) ? 0 : _defaultIndex + 1; + break; + case ConsoleKey.Enter: + SendResponse( + this, + new InteractionEventArgs<int>(Output.Selected, _defaultIndex) + ); + loop = false; + break; + case ConsoleKey.Escape: + SendResponse( + this, + new InteractionEventArgs<int>(Output.Escaped, _defaultIndex) + ); + loop = false; + break; + case ConsoleKey.Backspace: + SendResponse( + this, + new InteractionEventArgs<int>(Output.Deleted, _defaultIndex) + ); + loop = false; + break; + } + } + } + + [Visual] + private static void EqualizeChoicesLength(string[] choices) + { + int totalWidth = (choices.Length != 0) ? choices.Max((string s) => s.Length) : 0; + for (int i = 0; i < choices.Length; i++) + { + choices[i] = choices[i].PadRight(totalWidth); + } + } + + [Visual] + private static void DisplayChoices( + int defaultIndex, + Placement placement, + string[] choices, + int lineChoice, + bool delay = false + ) + { + string[] array = new string[choices.Length]; + for (int i = 0; i < choices.Length; i++) + { + array[i] = + (i == defaultIndex) + ? $" {Core.GetSelector.Item1} {choices[i]} " + : $" {choices[i]} "; + Core.WritePositionedString( + array[i], + placement.ToTextAlignment(), + i == defaultIndex, + lineChoice + i + ); + if (delay) + Thread.Sleep(30); + } + } + #endregion +} diff --git a/src/ConsoleAppVisuals/elements/interactive/TableSelector.cs b/src/ConsoleAppVisuals/elements/interactive_elements/TableSelector.cs similarity index 86% rename from src/ConsoleAppVisuals/elements/interactive/TableSelector.cs rename to src/ConsoleAppVisuals/elements/interactive_elements/TableSelector.cs index 0f13db9e..7fc04040 100644 --- a/src/ConsoleAppVisuals/elements/interactive/TableSelector.cs +++ b/src/ConsoleAppVisuals/elements/interactive_elements/TableSelector.cs @@ -2,39 +2,39 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Elements; /// <summary> /// The <see cref="TableSelector{T}"/> class that contains the methods to create a table and display it. /// </summary> -/// +/// <remarks> +/// For more information, refer to the following resources: +/// <list type="bullet"> +/// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> +/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> +/// </list> +/// </remarks> public class TableSelector<T> : InteractiveElement<int> { - #region Fields: title, headers, lines, display array, rounded corners + #region Fields private string? _title; private List<string>? _rawHeaders; private List<List<T>>? _rawLines; - private readonly bool _excludeHeader; - private readonly bool _excludeFooter; - private readonly string? _footerText; + private bool _excludeHeader; + private bool _excludeFooter; + private string? _footerText; private string[]? _displayArray; private bool _roundedCorners = false; - private readonly int _line; - private readonly Placement _placement; + private Placement _placement; #endregion - #region Properties: get headers, get lines + #region Properties /// <summary> /// This property returns the title of the table. /// </summary> public override Placement Placement => _placement; - /// <summary> - /// This property returns the line to display the table on. - /// </summary> - public override int Line => _line; - /// <summary> /// This property returns the height of the table. /// </summary> @@ -44,9 +44,7 @@ public class TableSelector<T> : InteractiveElement<int> /// This property returns the width of the table. /// </summary> public override int Width => _displayArray?.Max(x => x.Length) ?? 0; - #endregion - #region Properties: get corners, count /// <summary> /// This property returns the title of the table. /// </summary> @@ -110,14 +108,13 @@ public class TableSelector<T> : InteractiveElement<int> /// <param name="excludeFooter">Whether to exclude the footer from selectable elements.</param> /// <param name="footerText">The text to display in the footer.</param> /// <param name="placement">The placement of the table.</param> - /// <param name="line">The line to display the table on.</param> /// <exception cref="ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> /// <exception cref="NullReferenceException">Is thrown when no body lines were provided.</exception> /// <remarks> /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public TableSelector( @@ -127,8 +124,7 @@ public TableSelector( bool excludeHeader = true, bool excludeFooter = true, string? footerText = null, - Placement placement = Placement.TopCenter, - int? line = null + Placement placement = Placement.TopCenter ) { _title = title; @@ -138,7 +134,6 @@ public TableSelector( _excludeFooter = excludeFooter; _footerText = footerText; _placement = placement; - _line = Window.CheckLine(line) ?? Window.GetLineAvailable(placement); if (CompatibilityCheck()) { BuildTable(); @@ -448,6 +443,79 @@ private void BuildTitle() #endregion #region Methods: Get, Add, Update, Remove, Clear + /// <summary> + /// This method updates the placement of the table. + /// </summary> + /// <param name="placement">The placement of the table.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdatePlacement(Placement placement) + { + _placement = placement; + if (CompatibilityCheck()) + { + BuildTable(); + } + } + + /// <summary> + /// This method updates the text of the footer. + /// </summary> + /// <param name="footerText"></param> + public void UpdateFooterText(string footerText) + { + _footerText = footerText; + if (CompatibilityCheck()) + { + BuildTable(); + } + } + + /// <summary> + /// This method sets the table to exclude the header. + /// </summary> + /// <param name="excludeHeader">Whether to exclude the header or not.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void SetExcludeHeader(bool excludeHeader = true) + { + _excludeHeader = excludeHeader; + if (CompatibilityCheck()) + { + BuildTable(); + } + } + + /// <summary> + /// This method sets the table to exclude the footer. + /// </summary> + /// <param name="excludeFooter">Whether to exclude the footer or not.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void SetExcludeFooter(bool excludeFooter = true) + { + _excludeFooter = excludeFooter; + if (CompatibilityCheck()) + { + BuildTable(); + } + } + /// <summary> /// This method adds headers to the table. /// </summary> @@ -456,7 +524,7 @@ private void BuildTitle() /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void AddHeaders(List<string> headers) @@ -477,7 +545,7 @@ public void AddHeaders(List<string> headers) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void UpdateHeaders(List<string> headers) @@ -493,7 +561,7 @@ public void UpdateHeaders(List<string> headers) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void AddTitle(string title) @@ -510,7 +578,7 @@ public void AddTitle(string title) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void UpdateTitle(string title) @@ -526,7 +594,7 @@ public void UpdateTitle(string title) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void SetRoundedCorners(bool rounded = true) @@ -545,7 +613,7 @@ public void SetRoundedCorners(bool rounded = true) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public List<T> GetLine(int index) @@ -567,7 +635,7 @@ public List<T> GetLine(int index) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public List<T>? GetColumnData(int index) @@ -600,7 +668,7 @@ public List<T> GetLine(int index) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public List<T>? GetColumnData(string header) @@ -630,7 +698,7 @@ public List<T> GetLine(int index) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void AddLine(List<T> line) @@ -661,7 +729,7 @@ public void AddLine(List<T> line) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void RemoveLine(int index) @@ -686,7 +754,7 @@ public void RemoveLine(int index) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void UpdateLine(int index, List<T> line) @@ -716,7 +784,7 @@ public void UpdateLine(int index, List<T> line) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void ClearHeaders() @@ -732,7 +800,7 @@ public void ClearHeaders() /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void ClearLines() @@ -748,7 +816,7 @@ public void ClearLines() /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void Reset() @@ -777,7 +845,7 @@ protected override void RenderElementActions() for (int j = 0; j < _displayArray.Length; j++) { array[j] = _displayArray[j]; - Core.WritePositionedString(array[j], TextAlignment.Center, false, _line + j); + Core.WritePositionedString(array[j], TextAlignment.Center, false, Line + j); if (j == index) { Core.WritePositionedString( @@ -788,7 +856,7 @@ protected override void RenderElementActions() : array[j][1..^1], TextAlignment.Center, true, - _line + j + Line + j ); } } diff --git a/src/ConsoleAppVisuals/elements/Banner.cs b/src/ConsoleAppVisuals/elements/static_elements/Banner.cs similarity index 60% rename from src/ConsoleAppVisuals/elements/Banner.cs rename to src/ConsoleAppVisuals/elements/static_elements/Banner.cs index 825292df..84f45606 100644 --- a/src/ConsoleAppVisuals/elements/Banner.cs +++ b/src/ConsoleAppVisuals/elements/static_elements/Banner.cs @@ -2,9 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -using System.Runtime.CompilerServices; - -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Elements; /// <summary> /// Defines the banner of the console window. @@ -13,7 +11,7 @@ namespace ConsoleAppVisuals; /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> -/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> +/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public class Banner : Element @@ -23,7 +21,6 @@ public class Banner : Element private int _upperMargin; private int _lowerMargin; private Placement _placement; - private int _line; #endregion #region Properties @@ -32,12 +29,6 @@ public class Banner : Element /// </summary> public override Placement Placement => _placement; - /// <summary> - /// The line of the banner in the console. - /// </summary> - /// <remarks>We add 2 because so the banner does not overlap with the title.</remarks> - public override int Line => _line; - /// <summary> /// The height of the banner. /// </summary> @@ -47,31 +38,21 @@ public class Banner : Element /// The width of the banner. /// </summary> public override int Width => Console.WindowWidth; - #endregion - #region Getters and Setters /// <summary> - /// Getter and setter of the text of the banner. + /// The text of the banner. /// </summary> public (string, string, string) Text => _text; /// <summary> - /// Getter and setter of the upper margin of the banner. + /// The upper margin of the banner. /// </summary> - public int UpperMargin - { - get => _upperMargin; - set => _upperMargin = value; - } + public int UpperMargin => _upperMargin; /// <summary> - /// Getter and setter of the lower margin of the banner. + /// The lower margin of the banner. /// </summary> - public int LowerMargin - { - get => _lowerMargin; - set => _lowerMargin = value; - } + public int LowerMargin => _lowerMargin; #endregion @@ -85,12 +66,11 @@ public int LowerMargin /// <param name="upperMargin">The upper margin of the banner.</param> /// <param name="lowerMargin">The lower margin of the banner.</param> /// <param name="placement">The placement of the banner.</param> - /// <param name="line">The line of the banner in the console.</param> /// <remarks> /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public Banner( @@ -99,17 +79,15 @@ public Banner( string rightText = "Banner Right", int upperMargin = 0, int lowerMargin = 0, - Placement placement = Placement.TopCenterFullWidth, - int? line = null + Placement placement = Placement.TopCenterFullWidth ) { _text.Item1 = leftText; _text.Item2 = centerText; _text.Item3 = rightText; - UpperMargin = upperMargin; - LowerMargin = lowerMargin; + _upperMargin = upperMargin; + _lowerMargin = lowerMargin; _placement = CheckPlacement(placement); - _line = Window.CheckLine(line) ?? Window.GetLineAvailable(_placement); } private static Placement CheckPlacement(Placement placement) @@ -133,7 +111,7 @@ private static Placement CheckPlacement(Placement placement) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void UpdateLeftText(string leftText) @@ -149,7 +127,7 @@ public void UpdateLeftText(string leftText) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void UpdateCenterText(string centerText) @@ -165,7 +143,7 @@ public void UpdateCenterText(string centerText) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void UpdateRightText(string rightText) @@ -173,6 +151,70 @@ public void UpdateRightText(string rightText) _text.Item3 = rightText; } + /// <summary> + /// This method is used to update the placement of the banner. + /// </summary> + /// <param name="placement">The new placement of the banner.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdatePlacement(Placement placement) + { + _placement = CheckPlacement(placement); + } + + /// <summary> + /// This method is used to update the upper margin of the banner. + /// </summary> + /// <param name="upperMargin">The new upper margin of the banner.</param> + /// <exception cref="ArgumentOutOfRangeException">The upper margin of the banner must be between 0 and the height of the console window.</exception> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdateUpperMargin(int upperMargin) + { + if (upperMargin < 0 || upperMargin > Console.WindowHeight - 1) + { + throw new ArgumentOutOfRangeException( + nameof(upperMargin), + "The upper margin of the banner must be between 0 and the height of the console window." + ); + } + _upperMargin = upperMargin; + } + + /// <summary> + /// This method is used to update the lower margin of the banner. + /// </summary> + /// <param name="lowerMargin">The new lower margin of the banner.</param> + /// <exception cref="ArgumentOutOfRangeException">The lower margin of the banner must be between 0 and the height of the console window.</exception> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdateLowerMargin(int lowerMargin) + { + if (lowerMargin < 0 || lowerMargin > Console.WindowHeight - 1) + { + throw new ArgumentOutOfRangeException( + nameof(lowerMargin), + "The lower margin of the banner must be between 0 and the height of the console window." + ); + } + _lowerMargin = lowerMargin; + } + /// <summary> /// This method is used to render the banner on the console. /// </summary> diff --git a/src/ConsoleAppVisuals/elements/FakeLoadingBar.cs b/src/ConsoleAppVisuals/elements/static_elements/FakeLoadingBar.cs similarity index 61% rename from src/ConsoleAppVisuals/elements/FakeLoadingBar.cs rename to src/ConsoleAppVisuals/elements/static_elements/FakeLoadingBar.cs index 99b358c9..6390093e 100644 --- a/src/ConsoleAppVisuals/elements/FakeLoadingBar.cs +++ b/src/ConsoleAppVisuals/elements/static_elements/FakeLoadingBar.cs @@ -2,7 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Elements; /// <summary> /// Defines the loading bar of the console window. @@ -11,17 +11,16 @@ namespace ConsoleAppVisuals; /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> -/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> +/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public class FakeLoadingBar : Element { #region Fields private string _text; - private readonly Placement _placement; + private Placement _placement; private readonly int _processDuration; - private readonly int _additionalDuration; - private readonly int _line; + private int _additionalDuration; #endregion #region Constants @@ -29,13 +28,6 @@ public class FakeLoadingBar : Element #endregion #region Properties - /// <summary> - /// The line of the loading bar in the console. - /// </summary> - /// <remarks>We add 2 because so the loading bar does not overlap with the title.</remarks> - [Visual] - public override int Line => _line; - /// <summary> /// The height of the loading bar. /// </summary> @@ -46,29 +38,26 @@ public class FakeLoadingBar : Element /// The width of the loading bar. /// </summary> public override int Width => _text.Length; - #endregion - #region Getters and Setters - /// <summary> - /// Getter and setter of the text of the loading bar. + /// The text of the loading bar. /// </summary> - public string Text { get => _text; set => _text = value; } + public string Text => _text; /// <summary> - /// Getter of the placement of the loading bar. + /// The placement of the loading bar. /// </summary> - public override Placement Placement {get => _placement;} + public override Placement Placement => _placement; /// <summary> /// Getter of the duration of the loading bar. /// </summary> - public int ProcessDuration {get => _processDuration;} + public int ProcessDuration => _processDuration; /// <summary> /// Getter of the additional duration of the loading bar at the end. /// </summary> - public int AdditionalDuration {get => _additionalDuration;} + public int AdditionalDuration => _additionalDuration; #endregion @@ -78,32 +67,31 @@ public class FakeLoadingBar : Element /// </summary> /// <param name="text">The text of the loading bar.</param> /// <param name="placement">The placement of the loading bar.</param> - /// <param name="line">The line of the loading bar.</param> /// <param name="processDuration">The duration of the loading bar.</param> /// <param name="additionalDuration">The additional duration of the loading bar at the end.</param> /// <remarks> /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public FakeLoadingBar( string text = "[ Loading ...]", Placement placement = Placement.TopCenter, - int? line = null, int processDuration = 2000, int additionalDuration = 1000 ) { - if(Console.WindowWidth-1 >= 0){ + if (Console.WindowWidth - 1 >= 0) + { _text = text[..Math.Min(text.Length, Console.WindowWidth - 1)]; } - else{ + else + { _text = text[..Math.Min(text.Length, 0)]; } _placement = placement; - _line = Window.CheckLine(line) ?? Window.GetLineAvailable(placement); _processDuration = processDuration; _additionalDuration = additionalDuration; } @@ -118,7 +106,7 @@ public FakeLoadingBar( /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void UpdateText(string text) @@ -126,14 +114,54 @@ public void UpdateText(string text) _text = text; } + /// <summary> + /// This method is used to update the placement of the loading bar. + /// </summary> + /// <param name="placement">The new placement of the loading bar.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdatePlacement(Placement placement) + { + _placement = placement; + } + + /// <summary> + /// This method is used to update the additional duration of the loading bar. + /// </summary> + /// <param name="additionalDuration">The new additional duration of the loading bar.</param> + /// <exception cref="ArgumentOutOfRangeException">The additional duration of the loading bar cannot be negative.</exception> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdateAdditionalDuration(int additionalDuration) + { + if (additionalDuration < 0) + { + throw new ArgumentOutOfRangeException( + nameof(additionalDuration), + "The additional duration must be greater than or equal to 0." + ); + } + _additionalDuration = additionalDuration; + } + /// <summary> /// This method is used to draw the loading bar on the console. /// </summary> - + [Visual] protected override void RenderElementActions() { - Core.WritePositionedString(_text, _placement.ToTextAlignment(), false, _line, false); + Core.WritePositionedString(_text, _placement.ToTextAlignment(), false, Line, false); StringBuilder loadingBar = new(); for (int j = 0; j < _text.Length; j++) { @@ -141,7 +169,7 @@ protected override void RenderElementActions() } Core.WriteContinuousString( loadingBar.ToString(), - _line + 2, + Line + 2, false, _processDuration, _additionalDuration, diff --git a/src/ConsoleAppVisuals/elements/Footer.cs b/src/ConsoleAppVisuals/elements/static_elements/Footer.cs similarity index 82% rename from src/ConsoleAppVisuals/elements/Footer.cs rename to src/ConsoleAppVisuals/elements/static_elements/Footer.cs index 7269ef4e..9d252c08 100644 --- a/src/ConsoleAppVisuals/elements/Footer.cs +++ b/src/ConsoleAppVisuals/elements/static_elements/Footer.cs @@ -2,7 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Elements; /// <summary> /// Defines the footer of the console window. @@ -11,7 +11,7 @@ namespace ConsoleAppVisuals; /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> -/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> +/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public class Footer : Element @@ -20,34 +20,30 @@ public class Footer : Element private (string, string, string) _text; #endregion + #region Constants + private const int TEXT_HEIGHT = 1; + #endregion + #region Properties /// <summary> /// The placement of the footer. /// </summary> - public override Placement Placement { get; set; } = Placement.BottomCenterFullWidth; - - /// <summary> - /// The line of the footer in the console. - /// </summary> - public override int Line => Window.GetLineAvailable(Placement); + public override Placement Placement => Placement.BottomCenterFullWidth; /// <summary> /// The height of the footer. /// </summary> - public override int Height => 1; + public override int Height => TEXT_HEIGHT; /// <summary> /// The width of the footer. /// </summary> public override int Width => Console.WindowWidth; - #endregion - #region Getters and Setters /// <summary> /// The text of the footer. /// </summary> - public (string,string,string) Text{get => _text; set => _text = value;} - + public (string, string, string) Text => _text; #endregion @@ -63,7 +59,7 @@ public class Footer : Element /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public Footer( @@ -87,7 +83,7 @@ public Footer( /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void UpdateLeftText(string leftText) @@ -103,7 +99,7 @@ public void UpdateLeftText(string leftText) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void UpdateCenterText(string centerText) @@ -119,7 +115,7 @@ public void UpdateCenterText(string centerText) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void UpdateRightText(string rightText) diff --git a/src/ConsoleAppVisuals/elements/Header.cs b/src/ConsoleAppVisuals/elements/static_elements/Header.cs similarity index 84% rename from src/ConsoleAppVisuals/elements/Header.cs rename to src/ConsoleAppVisuals/elements/static_elements/Header.cs index 17da6d98..469bd399 100644 --- a/src/ConsoleAppVisuals/elements/Header.cs +++ b/src/ConsoleAppVisuals/elements/static_elements/Header.cs @@ -2,7 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Elements; /// <summary> /// Defines the header of the console window. @@ -11,7 +11,7 @@ namespace ConsoleAppVisuals; /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> -/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> +/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public class Header : Element @@ -21,36 +21,33 @@ public class Header : Element private int _margin; #endregion + #region Constants + private const int TEXT_HEIGHT = 1; + #endregion + #region Properties /// <summary> /// The placement of the header. /// </summary> public override Placement Placement => Placement.TopCenterFullWidth; - /// <summary> - /// The line of the header in the console. - /// </summary> - public override int Line => Window.GetVisibleElement<Title>()?.Height ?? 0; - /// <summary> /// The height of the header. /// </summary> - public override int Height => 1 + _margin; + public override int Height => TEXT_HEIGHT + _margin; /// <summary> /// The width of the header. /// </summary> public override int Width => Console.WindowWidth; - #endregion - #region Getters and Setters /// <summary> - /// The getter of the text of the header. + /// The text of the header. /// </summary> public (string, string, string) Text => _text; /// <summary> - /// The getter and setter of the margin of the header. + /// The margin of the header. /// </summary> public int Margin => _margin; #endregion @@ -67,7 +64,7 @@ public class Header : Element /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public Header( @@ -93,7 +90,7 @@ public Header( /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void UpdateLeftText(string leftText) @@ -109,7 +106,7 @@ public void UpdateLeftText(string leftText) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void UpdateCenterText(string centerText) @@ -125,7 +122,7 @@ public void UpdateCenterText(string centerText) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void UpdateRightText(string rightText) @@ -141,7 +138,7 @@ public void UpdateRightText(string rightText) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void UpdateMargin(int margin) diff --git a/src/ConsoleAppVisuals/elements/LoadingBar.cs b/src/ConsoleAppVisuals/elements/static_elements/LoadingBar.cs similarity index 69% rename from src/ConsoleAppVisuals/elements/LoadingBar.cs rename to src/ConsoleAppVisuals/elements/static_elements/LoadingBar.cs index bd4f25e4..219611a2 100644 --- a/src/ConsoleAppVisuals/elements/LoadingBar.cs +++ b/src/ConsoleAppVisuals/elements/static_elements/LoadingBar.cs @@ -2,7 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Elements; /// <summary> /// Defines the loading bar of the console window. @@ -11,17 +11,16 @@ namespace ConsoleAppVisuals; /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> -/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> +/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public class LoadingBar : Element { #region Fields private string _text; - private readonly Placement _placement; + private Placement _placement; private float _progress; - private readonly int _line; - private readonly int _additionalDuration; + private int _additionalDuration; #endregion #region Constants @@ -32,12 +31,6 @@ public class LoadingBar : Element #endregion #region Properties - /// <summary> - /// The line of the loading bar in the console. - /// </summary> - /// <remarks>We add 2 because so the loading bar does not overlap with the title.</remarks> - public override int Line => _line; - /// <summary> /// The height of the loading bar. /// </summary> @@ -53,9 +46,6 @@ public class LoadingBar : Element /// The placement of the loading bar. /// </summary> public override Placement Placement => _placement; - #endregion - - #region Getters & Setters /// <summary> /// Getters and setters of the text of the loading bar. @@ -80,32 +70,31 @@ public class LoadingBar : Element /// <param name="text">The text of the loading bar.</param> /// <param name="progress">The reference of the progress of the loading bar (that means that you should put a reference to a variable that will contain the percentage of progress of your process).</param> /// <param name="placement">The placement of the loading bar.</param> - /// <param name="line">The line of the loading bar.</param> /// <param name="additionalDuration">The duration of the loading bar after the process.</param> /// <remarks> /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public LoadingBar( string text, ref float progress, Placement placement = Placement.TopCenter, - int? line = null, int additionalDuration = 1000 ) { - if(Console.WindowWidth -1 < 0){ + if (Console.WindowWidth - 1 < 0) + { _text = text[..Math.Min(text.Length, 0)]; } - else{ + else + { _text = text[..Math.Min(text.Length, Console.WindowWidth - 1)]; } _progress = progress; _placement = placement; - _line = Window.CheckLine(line) ?? Window.GetLineAvailable(placement); _additionalDuration = additionalDuration; } #endregion @@ -119,7 +108,7 @@ public LoadingBar( /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void UpdateText(string text) @@ -127,6 +116,43 @@ public void UpdateText(string text) _text = text; } + /// <summary> + /// This method is used to update the placement of the loading bar. + /// </summary> + /// <param name="placement">The new placement of the loading bar.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdatePlacement(Placement placement) + { + _placement = placement; + } + + /// <summary> + /// This method is used to update the additional duration of the loading bar. + /// </summary> + /// <param name="additionalDuration">The new additional duration of the loading bar.</param> + /// <exception cref="ArgumentException">The additional duration of the loading bar cannot be negative.</exception> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdateAdditionalDuration(int additionalDuration) + { + if (additionalDuration < 0) + { + throw new ArgumentException("The additional duration of the loading bar cannot be negative."); + } + _additionalDuration = additionalDuration; + } + /// <summary> /// This method is used to update the progress of the loading bar. /// </summary> @@ -135,7 +161,7 @@ public void UpdateText(string text) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void UpdateProgress(float progress) @@ -167,12 +193,12 @@ void BuildBar(string text, float progress, int line) ); } - Core.WritePositionedString(_text, _placement.ToTextAlignment(), false, _line, false); + Core.WritePositionedString(_text, _placement.ToTextAlignment(), false, Line, false); while (_progress < MAX_PROGRESS) { - BuildBar(_text, _progress, _line); + BuildBar(_text, _progress, Line); } - BuildBar(_text, MAX_PROGRESS, _line); + BuildBar(_text, MAX_PROGRESS, Line); Thread.Sleep(_additionalDuration); _progress = MIN_PROGRESS; Window.DeactivateElement(this); diff --git a/src/ConsoleAppVisuals/elements/Matrix.cs b/src/ConsoleAppVisuals/elements/static_elements/Matrix.cs similarity index 90% rename from src/ConsoleAppVisuals/elements/Matrix.cs rename to src/ConsoleAppVisuals/elements/static_elements/Matrix.cs index fa4bf404..a489651a 100644 --- a/src/ConsoleAppVisuals/elements/Matrix.cs +++ b/src/ConsoleAppVisuals/elements/static_elements/Matrix.cs @@ -2,7 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Elements; /// <summary> /// A matrix class for the console. @@ -13,8 +13,7 @@ public class Matrix<T> : Element private readonly List<List<T?>> _lines; private string[]? _displayArray; private bool _roundedCorners; - private readonly Placement _placement; - private readonly int _line; + private Placement _placement; #endregion #region Properties: GetCorners, Count, Placement, Height, Width, Line @@ -45,10 +44,6 @@ public class Matrix<T> : Element /// </summary> public override int Width => _displayArray?.Max(x => x.Length) ?? 0; - /// <summary> - /// Gets the line of the matrix. - /// </summary> - public override int Line => _line; #endregion #region Constructor @@ -58,19 +53,16 @@ public class Matrix<T> : Element /// <param name="rawLines">The matrix to be used.</param> /// <param name="roundedCorners">Whether the matrix should have rounded corners or not.</param> /// <param name="placement">The placement of the matrix.</param> - /// <param name="line">The line of the matrix.</param> /// <exception cref="ArgumentException">Thrown when the matrix is empty or not compatible (lines are not of the same length).</exception> - /// <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + /// <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> public Matrix( List<List<T?>>? rawLines = null, bool roundedCorners = false, - Placement placement = Placement.TopCenter, - int? line = null + Placement placement = Placement.TopCenter ) { _roundedCorners = roundedCorners; _placement = placement; - _line = Window.CheckLine(line) ?? Window.GetLineAvailable(placement); if (rawLines is not null) { _lines = rawLines; @@ -203,7 +195,7 @@ private string CreateFooter(int[] localMax) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void SetRoundedCorners(bool value = true) @@ -215,6 +207,22 @@ public void SetRoundedCorners(bool value = true) } } + /// <summary> + /// This method is used to update the placement of the matrix. + /// </summary> + /// <param name="placement">The new placement of the matrix.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdatePlacement(Placement placement) + { + _placement = placement; + } + /// <summary> /// Gets the element at the specified position. /// </summary> @@ -225,7 +233,7 @@ public void SetRoundedCorners(bool value = true) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public T? GetItem(Position position) @@ -247,7 +255,7 @@ public void SetRoundedCorners(bool value = true) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public bool AddLine(List<T?> line) @@ -282,7 +290,7 @@ public bool AddLine(List<T?> line) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public bool InsertLine(int index, List<T?> line) @@ -314,7 +322,7 @@ public bool InsertLine(int index, List<T?> line) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public bool UpdateLine(int index, List<T?> line) @@ -345,7 +353,7 @@ public bool UpdateLine(int index, List<T?> line) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public bool UpdateItem(Position position, T item) @@ -369,7 +377,7 @@ public bool UpdateItem(Position position, T item) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public bool RemoveLine(int index) @@ -393,7 +401,7 @@ public bool RemoveLine(int index) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public bool RemoveItem(Position position) @@ -416,7 +424,7 @@ public bool RemoveItem(Position position) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> protected override void RenderElementActions() @@ -429,7 +437,7 @@ protected override void RenderElementActions() true, _placement.ToTextAlignment(), false, - _line, + Line, _displayArray ); } diff --git a/src/ConsoleAppVisuals/elements/TableView.cs b/src/ConsoleAppVisuals/elements/static_elements/TableView.cs similarity index 96% rename from src/ConsoleAppVisuals/elements/TableView.cs rename to src/ConsoleAppVisuals/elements/static_elements/TableView.cs index c3bfb6c5..c253ac63 100644 --- a/src/ConsoleAppVisuals/elements/TableView.cs +++ b/src/ConsoleAppVisuals/elements/static_elements/TableView.cs @@ -2,7 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Elements; /// <summary> /// The <see cref="TableView{T}"/> class that contains the methods to create a table and display it. @@ -15,7 +15,6 @@ public class TableView<T> : Element private List<List<T>>? _rawLines; private string[]? _displayArray; private bool _roundedCorners; - private readonly int _line; private readonly Placement _placement; #endregion @@ -35,11 +34,6 @@ public class TableView<T> : Element /// </summary> public override Placement Placement => _placement; - /// <summary> - /// This property returns the line to display the table on. - /// </summary> - public override int Line => _line; - /// <summary> /// This property returns the height of the table. /// </summary> @@ -66,17 +60,15 @@ public class TableView<T> : Element /// <param name="lines">The lines of the table.</param> /// <param name="roundedCorners">The rounded corners of the table.</param> /// <param name="placement">The placement of the table.</param> - /// <param name="line">The line to display the table on.</param> /// <exception cref="ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> /// <exception cref="NullReferenceException">Is thrown when no body lines were provided.</exception> - /// <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + /// <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> public TableView( string? title = null, List<string>? headers = null, List<List<T>>? lines = null, bool roundedCorners = false, - Placement placement = Placement.TopCenter, - int? line = null + Placement placement = Placement.TopCenter ) { _title = title; @@ -84,7 +76,6 @@ public TableView( _rawLines = lines; _roundedCorners = roundedCorners; _placement = placement; - _line = Window.CheckLine(line) ?? Window.GetLineAvailable(placement); if (CompatibilityCheck()) { BuildTable(); @@ -408,7 +399,7 @@ private void BuildTitle() /// <summary> /// Toggles the rounded corners of the table. /// </summary> - /// <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + /// <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> public void SetRoundedCorners(bool rounded = true) { _roundedCorners = rounded; @@ -479,7 +470,7 @@ public void ClearHeaders() /// </summary> /// <param name="line">The line to add.</param> /// <exception cref="ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> - /// <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + /// <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> public void AddLine(List<T> line) { if (_rawLines?.Count > 0 && line.Count != _rawLines[0].Count) @@ -506,7 +497,7 @@ public void AddLine(List<T> line) /// <param name="line">The new line.</param> /// <exception cref="ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> /// <exception cref="ArgumentException">Is thrown when the number of columns in the table is not consistent with itself or with the headers.</exception> - /// <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + /// <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> public void UpdateLine(int index, List<T> line) { if (_rawLines?.Count > 0) @@ -532,7 +523,7 @@ public void UpdateLine(int index, List<T> line) /// </summary> /// <param name="index">The index of the line to remove.</param> /// <exception cref="ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> - /// <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + /// <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> public void RemoveLine(int index) { if (_rawLines?.Count > 0 && (index < 0 || index >= _rawLines.Count)) @@ -559,7 +550,7 @@ public void ClearLines() /// <param name="index">The index of the line to return.</param> /// <returns>The line at the specified index.</returns> /// <exception cref="ArgumentOutOfRangeException">Is thrown when the index is out of range.</exception> - /// <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + /// <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> public List<T> GetLine(int index) { if (index < 0 || index >= _rawLines?.Count) @@ -642,7 +633,7 @@ protected override void RenderElementActions() for (int j = 0; j < _displayArray.Length; j++) { array[j] = _displayArray[j]; - Core.WritePositionedString(array[j], _placement.ToTextAlignment(), false, _line + j); + Core.WritePositionedString(array[j], _placement.ToTextAlignment(), false, Line + j); } } #endregion diff --git a/src/ConsoleAppVisuals/elements/Title.cs b/src/ConsoleAppVisuals/elements/static_elements/Title.cs similarity index 56% rename from src/ConsoleAppVisuals/elements/Title.cs rename to src/ConsoleAppVisuals/elements/static_elements/Title.cs index aa1ed165..ccb3a355 100644 --- a/src/ConsoleAppVisuals/elements/Title.cs +++ b/src/ConsoleAppVisuals/elements/static_elements/Title.cs @@ -2,7 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Elements; /// <summary> /// Defines the title of the console window. @@ -11,7 +11,7 @@ namespace ConsoleAppVisuals; /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> -/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> +/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public class Title : Element @@ -19,15 +19,16 @@ public class Title : Element #region Fields private string _text; private int _margin; - private readonly int _width; - private readonly TextAlignment _align; + private int _width; + private TextAlignment _align; #endregion #region Properties /// <summary> - /// + /// /// </summary> public string[] StyledText => Core.StyleText(_text); + /// <summary> /// The placement of the title. /// </summary> @@ -42,6 +43,11 @@ public class Title : Element /// The width of the title. /// </summary> public override int Width => _width; + + /// <summary> + /// The line of the title. + /// </summary> + public override int Line => 0; #endregion #region Constructor @@ -56,7 +62,7 @@ public class Title : Element /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public Title( @@ -82,7 +88,7 @@ public Title( /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void UpdateText(string text) @@ -94,24 +100,72 @@ public void UpdateText(string text) /// This method updates the margin of the title. /// </summary> /// <param name="margin">The new margin of the title.</param> + /// <exception cref="ArgumentOutOfRangeException">The margin must be between 0 and the half of the console height.</exception> /// <remarks> /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public void UpdateMargin(int margin) { + if (margin < 0 || margin > Console.WindowHeight / 2) + { + throw new ArgumentOutOfRangeException( + nameof(margin), + "The margin must be between 0 and the half of the console height." + ); + } _margin = margin; } + /// <summary> + /// This method updates the width of the title. + /// </summary> + /// <param name="width">The new width of the title.</param> + /// <exception cref="ArgumentOutOfRangeException">The width must be between 0 and the console width.</exception> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdateWidth(int width) + { + if (width < 0 || width > Console.WindowWidth) + { + throw new ArgumentOutOfRangeException( + nameof(width), + "The width must be between 0 and the console width." + ); + } + _width = width; + } + + /// <summary> + /// This method updates the alignment of the title. + /// </summary> + /// <param name="align">The new alignment of the title.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdateAlignment(TextAlignment align) + { + _align = align; + } + /// <summary> /// This method is used to draw the title on the console. /// </summary> protected override void RenderElementActions() { - Core.WritePositionedStyledText(StyledText, 0, _width, _margin, _align, false); + Core.WritePositionedStyledText(StyledText, Line, _width, _margin, _align, false); } #endregion } diff --git a/src/ConsoleAppVisuals/elements/inspectors/ElementList.cs b/src/ConsoleAppVisuals/elements/static_elements/inspectors/ElementList.cs similarity index 72% rename from src/ConsoleAppVisuals/elements/inspectors/ElementList.cs rename to src/ConsoleAppVisuals/elements/static_elements/inspectors/ElementList.cs index 0064bab3..4df46f8c 100644 --- a/src/ConsoleAppVisuals/elements/inspectors/ElementList.cs +++ b/src/ConsoleAppVisuals/elements/static_elements/inspectors/ElementList.cs @@ -2,7 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Elements; /// <summary> /// This class is used to display a ElementList of all the elements in the window. @@ -10,13 +10,10 @@ namespace ConsoleAppVisuals; public class ElementList : Element { #region Fields: title, headers, lines, display array, rounded corners - private readonly string _title; - private readonly List<string> _headers; private List<List<string>> _lines; private string[] _displayArray; private bool _roundedCorners; - private readonly Placement _placement; - private readonly int _line; + private Placement _placement; #endregion #region Properties: get headers, get lines @@ -27,26 +24,26 @@ public class ElementList : Element /// </summary> public bool RoundedCorners => _roundedCorners; + /// <summary> + /// This property returns the title of the ElementList. + /// </summary> + public static string Title => "Window Elements"; + /// <summary> /// This property returns the headers of the ElementList. /// </summary> - public List<string> GetHeaders => _headers; + public static List<string> Headers => new() { "Id", "Type", "Project" }; /// <summary> /// This property returns the lines of the ElementList. /// </summary> - public List<List<string>> GetLines => _lines; + public List<List<string>> Lines => _lines; /// <summary> /// This property returns the title of the ElementList. /// </summary> public override Placement Placement => _placement; - /// <summary> - /// This property returns the line to display the ElementList on. - /// </summary> - public override int Line => _line; - /// <summary> /// This property returns the height of the ElementList. /// </summary> @@ -70,19 +67,11 @@ public class ElementList : Element /// </summary> /// <param name="placement">The placement of the ElementList.</param> /// <param name="roundedCorners">If true, the corners of the ElementList will be rounded.</param> - /// <param name="line">The line to display the ElementList on.</param> - public ElementList( - Placement placement = Placement.TopCenter, - bool roundedCorners = false, - int? line = null - ) + public ElementList(Placement placement = Placement.TopCenter, bool roundedCorners = false) { - _title = "Element types available"; - _headers = new List<string> { "Id", "Type", "Project" }; _lines = UpdateLines(); _placement = placement; _roundedCorners = roundedCorners; - _line = Window.CheckLine(line) ?? Window.GetLineAvailable(placement); _displayArray = Array.Empty<string>(); BuildDisplay(); } @@ -92,13 +81,37 @@ public ElementList( /// <summary> /// Toggles the rounded corners of the element. /// </summary> - /// <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + /// <param name="rounded">If true, the corners of the ElementList will be rounded.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> public void SetRoundedCorners(bool rounded = true) { _roundedCorners = rounded; BuildDisplay(); } + /// <summary> + /// This method adds a line to the ElementList. + /// </summary> + /// <param name="placement">The placement of the ElementList.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdatePlacement(Placement placement) + { + _placement = placement; + BuildDisplay(); + } + private static List<List<string>> UpdateLines() { var elements = new List<List<string>>(); @@ -133,12 +146,12 @@ private static List<List<string>> UpdateLines() private void BuildDisplay() { var stringList = new List<string>(); - var localMax = new int[_headers.Count]; - for (int i = 0; i < _headers.Count; i++) + var localMax = new int[Headers.Count]; + for (int i = 0; i < Headers.Count; i++) { - if (_headers[i]?.Length > localMax[i]) + if (Headers[i]?.Length > localMax[i]) { - localMax[i] = _headers[i]?.Length ?? 0; + localMax[i] = Headers[i]?.Length ?? 0; } } @@ -154,10 +167,10 @@ private void BuildDisplay() } StringBuilder headerBuilder = new("│ "); - for (int i = 0; i < _headers.Count; i++) + for (int i = 0; i < Headers.Count; i++) { - headerBuilder.Append(_headers[i]?.PadRight(localMax[i]) ?? ""); - if (i != _headers.Count - 1) + headerBuilder.Append(Headers[i]?.PadRight(localMax[i]) ?? ""); + if (i != Headers.Count - 1) { headerBuilder.Append(" │ "); } @@ -169,18 +182,18 @@ private void BuildDisplay() stringList.Add(headerBuilder.ToString()); StringBuilder upperBorderBuilder = new(GetCorners[0].ToString()); - for (int i = 0; i < _headers.Count; i++) + for (int i = 0; i < Headers.Count; i++) { upperBorderBuilder.Append(new string('─', localMax[i] + 2)); - upperBorderBuilder.Append((i != _headers.Count - 1) ? "┬" : GetCorners[1].ToString()); + upperBorderBuilder.Append((i != Headers.Count - 1) ? "┬" : GetCorners[1].ToString()); } stringList.Insert(0, upperBorderBuilder.ToString()); StringBuilder intermediateBorderBuilder = new("├"); - for (int i = 0; i < _headers.Count; i++) + for (int i = 0; i < Headers.Count; i++) { intermediateBorderBuilder.Append(new string('─', localMax[i] + 2)); - intermediateBorderBuilder.Append((i != _headers.Count - 1) ? "┼" : "┤"); + intermediateBorderBuilder.Append((i != Headers.Count - 1) ? "┼" : "┤"); } stringList.Add(intermediateBorderBuilder.ToString()); @@ -203,10 +216,10 @@ private void BuildDisplay() } StringBuilder lowerBorderBuilder = new(GetCorners[2].ToString()); - for (int i = 0; i < _headers.Count; i++) + for (int i = 0; i < Headers.Count; i++) { lowerBorderBuilder.Append(new string('─', localMax[i] + 2)); - lowerBorderBuilder.Append((i != _headers.Count - 1) ? "┴" : GetCorners[3].ToString()); + lowerBorderBuilder.Append((i != Headers.Count - 1) ? "┴" : GetCorners[3].ToString()); } stringList.Add(lowerBorderBuilder.ToString()); @@ -217,7 +230,7 @@ private void BuildDisplay() private void BuildTitle() { var len = _displayArray![0].Length; - var title = _title.ResizeString(len - 4); + var title = Title.ResizeString(len - 4); title = $"│ {title} │"; var upperBorderBuilder = new StringBuilder(GetCorners[0].ToString()); upperBorderBuilder.Append(new string('─', len - 2)); @@ -245,7 +258,7 @@ protected override void RenderElementActions() for (int j = 0; j < _displayArray.Length; j++) { array[j] = _displayArray[j]; - Core.WritePositionedString(array[j], _placement.ToTextAlignment(), false, _line + j); + Core.WritePositionedString(array[j], _placement.ToTextAlignment(), false, Line + j); } } #endregion diff --git a/src/ConsoleAppVisuals/elements/inspectors/ElementsDashboard.cs b/src/ConsoleAppVisuals/elements/static_elements/inspectors/ElementsDashboard.cs similarity index 75% rename from src/ConsoleAppVisuals/elements/inspectors/ElementsDashboard.cs rename to src/ConsoleAppVisuals/elements/static_elements/inspectors/ElementsDashboard.cs index fc99ae51..52626837 100644 --- a/src/ConsoleAppVisuals/elements/inspectors/ElementsDashboard.cs +++ b/src/ConsoleAppVisuals/elements/static_elements/inspectors/ElementsDashboard.cs @@ -2,7 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Elements; /// <summary> /// This class is used to display a dashboard of all the elements in the window. @@ -10,13 +10,10 @@ namespace ConsoleAppVisuals; public class ElementsDashboard : Element { #region Fields: title, headers, lines, display array, rounded corners - private string _title; - private List<string> _headers; private List<List<string>> _lines; private string[] _displayArray; private bool _roundedCorners; - private readonly Placement _placement; - private readonly int _line; + private Placement _placement; #endregion #region Properties: get headers, get lines @@ -27,26 +24,37 @@ public class ElementsDashboard : Element /// </summary> public bool RoundedCorners => _roundedCorners; + /// <summary> + /// This property returns the title of the dashboard. + /// </summary> + public static string Title => "Window Elements Dashboard"; + /// <summary> /// This property returns the headers of the dashboard. /// </summary> - public List<string> GetHeaders => _headers; + public static List<string> Headers => + new() + { + "Id", + "Type", + "Visibility", + "Height", + "Width", + "Line", + "Placement", + "IsInteractive" + }; /// <summary> /// This property returns the lines of the dashboard. /// </summary> - public List<List<string>> GetLines => _lines; + public List<List<string>> Lines => _lines; /// <summary> /// This property returns the title of the dashboard. /// </summary> public override Placement Placement => _placement; - /// <summary> - /// This property returns the line to display the dashboard on. - /// </summary> - public override int Line => _line; - /// <summary> /// This property returns the height of the dashboard. /// </summary> @@ -70,29 +78,11 @@ public class ElementsDashboard : Element /// </summary> /// <param name="placement">The placement of the dashboard.</param> /// <param name="roundedCorners">If true, the corners of the dashboard will be rounded.</param> - /// <param name="line">The line to display the dashboard on.</param> - public ElementsDashboard( - Placement placement = Placement.TopCenter, - bool roundedCorners = false, - int? line = null - ) + public ElementsDashboard(Placement placement = Placement.TopCenter, bool roundedCorners = false) { - _title = "Window Elements Dashboard"; - _headers = new List<string> - { - "Id", - "Type", - "Visibility", - "Height", - "Width", - "Line", - "Placement", - "IsInteractive" - }; _lines = UpdateLines(); _placement = placement; _roundedCorners = roundedCorners; - _line = Window.CheckLine(line) ?? Window.GetLineAvailable(placement); _displayArray = Array.Empty<string>(); BuildDisplay(); } @@ -102,17 +92,34 @@ public ElementsDashboard( /// <summary> /// Toggles the rounded corners of the element. /// </summary> - /// <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + /// <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> public void SetRoundedCorners(bool rounded = true) { _roundedCorners = rounded; BuildDisplay(); } - private List<List<string>> UpdateLines() + /// <summary> + /// This method updates the placement of the dashboard. + /// </summary> + /// <param name="placement">The new placement of the dashboard.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdatePlacement(Placement placement) + { + _placement = placement; + BuildDisplay(); + } + + private static List<List<string>> UpdateLines() { var elements = new List<List<string>>(); - foreach (var element in Window.GetElements) + foreach (var element in Window.Elements) { elements.Add( new List<string> @@ -134,12 +141,12 @@ private List<List<string>> UpdateLines() private void BuildDisplay() { var stringList = new List<string>(); - var localMax = new int[_headers.Count]; - for (int i = 0; i < _headers.Count; i++) + var localMax = new int[Headers.Count]; + for (int i = 0; i < Headers.Count; i++) { - if (_headers[i]?.Length > localMax[i]) + if (Headers[i]?.Length > localMax[i]) { - localMax[i] = _headers[i]?.Length ?? 0; + localMax[i] = Headers[i]?.Length ?? 0; } } @@ -155,10 +162,10 @@ private void BuildDisplay() } StringBuilder headerBuilder = new("│ "); - for (int i = 0; i < _headers.Count; i++) + for (int i = 0; i < Headers.Count; i++) { - headerBuilder.Append(_headers[i]?.PadRight(localMax[i]) ?? ""); - if (i != _headers.Count - 1) + headerBuilder.Append(Headers[i]?.PadRight(localMax[i]) ?? ""); + if (i != Headers.Count - 1) { headerBuilder.Append(" │ "); } @@ -170,18 +177,18 @@ private void BuildDisplay() stringList.Add(headerBuilder.ToString()); StringBuilder upperBorderBuilder = new(GetCorners[0].ToString()); - for (int i = 0; i < _headers.Count; i++) + for (int i = 0; i < Headers.Count; i++) { upperBorderBuilder.Append(new string('─', localMax[i] + 2)); - upperBorderBuilder.Append((i != _headers.Count - 1) ? "┬" : GetCorners[1].ToString()); + upperBorderBuilder.Append((i != Headers.Count - 1) ? "┬" : GetCorners[1].ToString()); } stringList.Insert(0, upperBorderBuilder.ToString()); StringBuilder intermediateBorderBuilder = new("├"); - for (int i = 0; i < _headers.Count; i++) + for (int i = 0; i < Headers.Count; i++) { intermediateBorderBuilder.Append(new string('─', localMax[i] + 2)); - intermediateBorderBuilder.Append((i != _headers.Count - 1) ? "┼" : "┤"); + intermediateBorderBuilder.Append((i != Headers.Count - 1) ? "┼" : "┤"); } stringList.Add(intermediateBorderBuilder.ToString()); @@ -204,10 +211,10 @@ private void BuildDisplay() } StringBuilder lowerBorderBuilder = new(GetCorners[2].ToString()); - for (int i = 0; i < _headers.Count; i++) + for (int i = 0; i < Headers.Count; i++) { lowerBorderBuilder.Append(new string('─', localMax[i] + 2)); - lowerBorderBuilder.Append((i != _headers.Count - 1) ? "┴" : GetCorners[3].ToString()); + lowerBorderBuilder.Append((i != Headers.Count - 1) ? "┴" : GetCorners[3].ToString()); } stringList.Add(lowerBorderBuilder.ToString()); @@ -218,7 +225,7 @@ private void BuildDisplay() private void BuildTitle() { var len = _displayArray![0].Length; - var title = _title.ResizeString(len - 4); + var title = Title.ResizeString(len - 4); title = $"│ {title} │"; var upperBorderBuilder = new StringBuilder(GetCorners[0].ToString()); upperBorderBuilder.Append(new string('─', len - 2)); @@ -246,7 +253,7 @@ protected override void RenderElementActions() for (int j = 0; j < _displayArray.Length; j++) { array[j] = _displayArray[j]; - Core.WritePositionedString(array[j], _placement.ToTextAlignment(), false, _line + j); + Core.WritePositionedString(array[j], _placement.ToTextAlignment(), false, Line + j); } } #endregion diff --git a/src/ConsoleAppVisuals/elements/inspectors/InteractiveList.cs b/src/ConsoleAppVisuals/elements/static_elements/inspectors/InteractiveList.cs similarity index 75% rename from src/ConsoleAppVisuals/elements/inspectors/InteractiveList.cs rename to src/ConsoleAppVisuals/elements/static_elements/inspectors/InteractiveList.cs index d33aea21..f16b290e 100644 --- a/src/ConsoleAppVisuals/elements/inspectors/InteractiveList.cs +++ b/src/ConsoleAppVisuals/elements/static_elements/inspectors/InteractiveList.cs @@ -2,7 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Elements; /// <summary> /// This class is used to display a InteractiveList of all the elements in the window. @@ -10,32 +10,34 @@ namespace ConsoleAppVisuals; public class InteractiveList : Element { #region Fields: title, headers, lines, display array, rounded corners - private string _title; - private List<string> _headers; private List<List<string>> _lines; private string[] _displayArray; private bool _roundedCorners; - private readonly Placement _placement; - private readonly int _line; + private Placement _placement; #endregion #region Properties: get headers, get lines - private string GetCorners => _roundedCorners ? "╭╮╰╯" : "┌┐└┘"; /// <summary> - /// This property wether the corners of the InteractiveList are rounded. + /// This property returns the title of the InteractiveList. /// </summary> - public bool RoundedCorners => _roundedCorners; + public static string Title => "Interactive Element types available"; /// <summary> - /// This property returns the headers of the InteractiveList. + /// This property returns the headers of the dashboard. /// </summary> - public List<string> GetHeaders => _headers; + public static List<string> Headers => new() { "Id", "Type", "Project" }; + private string GetCorners => _roundedCorners ? "╭╮╰╯" : "┌┐└┘"; + + /// <summary> + /// This property wether the corners of the InteractiveList are rounded. + /// </summary> + public bool RoundedCorners => _roundedCorners; /// <summary> /// This property returns the lines of the InteractiveList. /// </summary> - public List<List<string>> GetLines => _lines; + public List<List<string>> Lines => _lines; /// <summary> /// This property returns the title of the InteractiveList. @@ -45,7 +47,6 @@ public class InteractiveList : Element /// <summary> /// This property returns the line to display the InteractiveList on. /// </summary> - public override int Line => _line; /// <summary> /// This property returns the height of the InteractiveList. @@ -70,19 +71,11 @@ public class InteractiveList : Element /// </summary> /// <param name="placement">The placement of the InteractiveList.</param> /// <param name="roundedCorners">If true, the corners of the InteractiveList will be rounded.</param> - /// <param name="line">The line to display the InteractiveList on.</param> - public InteractiveList( - Placement placement = Placement.TopCenter, - bool roundedCorners = false, - int? line = null - ) + public InteractiveList(Placement placement = Placement.TopCenter, bool roundedCorners = false) { - _title = "Interactive Element types available"; - _headers = new List<string> { "Id", "Type", "Project" }; _lines = UpdateLines(); _placement = placement; _roundedCorners = roundedCorners; - _line = Window.CheckLine(line) ?? Window.GetLineAvailable(placement); _displayArray = Array.Empty<string>(); BuildDisplay(); } @@ -92,14 +85,31 @@ public InteractiveList( /// <summary> /// Toggles the rounded corners of the element. /// </summary> - /// <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs </remarks> + /// <remarks>Refer to the example project to understand how to implement it available at https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/ </remarks> public void SetRoundedCorners(bool rounded = true) { _roundedCorners = rounded; BuildDisplay(); } - private List<List<string>> UpdateLines() + /// <summary> + /// This method updates the placement of the InteractiveList. + /// </summary> + /// <param name="placement">The new placement of the InteractiveList.</param> + /// <remarks> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + public void UpdatePlacement(Placement placement) + { + _placement = placement; + BuildDisplay(); + } + + private static List<List<string>> UpdateLines() { var elements = new List<List<string>>(); var types = new List<Type>(); @@ -137,12 +147,12 @@ private List<List<string>> UpdateLines() private void BuildDisplay() { var stringList = new List<string>(); - var localMax = new int[_headers.Count]; - for (int i = 0; i < _headers.Count; i++) + var localMax = new int[Headers.Count]; + for (int i = 0; i < Headers.Count; i++) { - if (_headers[i]?.Length > localMax[i]) + if (Headers[i]?.Length > localMax[i]) { - localMax[i] = _headers[i]?.Length ?? 0; + localMax[i] = Headers[i]?.Length ?? 0; } } @@ -158,10 +168,10 @@ private void BuildDisplay() } StringBuilder headerBuilder = new("│ "); - for (int i = 0; i < _headers.Count; i++) + for (int i = 0; i < Headers.Count; i++) { - headerBuilder.Append(_headers[i]?.PadRight(localMax[i]) ?? ""); - if (i != _headers.Count - 1) + headerBuilder.Append(Headers[i]?.PadRight(localMax[i]) ?? ""); + if (i != Headers.Count - 1) { headerBuilder.Append(" │ "); } @@ -173,18 +183,18 @@ private void BuildDisplay() stringList.Add(headerBuilder.ToString()); StringBuilder upperBorderBuilder = new(GetCorners[0].ToString()); - for (int i = 0; i < _headers.Count; i++) + for (int i = 0; i < Headers.Count; i++) { upperBorderBuilder.Append(new string('─', localMax[i] + 2)); - upperBorderBuilder.Append((i != _headers.Count - 1) ? "┬" : GetCorners[1].ToString()); + upperBorderBuilder.Append((i != Headers.Count - 1) ? "┬" : GetCorners[1].ToString()); } stringList.Insert(0, upperBorderBuilder.ToString()); StringBuilder intermediateBorderBuilder = new("├"); - for (int i = 0; i < _headers.Count; i++) + for (int i = 0; i < Headers.Count; i++) { intermediateBorderBuilder.Append(new string('─', localMax[i] + 2)); - intermediateBorderBuilder.Append((i != _headers.Count - 1) ? "┼" : "┤"); + intermediateBorderBuilder.Append((i != Headers.Count - 1) ? "┼" : "┤"); } stringList.Add(intermediateBorderBuilder.ToString()); @@ -207,10 +217,10 @@ private void BuildDisplay() } StringBuilder lowerBorderBuilder = new(GetCorners[2].ToString()); - for (int i = 0; i < _headers.Count; i++) + for (int i = 0; i < Headers.Count; i++) { lowerBorderBuilder.Append(new string('─', localMax[i] + 2)); - lowerBorderBuilder.Append((i != _headers.Count - 1) ? "┴" : GetCorners[3].ToString()); + lowerBorderBuilder.Append((i != Headers.Count - 1) ? "┴" : GetCorners[3].ToString()); } stringList.Add(lowerBorderBuilder.ToString()); @@ -221,7 +231,7 @@ private void BuildDisplay() private void BuildTitle() { var len = _displayArray![0].Length; - var title = _title.ResizeString(len - 4); + var title = Title.ResizeString(len - 4); title = $"│ {title} │"; var upperBorderBuilder = new StringBuilder(GetCorners[0].ToString()); upperBorderBuilder.Append(new string('─', len - 2)); @@ -249,7 +259,7 @@ protected override void RenderElementActions() for (int j = 0; j < _displayArray.Length; j++) { array[j] = _displayArray[j]; - Core.WritePositionedString(array[j], _placement.ToTextAlignment(), false, _line + j); + Core.WritePositionedString(array[j], _placement.ToTextAlignment(), false, Line + j); } } #endregion diff --git a/src/ConsoleAppVisuals/enums/Direction.cs b/src/ConsoleAppVisuals/enums/Direction.cs index 7c201518..29df0865 100644 --- a/src/ConsoleAppVisuals/enums/Direction.cs +++ b/src/ConsoleAppVisuals/enums/Direction.cs @@ -2,7 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Enums; /// <summary> /// The <see cref="Direction"/> enum defines the direction in some space. @@ -11,7 +11,7 @@ namespace ConsoleAppVisuals; /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> -/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> +/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public enum Direction diff --git a/src/ConsoleAppVisuals/enums/Output.cs b/src/ConsoleAppVisuals/enums/Output.cs index f3fc5e9f..d3e616b8 100644 --- a/src/ConsoleAppVisuals/enums/Output.cs +++ b/src/ConsoleAppVisuals/enums/Output.cs @@ -2,7 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Enums; /// <summary> /// Enum for the output of the scrolling menus. @@ -11,7 +11,7 @@ namespace ConsoleAppVisuals; /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> -/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> +/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public enum Output diff --git a/src/ConsoleAppVisuals/enums/Placement.cs b/src/ConsoleAppVisuals/enums/Placement.cs index 264ac02c..4f096995 100644 --- a/src/ConsoleAppVisuals/enums/Placement.cs +++ b/src/ConsoleAppVisuals/enums/Placement.cs @@ -2,7 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Enums; /// <summary> /// The <see cref="Placement"/> enum defines the placement of a string in some space. @@ -12,7 +12,7 @@ namespace ConsoleAppVisuals; /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> -/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> +/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public enum Placement diff --git a/src/ConsoleAppVisuals/enums/TextAlignment.cs b/src/ConsoleAppVisuals/enums/TextAlignment.cs index 742324ae..214b14df 100644 --- a/src/ConsoleAppVisuals/enums/TextAlignment.cs +++ b/src/ConsoleAppVisuals/enums/TextAlignment.cs @@ -2,7 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Enums; /// <summary> /// The <see cref="TextAlignment"/> enum defines the alignment of a string in the space. @@ -11,7 +11,7 @@ namespace ConsoleAppVisuals; /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> -/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> +/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public enum TextAlignment diff --git a/src/ConsoleAppVisuals/errors/ElementNotFoundException.cs b/src/ConsoleAppVisuals/errors/ElementNotFoundException.cs index 0a2b505e..af889916 100644 --- a/src/ConsoleAppVisuals/errors/ElementNotFoundException.cs +++ b/src/ConsoleAppVisuals/errors/ElementNotFoundException.cs @@ -2,7 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Errors; /// <summary> /// Exception thrown when an element is not found in a collection. @@ -11,7 +11,7 @@ namespace ConsoleAppVisuals; /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> -/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> +/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> [Serializable] @@ -38,29 +38,6 @@ public ElementNotFoundException(string message) public ElementNotFoundException(string message, Exception inner) : base(message, inner) { } - /// <summary> - /// Serialization constructor. - /// </summary> - /// <param name="info">Serialization info.</param> - /// <param name="context">Streaming context.</param> - protected ElementNotFoundException(SerializationInfo info, StreamingContext context) - : base(info, context) { } - - /// <summary> - /// Get object data for serialization. - /// </summary> - /// <param name="info">Serialization info.</param> - /// <param name="context">Streaming context.</param> - /// <exception cref="ArgumentNullException"></exception> - public override void GetObjectData(SerializationInfo? info, StreamingContext context) - { - if (info == null) - { - throw new ArgumentNullException(nameof(info)); - } - base.GetObjectData(info, context); - } - private string GetDebuggerDisplay() { return ToString(); diff --git a/src/ConsoleAppVisuals/errors/EmptyFileException.cs b/src/ConsoleAppVisuals/errors/EmptyFileException.cs index 966f9515..25f4f22f 100644 --- a/src/ConsoleAppVisuals/errors/EmptyFileException.cs +++ b/src/ConsoleAppVisuals/errors/EmptyFileException.cs @@ -2,7 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Errors; /// <summary> /// Exception thrown when no data is found in a file. @@ -11,7 +11,7 @@ namespace ConsoleAppVisuals; /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> -/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> +/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> [Serializable] @@ -38,29 +38,6 @@ public EmptyFileException(string message) public EmptyFileException(string message, Exception inner) : base(message, inner) { } - /// <summary> - /// Serialization constructor. - /// </summary> - /// <param name="info">Serialization info.</param> - /// <param name="context">Streaming context.</param> - protected EmptyFileException(SerializationInfo info, StreamingContext context) - : base(info, context) { } - - /// <summary> - /// Get object data for serialization. - /// </summary> - /// <param name="info">Serialization info.</param> - /// <param name="context">Streaming context.</param> - /// <exception cref="ArgumentNullException"></exception> - public override void GetObjectData(SerializationInfo? info, StreamingContext context) - { - if (info == null) - { - throw new ArgumentNullException(nameof(info)); - } - base.GetObjectData(info, context); - } - private string GetDebuggerDisplay() { return ToString(); diff --git a/src/ConsoleAppVisuals/errors/NotSupportedCharException.cs b/src/ConsoleAppVisuals/errors/NotSupportedCharException.cs index f9fe2ea4..90da0eb9 100644 --- a/src/ConsoleAppVisuals/errors/NotSupportedCharException.cs +++ b/src/ConsoleAppVisuals/errors/NotSupportedCharException.cs @@ -2,7 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Errors; /// <summary> /// Exception thrown when a character is not supported by the TextStyler class. @@ -11,7 +11,7 @@ namespace ConsoleAppVisuals; /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> -/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> +/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> [Serializable] @@ -38,29 +38,6 @@ public NotSupportedCharException(string message) public NotSupportedCharException(string message, Exception inner) : base(message, inner) { } - /// <summary> - /// Serialization constructor. - /// </summary> - /// <param name="info">Serialization info.</param> - /// <param name="context">Streaming context.</param> - protected NotSupportedCharException(SerializationInfo info, StreamingContext context) - : base(info, context) { } - - /// <summary> - /// Get object data for serialization. - /// </summary> - /// <param name="info">Serialization info.</param> - /// <param name="context">Streaming context.</param> - /// <exception cref="ArgumentNullException"></exception> - public override void GetObjectData(SerializationInfo? info, StreamingContext context) - { - if (info == null) - { - throw new ArgumentNullException(nameof(info)); - } - base.GetObjectData(info, context); - } - private string GetDebuggerDisplay() { return ToString(); diff --git a/src/ConsoleAppVisuals/models/Element.cs b/src/ConsoleAppVisuals/models/Element.cs index 415314ff..06c48530 100644 --- a/src/ConsoleAppVisuals/models/Element.cs +++ b/src/ConsoleAppVisuals/models/Element.cs @@ -2,7 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Models; /// <summary> /// Defines the basic properties of an console element. @@ -11,7 +11,7 @@ namespace ConsoleAppVisuals; /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> -/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> +/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public abstract class Element @@ -21,7 +21,7 @@ public abstract class Element /// The id number of the element. /// </summary> /// <remarks>This property is sealed. The ID of an element is automatically generated and managed by the <see cref="Window"/> class.</remarks> - public int Id { get; set; } = Window.NextId; + public int Id { get; set; } /// <summary> /// The visibility of the element. @@ -47,8 +47,59 @@ public abstract class Element /// <summary> /// The line of the element in the console. /// </summary> - /// <remarks>This property is marked as virtual. It is recommended to override this property in derived classes to make it more specific.</remarks> - public virtual int Line { get; } = 0; + public virtual int Line + { + get + { + var elements = Window.GetRange(0, Id); + return Placement switch + { + Placement.TopCenterFullWidth + => elements + .Where(e => e.Placement == Placement.TopCenterFullWidth && e.Visibility) + .Sum(e => e.Height) + + elements + .Where(e => e.Placement == Placement.TopCenter && e.Visibility) + .Sum(e => e.Height) + + elements + .Where(e => e.Placement == Placement.TopLeft && e.Visibility) + .Sum(e => e.Height) + + elements + .Where(e => e.Placement == Placement.TopRight && e.Visibility) + .Sum(e => e.Height), + Placement.TopCenter + => elements + .Where(e => e.Placement == Placement.TopCenterFullWidth && e.Visibility) + .Sum(e => e.Height) + + elements + .Where(e => e.Placement == Placement.TopCenter && e.Visibility) + .Sum(e => e.Height), + Placement.TopLeft + => elements + .Where(e => e.Placement == Placement.TopCenterFullWidth && e.Visibility) + .Sum(e => e.Height) + + elements + .Where(e => e.Placement == Placement.TopLeft && e.Visibility) + .Sum(e => e.Height), + + Placement.TopRight + => elements + .Where(e => e.Placement == Placement.TopCenterFullWidth && e.Visibility) + .Sum(e => e.Height) + + elements + .Where(e => e.Placement == Placement.TopRight && e.Visibility) + .Sum(e => e.Height), + Placement.BottomCenterFullWidth + => Console.WindowHeight + - elements + .Where(e => + e.Placement == Placement.BottomCenterFullWidth && e.Visibility + ) + .Sum(e => e.Height), + _ => throw new ArgumentOutOfRangeException(nameof(Placement), "Invalid placement.") + }; + } + } /// <summary> /// The height of the element. @@ -100,7 +151,7 @@ public void ToggleVisibility() /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> [Visual] @@ -143,7 +194,7 @@ protected virtual void RenderOptionsAfterHand() { } /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> [Visual] diff --git a/src/ConsoleAppVisuals/models/FontYamlFile.cs b/src/ConsoleAppVisuals/models/FontYamlFile.cs index d897ff86..58cd0cc3 100644 --- a/src/ConsoleAppVisuals/models/FontYamlFile.cs +++ b/src/ConsoleAppVisuals/models/FontYamlFile.cs @@ -2,7 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Models; /// <summary> /// The <see cref="FontYamlFile"/> class defines the structure of a yaml file used to store the height of each character of a font. @@ -11,7 +11,7 @@ namespace ConsoleAppVisuals; /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> -/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> +/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public class FontYamlFile diff --git a/src/ConsoleAppVisuals/models/InteractionEventArgs.cs b/src/ConsoleAppVisuals/models/InteractionEventArgs.cs index 7768dc08..d62bd07b 100644 --- a/src/ConsoleAppVisuals/models/InteractionEventArgs.cs +++ b/src/ConsoleAppVisuals/models/InteractionEventArgs.cs @@ -2,7 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Models; /// <summary> /// This class contains the arguments of the ScrollingMenuSelected event. @@ -11,7 +11,7 @@ namespace ConsoleAppVisuals; /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> -/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> +/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public class InteractionEventArgs<T> : EventArgs diff --git a/src/ConsoleAppVisuals/models/InteractiveElement.cs b/src/ConsoleAppVisuals/models/InteractiveElement.cs index 5260dc06..e4b0c91a 100644 --- a/src/ConsoleAppVisuals/models/InteractiveElement.cs +++ b/src/ConsoleAppVisuals/models/InteractiveElement.cs @@ -2,7 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Models; /// <summary> /// Defines the basic properties of an console element. @@ -11,7 +11,7 @@ namespace ConsoleAppVisuals; /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> -/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> +/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public abstract class InteractiveElement<TResponse> : Element @@ -36,11 +36,6 @@ public abstract class InteractiveElement<TResponse> : Element /// The response of the user. /// </summary> protected InteractionEventArgs<TResponse>? _interactionResponse; - - /// <summary> - /// Returns the response of the user. - /// </summary> - public InteractionEventArgs<TResponse>? GetInteractionResponse => _interactionResponse; #endregion #region Methods @@ -65,6 +60,27 @@ protected void SendResponse(object? sender, InteractionEventArgs<TResponse> e) EndOfInteractionEvent?.Invoke(sender, e); } + /// <summary> + /// Returns the response of the user after an interaction. + /// </summary> + /// <returns>Null if the user has not interacted with the element, otherwise the response of the user.</returns> + /// <remarks> + /// This sample shows how to use the <see cref="GetResponse"/> method using the var keyword: + /// <code> + /// var response = element.GetResponse(); + /// </code> + /// For more information, refer to the following resources: + /// <list type="bullet"> + /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> + /// </list> + /// </remarks> + [Visual] + public InteractionEventArgs<TResponse>? GetResponse() + { + return _interactionResponse; + } + /// <summary> /// This method is used to set options before drawing the element on the console. /// </summary> @@ -79,6 +95,7 @@ protected sealed override void RenderOptionsBeforeHand() protected sealed override void RenderOptionsAfterHand() { EndOfInteractionEvent -= SetInteractionResponse; + Window.DeactivateElement(this); } #endregion } diff --git a/src/ConsoleAppVisuals/models/Position.cs b/src/ConsoleAppVisuals/models/Position.cs index 33325de3..c6944049 100644 --- a/src/ConsoleAppVisuals/models/Position.cs +++ b/src/ConsoleAppVisuals/models/Position.cs @@ -2,7 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Models; /// <summary> /// A class that stores the position into X and Y parameters of a position. @@ -11,7 +11,7 @@ namespace ConsoleAppVisuals; /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> -/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> +/// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public struct Position : IEquatable<Position> @@ -38,7 +38,7 @@ public struct Position : IEquatable<Position> /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public Position(int x, int y) @@ -55,7 +55,7 @@ public Position(int x, int y) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public Position(Position pos) @@ -74,7 +74,7 @@ public Position(Position pos) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public override readonly string ToString() => $"Line : {X} ; Column : {Y}"; @@ -88,7 +88,7 @@ public Position(Position pos) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public override readonly bool Equals(object? obj) => @@ -102,7 +102,7 @@ public override readonly bool Equals(object? obj) => /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public override readonly int GetHashCode() => HashCode.Combine(X, Y); diff --git a/src/ConsoleAppVisuals/TextStyler.cs b/src/ConsoleAppVisuals/models/TextStyler.cs similarity index 96% rename from src/ConsoleAppVisuals/TextStyler.cs rename to src/ConsoleAppVisuals/models/TextStyler.cs index 4c848a1e..12738c7c 100644 --- a/src/ConsoleAppVisuals/TextStyler.cs +++ b/src/ConsoleAppVisuals/models/TextStyler.cs @@ -2,7 +2,7 @@ GNU GPL License 2024 MorganKryze(Yann Vidamment) For full license information, please visit: https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/LICENSE */ -namespace ConsoleAppVisuals; +namespace ConsoleAppVisuals.Models; /// <summary> /// The class that styles any text with specified font files. @@ -48,7 +48,7 @@ public class TextStyler /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public TextStyler(string? fontPath = null, Assembly? assembly = null) @@ -151,7 +151,7 @@ private List<string> ReadResourceLines(string path) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public string StyleTextToString(string text) @@ -190,7 +190,7 @@ public string StyleTextToString(string text) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public string[] StyleTextToStringArray(string text) @@ -230,7 +230,7 @@ public string[] StyleTextToStringArray(string text) /// For more information, refer to the following resources: /// <list type="bullet"> /// <item><description><a href="https://morgankryze.github.io/ConsoleAppVisuals/">Documentation</a></description></item> - /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/Program.cs">Example Project</a></description></item> + /// <item><description><a href="https://github.com/MorganKryze/ConsoleAppVisuals/blob/main/example/">Example Project</a></description></item> /// </list> /// </remarks> public override string ToString() diff --git a/testing/Usings.cs b/testing/Usings.cs index e10c89c0..17af10c7 100644 --- a/testing/Usings.cs +++ b/testing/Usings.cs @@ -1,5 +1,10 @@ global using System.Reflection; global using System.Runtime.Serialization; global using ConsoleAppVisuals; +global using ConsoleAppVisuals.Attributes; +global using ConsoleAppVisuals.Elements; +global using ConsoleAppVisuals.Enums; +global using ConsoleAppVisuals.Errors; +global using ConsoleAppVisuals.Models; global using Microsoft.VisualStudio.TestTools.UnitTesting; global using Moq; diff --git a/testing/Window.Tests.cs b/testing/Window.Tests.cs index 509e6974..dc148253 100644 --- a/testing/Window.Tests.cs +++ b/testing/Window.Tests.cs @@ -21,7 +21,7 @@ public void Cleanup() public void AddElement_WindowHasElement() { // Arrange - var defaultValue = Window.GetElements.Count; + var defaultValue = Window.Elements.Count; // Act Window.AddElement(new Prompt("Hello World!")); @@ -125,7 +125,7 @@ public void GetVisibleElement_ElementEqualsToInitial() public void GetVisibleElement_ElementNotFound() { // Arrange - var prompt = new Prompt("Hello World!", default, Placement.TopCenter, 0); + var prompt = new Prompt("Hello World!", default, Placement.TopCenter); Window.AddElement(prompt); // Act @@ -323,7 +323,7 @@ public void AddElement_AddsElementToList() Window.AddElement(element); // Assert - Assert.IsTrue(Window.GetElements.Contains(element)); + Assert.IsTrue(Window.Elements.Contains(element)); } #endregion @@ -470,54 +470,6 @@ public void DeactivateAllElements_AllElementsAreDeactivated() #endregion #region General - [TestMethod] - [DataRow(Placement.TopCenter)] - [DataRow(Placement.TopLeft)] - [DataRow(Placement.TopRight)] - [DataRow(Placement.TopCenterFullWidth)] - [DataRow(Placement.BottomCenterFullWidth)] - public void GetLine_AvailableLine(Placement placement) - { - // Arrange - var title = new Title("Title"); - Window.AddElement(title); - var prompt = new Prompt("Hello World!"); - Window.AddElement(prompt); - - // Act - var line = Window.GetLineAvailable(placement); - - // Assert - if (placement == Placement.BottomCenterFullWidth) - Assert.AreEqual(Console.WindowHeight, line); - else - Assert.AreEqual(8, line); - - // Cleanup - Window.RemoveAllElements(); - } - - [TestMethod] - public void GetLine_AvailableLine_TopCenterFullWidth() - { - // Arrange - var table1 = new TableView<string>("Title", null, null, false, Placement.TopLeft); - Window.AddElement(table1); - var table2 = new TableView<string>("Title", null, null, false, Placement.TopRight); - Window.AddElement(table2); - var table3 = new TableView<string>("Title", null, null, false, Placement.TopCenter); - Window.AddElement(table3); - - // Act - Window.ActivateAllElements(); - var line = Window.GetLineAvailable(Placement.TopCenterFullWidth); - - // Assert - Assert.AreEqual(0, line); - - // Cleanup - Window.RemoveAllElements(); - } [TestMethod] [DataRow(null)] @@ -549,106 +501,9 @@ public void Clear_WindowContentRemoved() // Cleanup Window.RemoveAllElements(); } - - [TestMethod] - public void OnResize_ColorSet() - { - // Arrange - Core.SetBackgroundColor(ConsoleColor.Blue); - - // Act - var result = Window.OnResize(); - - // Assert - Assert.IsTrue(result); - - // Cleanup - Window.RemoveAllElements(); - } - - [TestMethod] - public void OnResize_ColorReset() - { - // Arrange - Core.RestoreColorPanel(); - - // Act - var result = Window.OnResize(); - - // Assert - Assert.IsFalse(result); - - // Cleanup - Window.RemoveAllElements(); - } #endregion #region RenderElements - [TestMethod] - public void RenderOneElement_ElementRenderedById() - { - // Arrange - var title = new Title("Hello World!"); - Window.AddElement(title); - - // Act - var result = Window.RenderOneElement(title.Id); - - // Assert - Assert.IsTrue(result); - - // Cleanup - Window.RemoveAllElements(); - } - - [TestMethod] - public void RenderOneElement_InvalidId_ExceptionThrown() - { - // Arrange - var title = new Title("Hello World!"); - Window.AddElement(title); - - // Act and Assert - Assert.ThrowsException<ElementNotFoundException>( - () => Window.RenderOneElement(title.Id + 1) - ); - - // Cleanup - Window.RemoveAllElements(); - } - - [TestMethod] - public void RenderOneElement_ElementRenderedByElement() - { - // Arrange - var title = new Title("Hello World!"); - Window.AddElement(title); - - // Act - var result = Window.RenderOneElement(title); - - // Assert - Assert.IsTrue(result); - - // Cleanup - Window.RemoveAllElements(); - } - - [TestMethod] - public void RenderOneElement_InvalidElement_ExceptionThrown() - { - // Arrange - var title = new Title("Hello World!"); - Window.AddElement(title); - var prompt = new Prompt("Hello World!"); - - // Act and Assert - Assert.ThrowsException<ElementNotFoundException>(() => Window.RenderOneElement(prompt)); - - // Cleanup - Window.RemoveAllElements(); - } - [TestMethod] public void RenderAllElements_AllElementsRendered() { @@ -657,7 +512,7 @@ public void RenderAllElements_AllElementsRendered() Window.AddElement(title); // Act - var result = Window.RenderAllElementsSpace(); + var result = Window.RenderElementsSpace(); // Assert Assert.IsTrue(result); diff --git a/testing/elements/FakeLoadingBar.Tests.cs b/testing/elements/FakeLoadingBar.Tests.cs index 22200810..c4e6ac52 100644 --- a/testing/elements/FakeLoadingBar.Tests.cs +++ b/testing/elements/FakeLoadingBar.Tests.cs @@ -18,12 +18,11 @@ public void Cleanup() #region Constructor [TestMethod] - [DataRow("Test", Placement.TopCenterFullWidth, 0, 1000, 1000)] - [DataRow("Test", Placement.TopCenterFullWidth, null, 1000, 1000)] + [DataRow("Test", Placement.TopCenterFullWidth, 1000, 1000)] + [DataRow("Test", Placement.TopCenterFullWidth, 1000, 1000)] public void Constructor_Initialization( string text, Placement placement, - int line, int processDuration, int additionalDuration ) @@ -34,7 +33,6 @@ int additionalDuration var loadingBar = new FakeLoadingBar( text, placement, - line, processDuration, additionalDuration ); @@ -51,7 +49,6 @@ public void Constructor_GetLineAvailable() var loadingBar = new FakeLoadingBar( "Test", Placement.TopCenterFullWidth, - default, 1000, 1000 ); @@ -62,19 +59,6 @@ public void Constructor_GetLineAvailable() // Assert Assert.AreEqual(line, lineAvailable); } - - [TestMethod] - [ExpectedException(typeof(ArgumentOutOfRangeException))] - [DataRow(30000)] - [DataRow(-1)] - public void Constructor_InvalidLine_ExceptionThrown(int line) - { - // Arrange - - // Act - new FakeLoadingBar("Test", Placement.TopCenterFullWidth, line, 1000, 1000); - // Assert - } #endregion #region UpdateText @@ -87,7 +71,6 @@ public void UpdateText_ModifyText_TextUpdated(string text) var fakeLoadingBar = new FakeLoadingBar( "Test", Placement.TopCenterFullWidth, - 0, 1000, 1000 ); @@ -110,13 +93,12 @@ public void Text_SetText_TextSet(string text) var fakeLoadingBar = new FakeLoadingBar( "Test", Placement.TopCenterFullWidth, - 0, 1000, 1000 ); // Act - fakeLoadingBar.Text = text; + fakeLoadingBar.UpdateText(text); // Assert Assert.AreEqual(fakeLoadingBar.Text, text); @@ -131,7 +113,6 @@ public void Placement_GetPlacement_PlacementReturned() var fakeLoadingBar = new FakeLoadingBar( "Test", Placement.TopCenterFullWidth, - 0, 1000, 1000 ); @@ -152,7 +133,6 @@ public void Line_GetLine_LineReturned() var fakeLoadingBar = new FakeLoadingBar( "Test", Placement.TopCenterFullWidth, - 0, 1000, 1000 ); @@ -173,7 +153,6 @@ public void ProcessDuration_GetProcessDuration_ProcessDurationReturned() var fakeLoadingBar = new FakeLoadingBar( "Test", Placement.TopCenterFullWidth, - 0, 1000, 1000 ); @@ -194,7 +173,6 @@ public void AdditionalDuration_GetAdditionalDuration_AdditionalDurationReturned( var fakeLoadingBar = new FakeLoadingBar( "Test", Placement.TopCenterFullWidth, - 0, 1000, 1000 ); @@ -215,7 +193,6 @@ public void Height_GetHeight_HeightReturned() var fakeLoadingBar = new FakeLoadingBar( "Test", Placement.TopCenterFullWidth, - 0, 1000, 1000 ); @@ -236,7 +213,6 @@ public void Width_GetWidth_WidthReturned() var fakeLoadingBar = new FakeLoadingBar( "Test", Placement.TopCenterFullWidth, - 0, 1000, 1000 ); diff --git a/testing/elements/Footer.Tests.cs b/testing/elements/Footer.Tests.cs index 61970397..012afa65 100644 --- a/testing/elements/Footer.Tests.cs +++ b/testing/elements/Footer.Tests.cs @@ -16,44 +16,11 @@ public void Cleanup() } #endregion - #region Text - [TestMethod] - [DataRow(" ", " ", " ")] - [DataRow("l ", "m ", "r ")] - public void Text(string left, string mid, string right) - { - //Arrange - var text = (left, mid, right); - Footer footer = new Footer(); - //Act - footer.Text = text; - //Assert - Assert.AreEqual(text, footer.Text); - } - #endregion - #region Placement [TestMethod] [DataRow(Placement.BottomCenterFullWidth)] [DataRow(Placement.TopLeft)] public void Placement_Getter(Placement placement) - { - //Arrange - Footer footer = new Footer(); - //Act - footer.Placement = placement; - //Assert - Assert.AreEqual(placement, footer.Placement); - } - #endregion - - #region PlacementFalse - [TestMethod] - [ExpectedException(typeof(AssertFailedException))] - [DataRow(Placement.TopLeft)] - [DataRow(Placement.TopCenter)] - [DataRow(Placement.TopRight)] - public void PlacementFalse(Placement placement) { //Arrange Footer footer = new Footer(); diff --git a/testing/elements/Header.Tests.cs b/testing/elements/Header.Tests.cs index 1509cc28..3501353e 100644 --- a/testing/elements/Header.Tests.cs +++ b/testing/elements/Header.Tests.cs @@ -45,25 +45,6 @@ public void Line_GetLine_LineReturned() Assert.AreEqual(line, Window.GetVisibleElement<Title>()?.Height ?? default); } - [TestMethod] - public void Line_GetLine_TitleMakesHeaderMove() - { - // Arrange - var header = new Header(); - var title = new Title("Example Title"); - - // Act - Window.AddElement(title); - Window.AddElement(header); - Window.Render(); - var line = header.Line; - - // Assert - Assert.AreEqual(line, title.Height); - - // Cleanup - Window.RemoveAllElements(); - } #endregion #region Height diff --git a/testing/elements/LoadingBar.Tests.cs b/testing/elements/LoadingBar.Tests.cs index 209322c2..eed66e93 100644 --- a/testing/elements/LoadingBar.Tests.cs +++ b/testing/elements/LoadingBar.Tests.cs @@ -121,7 +121,7 @@ public void AdditionalDuration_Getter() { //Arrange float valuee = 0.3f; - var loadingBar = new LoadingBar("test", ref valuee, Placement.TopCenter, 0, 1000); + var loadingBar = new LoadingBar("test", ref valuee, Placement.TopCenter, 1000); //Act var newAdditionalDuration = loadingBar.AdditionalDuration; //Assert @@ -137,20 +137,6 @@ public void Test_Constructor(string text, ref float progress, Placement placemen new LoadingBar(text, ref progress, placement, line); } - [TestMethod] - [ExpectedException(typeof(ArgumentOutOfRangeException))] - [DataRow(-1)] - [DataRow(300000)] - public void Test_ConstructorFalseLine(int line) - { - //Arrange - float valuee = 0.3f; - string text = "test"; - Placement placement = Placement.TopCenter; - //Act - new LoadingBar(text, ref valuee, placement, line); - } - [TestMethod] [DataRow("test")] [DataRow("hello world")] diff --git a/testing/elements/Title.Tests.cs b/testing/elements/Title.Tests.cs index 6de69465..e235a9ca 100644 --- a/testing/elements/Title.Tests.cs +++ b/testing/elements/Title.Tests.cs @@ -38,13 +38,13 @@ public void UpdateMargin_UpdatesMarginCorrectly() { // Arrange Title title1 = new("Hello World!", 2); - Title title2 = new("Bonjour Monde !", 2); + Title title2 = new("Bonjour Monde !", 0); // Act - title1.UpdateMargin(3); + title1.UpdateMargin(0); // Assert - Assert.AreNotEqual(title1.Height, title2.Height); + Assert.AreEqual(title1.Height, title2.Height); } #endregion } diff --git a/testing/elements/inspectors/ElementList.Tests.cs b/testing/elements/inspectors/ElementList.Tests.cs index 0f166d96..1bde4a75 100644 --- a/testing/elements/inspectors/ElementList.Tests.cs +++ b/testing/elements/inspectors/ElementList.Tests.cs @@ -34,7 +34,7 @@ public void Constructor_HappyPath() public void Constructor_WithLine() { // Arrange - var list = new ElementList(Placement.TopLeft, true, 0); + var list = new ElementList(Placement.TopLeft, true); // Act // No additional action needed @@ -69,7 +69,7 @@ public void GetHeaders_ReturnsHeaders() var list = new ElementList(Placement.TopLeft, true); // Act - var headers = list.GetHeaders; + var headers = ElementList.Headers; // Assert Assert.IsNotNull(headers); @@ -82,7 +82,7 @@ public void GetLines_ReturnsLines() var list = new ElementList(Placement.TopLeft, true); // Act - var lines = list.GetLines; + var lines = list.Lines; // Assert Assert.IsNotNull(lines); @@ -105,7 +105,7 @@ public void Placement_ReturnsPlacement() public void Line_ReturnsLine() { // Arrange - var list = new ElementList(Placement.TopLeft, true, 0); + var list = new ElementList(Placement.TopLeft, true); // Act var line = list.Line; diff --git a/testing/elements/inspectors/ElementsDashboard.Tests.cs b/testing/elements/inspectors/ElementsDashboard.Tests.cs index c4c7b937..94fa459d 100644 --- a/testing/elements/inspectors/ElementsDashboard.Tests.cs +++ b/testing/elements/inspectors/ElementsDashboard.Tests.cs @@ -36,7 +36,7 @@ public void Constructor_HappyPath() public void Constructor_WithLine() { // Arrange - var list = new ElementsDashboard(Placement.TopLeft, true, 0); + var list = new ElementsDashboard(Placement.TopLeft, true); // Act // No additional action needed @@ -71,7 +71,7 @@ public void GetHeaders_ReturnsHeaders() var list = new ElementsDashboard(Placement.TopLeft, true); // Act - var headers = list.GetHeaders; + var headers = ElementsDashboard.Headers; // Assert Assert.IsNotNull(headers); @@ -84,7 +84,7 @@ public void GetLines_ReturnsLines() var list = new ElementsDashboard(Placement.TopLeft, true); // Act - var lines = list.GetLines; + var lines = list.Lines; // Assert Assert.IsNotNull(lines); @@ -107,7 +107,7 @@ public void Placement_ReturnsPlacement() public void Line_ReturnsLine() { // Arrange - var list = new ElementsDashboard(Placement.TopLeft, true, 0); + var list = new ElementsDashboard(Placement.TopLeft, true); // Act var line = list.Line; diff --git a/testing/elements/inspectors/InteractiveList.Tests.cs b/testing/elements/inspectors/InteractiveList.Tests.cs index 8eaca4f2..f69b9ce9 100644 --- a/testing/elements/inspectors/InteractiveList.Tests.cs +++ b/testing/elements/inspectors/InteractiveList.Tests.cs @@ -34,7 +34,7 @@ public void Constructor_HappyPath() public void Constructor_WithLine() { // Arrange - var list = new InteractiveList(Placement.TopLeft, true, 0); + var list = new InteractiveList(Placement.TopLeft, true); // Act // No additional action needed @@ -69,7 +69,7 @@ public void GetHeaders_ReturnsHeaders() var list = new InteractiveList(Placement.TopLeft, true); // Act - var headers = list.GetHeaders; + var headers = InteractiveList.Headers; // Assert Assert.IsNotNull(headers); @@ -82,7 +82,7 @@ public void GetLines_ReturnsLines() var list = new InteractiveList(Placement.TopLeft, true); // Act - var lines = list.GetLines; + var lines = list.Lines; // Assert Assert.IsNotNull(lines); @@ -105,7 +105,7 @@ public void Placement_ReturnsPlacement() public void Line_ReturnsLine() { // Arrange - var list = new InteractiveList(Placement.TopLeft, true, 0); + var list = new InteractiveList(Placement.TopLeft, true); // Act var line = list.Line; diff --git a/testing/elements/interactive/EmbedText.Tests.cs b/testing/elements/interactive/EmbedText.Tests.cs index cf33302e..ef48be12 100644 --- a/testing/elements/interactive/EmbedText.Tests.cs +++ b/testing/elements/interactive/EmbedText.Tests.cs @@ -29,8 +29,7 @@ public void Placement_Getter(Placement placement) new List<string>() { "Test for the placement", "123was tested" }, "Button", TextAlignment.Left, - placement, - 0 + placement ); // Act @@ -51,8 +50,7 @@ public void Line_Getter() new List<string>() { "Test for the placement", "123was tested" }, "Button", TextAlignment.Left, - Placement.TopCenter, - 0 + Placement.TopCenter ); // Act @@ -74,8 +72,7 @@ public void Height_Getter() textToDisplay, "Button", TextAlignment.Left, - Placement.TopCenter, - 0 + Placement.TopCenter ); // Act @@ -98,8 +95,7 @@ public void Width_Getter() textToDisplay, "Button", TextAlignment.Left, - Placement.TopCenter, - 0 + Placement.TopCenter ); // Act @@ -122,8 +118,7 @@ public void Text_Getter() textToDisplay, "Button", TextAlignment.Left, - Placement.TopCenter, - 0 + Placement.TopCenter ); // Act @@ -147,8 +142,7 @@ public void ButtonText_Getter(string buttonText) textToDisplay, buttonText, TextAlignment.Left, - Placement.TopCenter, - 0 + Placement.TopCenter ); // Act @@ -171,7 +165,7 @@ public void TextToDisplay_WellCreatedWithDifferentAlignment(TextAlignment align) var textToDisplay = new List<string>() { "Test for the placement", "123was tested" }; // Act - var EmbedText = new EmbedText(textToDisplay, "Button", align, Placement.TopCenter, 0); + var EmbedText = new EmbedText(textToDisplay, "Button", align, Placement.TopCenter); // Assert Assert.IsNotNull(EmbedText.TextToDisplay); @@ -181,7 +175,7 @@ public void TextToDisplay_WellCreatedWithDifferentAlignment(TextAlignment align) #region Constructor [TestMethod] [TestCategory("EmbedText")] - public void Constructor_NoLineinputBuilds() + public void Constructor_NoLineInputBuilds() { // Arrange var textToDisplay = new List<string>() { "Test for the placement", "123was tested" }; @@ -200,7 +194,7 @@ public void Constructor_NoLineinputBuilds() [TestMethod] [TestCategory("EmbedText")] - public void Constructor_LineinputBuilds() + public void Constructor_LineInputBuilds() { // Arrange var textToDisplay = new List<string>() { "Test for the placement", "123was tested" }; @@ -210,8 +204,7 @@ public void Constructor_LineinputBuilds() textToDisplay, "Button", TextAlignment.Left, - Placement.TopCenter, - 0 + Placement.TopCenter ); // Assert @@ -230,8 +223,7 @@ public void Constructor_EmptyTextToDisplayBuilds() textToDisplay, "Button", TextAlignment.Left, - Placement.TopCenter, - 0 + Placement.TopCenter ); // Assert @@ -250,8 +242,7 @@ public void Constructor_EmptyButtonTextBuilds() textToDisplay, default, TextAlignment.Left, - Placement.TopCenter, - 0 + Placement.TopCenter ); // Assert @@ -270,8 +261,7 @@ public void AddLine_AddsLine() textToDisplay, "Button", TextAlignment.Left, - Placement.TopCenter, - 0 + Placement.TopCenter ); var marginValue = 2; @@ -294,8 +284,7 @@ public void InsertLine_InsertsLine() textToDisplay, "Button", TextAlignment.Left, - Placement.TopCenter, - 0 + Placement.TopCenter ); var marginValue = 2; @@ -330,8 +319,7 @@ public void RemoveLine_RemovesLine() textToDisplay, "Button", TextAlignment.Left, - Placement.TopCenter, - 0 + Placement.TopCenter ); // Act @@ -351,8 +339,7 @@ public void RemoveLine_RemovesLineWithNegativeIndex() textToDisplay, "Button", TextAlignment.Left, - Placement.TopCenter, - 0 + Placement.TopCenter ); // Act @@ -369,8 +356,7 @@ public void RemoveLine_RemovesLineWithIndexGreaterThanCount() textToDisplay, "Button", TextAlignment.Left, - Placement.TopCenter, - 0 + Placement.TopCenter ); // Act @@ -392,8 +378,7 @@ public void RemoveLine_RemovesLineWithString() textToDisplay, "Button", TextAlignment.Left, - Placement.TopCenter, - 0 + Placement.TopCenter ); // Act @@ -413,8 +398,7 @@ public void RemoveLine_RemovesLineWithStringNotFound() textToDisplay, "Button", TextAlignment.Left, - Placement.TopCenter, - 0 + Placement.TopCenter ); // Act diff --git a/testing/elements/interactive/FloatSelector.Tests.cs b/testing/elements/interactive/FloatSelector.Tests.cs index c6d29dca..4e3b91a6 100644 --- a/testing/elements/interactive/FloatSelector.Tests.cs +++ b/testing/elements/interactive/FloatSelector.Tests.cs @@ -25,7 +25,7 @@ public void Cleanup() public void Placement_Getter(Placement placement) { // Arrange - var floatSelector = new FloatSelector("Question", 0.0f, 10.0f, 5.0f, 1.0f, placement, 0); + var floatSelector = new FloatSelector("Question", 0.0f, 10.0f, 5.0f, 1.0f, placement); // Act var actualPlacement = floatSelector.Placement; @@ -43,7 +43,14 @@ public void Line_Getter() { // Arrange var line = 0; - var floatSelector = new FloatSelector("Question", 0.0f, 10.0f, 5.0f, 1.0f, Placement.TopCenter, line); + var floatSelector = new FloatSelector( + "Question", + 0.0f, + 10.0f, + 5.0f, + 1.0f, + Placement.TopCenter + ); // Act var actualLine = floatSelector.Line; @@ -58,7 +65,14 @@ public void Line_NoInput() { // Arrange var line = 0; - var floatSelector = new FloatSelector("Question", 0.0f, 10.0f, 5.0f, 1.0f, Placement.TopCenter); + var floatSelector = new FloatSelector( + "Question", + 0.0f, + 10.0f, + 5.0f, + 1.0f, + Placement.TopCenter + ); // Act var actualLine = floatSelector.Line; @@ -75,7 +89,14 @@ public void Line_NoInput() public void Height_Getter() { // Arrange - var floatSelector = new FloatSelector("Question", 0.0f, 10.0f, 5.0f, 1.0f, Placement.TopCenter, 0); + var floatSelector = new FloatSelector( + "Question", + 0.0f, + 10.0f, + 5.0f, + 1.0f, + Placement.TopCenter + ); // Act var actualHeight = floatSelector.Height; @@ -91,7 +112,14 @@ public void Height_Getter() public void Width_Getter() { // Arrange - var floatSelector = new FloatSelector("Question", 0.0f, 10.0f, 5.0f, 1.0f, Placement.TopCenter, 0); + var floatSelector = new FloatSelector( + "Question", + 0.0f, + 10.0f, + 5.0f, + 1.0f, + Placement.TopCenter + ); // Act var actualWidth = floatSelector.Width; @@ -117,7 +145,7 @@ public void Constructor() var line = 0; // Act - var floatSelector = new FloatSelector(question, min, max, start, step, placement, line); + var floatSelector = new FloatSelector(question, min, max, start, step, placement); // Assert Assert.AreEqual(question, floatSelector.Question); @@ -141,11 +169,10 @@ public void Constructor_CheckMin(float min, float max) var start = 5.0f; var step = 1.0f; var placement = Placement.TopCenter; - var line = 0; // Act & Assert Assert.ThrowsException<ArgumentException>( - () => new FloatSelector(question, min, max, start, step, placement, line) + () => new FloatSelector(question, min, max, start, step, placement) ); } @@ -159,11 +186,10 @@ public void Constructor_CheckStart(float start, float min, float max) var question = "Question"; var step = 1.0f; var placement = Placement.TopCenter; - var line = 0; // Act & Assert Assert.ThrowsException<ArgumentException>( - () => new FloatSelector(question, min, max, start, step, placement, line) + () => new FloatSelector(question, min, max, start, step, placement) ); } @@ -177,11 +203,10 @@ public void Constructor_CheckStep(float start, float min, float max, float step) // Arrange var question = "Question"; var placement = Placement.TopCenter; - var line = 0; // Act & Assert Assert.ThrowsException<ArgumentException>( - () => new FloatSelector(question, min, max, start, step, placement, line) + () => new FloatSelector(question, min, max, start, step, placement) ); } #endregion diff --git a/testing/elements/interactive/IntSelector.Tests.cs b/testing/elements/interactive/IntSelector.Tests.cs index dc90fe18..701a4941 100644 --- a/testing/elements/interactive/IntSelector.Tests.cs +++ b/testing/elements/interactive/IntSelector.Tests.cs @@ -25,7 +25,7 @@ public void Cleanup() public void Placement_Getter(Placement placement) { // Arrange - var intSelector = new IntSelector("Question", 0, 10, 5, 1, placement, 0); + var intSelector = new IntSelector("Question", 0, 10, 5, 1, placement); // Act var actualPlacement = intSelector.Placement; @@ -43,7 +43,7 @@ public void Line_Getter() { // Arrange var line = 0; - var intSelector = new IntSelector("Question", 0, 10, 5, 1, Placement.TopCenter, line); + var intSelector = new IntSelector("Question", 0, 10, 5, 1, Placement.TopCenter); // Act var actualLine = intSelector.Line; @@ -75,7 +75,7 @@ public void Line_NoInput() public void Height_Getter() { // Arrange - var intSelector = new IntSelector("Question", 0, 10, 5, 1, Placement.TopCenter, 0); + var intSelector = new IntSelector("Question", 0, 10, 5, 1, Placement.TopCenter); // Act var actualHeight = intSelector.Height; @@ -91,7 +91,7 @@ public void Height_Getter() public void Width_Getter() { // Arrange - var intSelector = new IntSelector("Question", 0, 10, 5, 1, Placement.TopCenter, 0); + var intSelector = new IntSelector("Question", 0, 10, 5, 1, Placement.TopCenter); // Act var actualWidth = intSelector.Width; @@ -117,7 +117,7 @@ public void Constructor() var line = 0; // Act - var intSelector = new IntSelector(question, min, max, start, step, placement, line); + var intSelector = new IntSelector(question, min, max, start, step, placement); // Assert Assert.AreEqual(question, intSelector.Question); @@ -141,11 +141,10 @@ public void Constructor_CheckMin(int min, int max) var start = 5; var step = 1; var placement = Placement.TopCenter; - var line = 0; // Act & Assert Assert.ThrowsException<ArgumentException>( - () => new IntSelector(question, min, max, start, step, placement, line) + () => new IntSelector(question, min, max, start, step, placement) ); } @@ -159,11 +158,10 @@ public void Constructor_CheckStart(int start, int min, int max) var question = "Question"; var step = 1; var placement = Placement.TopCenter; - var line = 0; // Act & Assert Assert.ThrowsException<ArgumentException>( - () => new IntSelector(question, min, max, start, step, placement, line) + () => new IntSelector(question, min, max, start, step, placement) ); } @@ -177,11 +175,10 @@ public void Constructor_CheckStep(int start, int min, int max, int step) // Arrange var question = "Question"; var placement = Placement.TopCenter; - var line = 0; // Act & Assert Assert.ThrowsException<ArgumentException>( - () => new IntSelector(question, min, max, start, step, placement, line) + () => new IntSelector(question, min, max, start, step, placement) ); } #endregion diff --git a/testing/elements/interactive/ScrollingMenu.Tests.cs b/testing/elements/interactive/ScrollingMenu.Tests.cs index 6adf0818..4f83ce3f 100644 --- a/testing/elements/interactive/ScrollingMenu.Tests.cs +++ b/testing/elements/interactive/ScrollingMenu.Tests.cs @@ -22,7 +22,14 @@ public void Cleanup() public void Placement_Getter() { // Arrange - var scrollingMenu = new ScrollingMenu("Question",0, Placement.TopCenter, 0, "Choice1", "Choice2", "Choice3"); + var scrollingMenu = new ScrollingMenu( + "Question", + 0, + Placement.TopCenter, + "Choice1", + "Choice2", + "Choice3" + ); // Act var placement = scrollingMenu.Placement; @@ -38,7 +45,14 @@ public void Placement_Getter() public void Line_Getter() { // Arrange - var scrollingMenu = new ScrollingMenu("Question", 0, Placement.TopCenter, 0, "Choice1", "Choice2", "Choice3"); + var scrollingMenu = new ScrollingMenu( + "Question", + 0, + Placement.TopCenter, + "Choice1", + "Choice2", + "Choice3" + ); // Act var line = scrollingMenu.Line; @@ -52,7 +66,14 @@ public void Line_Getter() public void Line_Getter_NoInput() { // Arrange - var scrollingMenu = new ScrollingMenu("Question", 0, Placement.TopCenter, default, "Choice1", "Choice2", "Choice3"); + var scrollingMenu = new ScrollingMenu( + "Question", + 0, + Placement.TopCenter, + "Choice1", + "Choice2", + "Choice3" + ); // Act var line = scrollingMenu.Line; @@ -68,7 +89,14 @@ public void Line_Getter_NoInput() public void Height_Getter() { // Arrange - var scrollingMenu = new ScrollingMenu("Question", 0, Placement.TopCenter, 0, "Choice1", "Choice2", "Choice3"); + var scrollingMenu = new ScrollingMenu( + "Question", + 0, + Placement.TopCenter, + "Choice1", + "Choice2", + "Choice3" + ); // Act var height = scrollingMenu.Height; @@ -84,7 +112,14 @@ public void Height_Getter() public void Width_Getter() { // Arrange - var scrollingMenu = new ScrollingMenu("Question", 0, Placement.TopCenter, 0, "Choice1", "Choice2", "Choice3"); + var scrollingMenu = new ScrollingMenu( + "Question", + 0, + Placement.TopCenter, + "Choice1", + "Choice2", + "Choice3" + ); // Act var width = scrollingMenu.Width; @@ -100,7 +135,14 @@ public void Width_Getter() public void Question_Getter() { // Arrange - var scrollingMenu = new ScrollingMenu("Question", 0, Placement.TopCenter, 0, "Choice1", "Choice2", "Choice3"); + var scrollingMenu = new ScrollingMenu( + "Question", + 0, + Placement.TopCenter, + "Choice1", + "Choice2", + "Choice3" + ); // Act var question = scrollingMenu.Question; @@ -116,7 +158,14 @@ public void Question_Getter() public void Choices_Getter() { // Arrange - var scrollingMenu = new ScrollingMenu("Question", 0, Placement.TopCenter, 0, "Choice1", "Choice2", "Choice3"); + var scrollingMenu = new ScrollingMenu( + "Question", + 0, + Placement.TopCenter, + "Choice1", + "Choice2", + "Choice3" + ); // Act var choices = scrollingMenu.Choices; @@ -135,7 +184,14 @@ public void Choices_Getter() public void DefaultIndex_Getter() { // Arrange - var scrollingMenu = new ScrollingMenu("Question", 1, Placement.TopCenter, 0, "Choice1", "Choice2", "Choice3"); + var scrollingMenu = new ScrollingMenu( + "Question", + 1, + Placement.TopCenter, + "Choice1", + "Choice2", + "Choice3" + ); // Act var defaultIndex = scrollingMenu.DefaultIndex; diff --git a/testing/elements/interactive/TableSelector.Tests.cs b/testing/elements/interactive/TableSelector.Tests.cs index c05a21dd..d7dd50a7 100644 --- a/testing/elements/interactive/TableSelector.Tests.cs +++ b/testing/elements/interactive/TableSelector.Tests.cs @@ -54,8 +54,7 @@ public void Line_Getter() default, default, default, - default, - 0 + default ); // Act @@ -129,8 +128,7 @@ public void Height_Getter_NullArray() default, default, default, - default, - 0 + default ); // Act @@ -182,8 +180,7 @@ public void Width_Getter_NullArray() default, default, default, - default, - 0 + default ); // Act @@ -235,8 +232,7 @@ public void Title_Getter_NullArray() default, default, default, - default, - 0 + default ); // Act @@ -358,8 +354,7 @@ public void RoundedCorners_Getter_NullArray() default, default, default, - default, - 0 + default ); // Act @@ -454,8 +449,7 @@ public void FooterText_Getter_NullArray() default, default, default, - default, - 0 + default ); // Act @@ -501,8 +495,7 @@ public void GetRawHeaders_Getter_NullArray() default, default, default, - default, - 0 + default ); // Act @@ -572,8 +565,7 @@ public void Count_Getter_NullArray() default, default, default, - default, - 0 + default ); // Act diff --git a/testing/models/Error.Tests.cs b/testing/models/Error.Tests.cs index 5fc3e5b6..6a265da2 100644 --- a/testing/models/Error.Tests.cs +++ b/testing/models/Error.Tests.cs @@ -47,35 +47,6 @@ public void ElementNotFoundException_ConstructorWithMessageAndInnerException_Mes Assert.AreEqual(innerException, exception.InnerException); } - [TestMethod] - public void ElementNotFoundException_GetObjectData_MessageIsSerialized() - { - // Arrange - var exception = new ElementNotFoundException("Test message"); - var info = new SerializationInfo( - typeof(ElementNotFoundException), - new FormatterConverter() - ); - var context = new StreamingContext(); - - // Act - exception.GetObjectData(info, context); - - // Assert - Assert.AreEqual("Test message", info.GetString("Message")); - } - - [TestMethod] - [ExpectedException(typeof(ArgumentNullException))] - public void ElementNotFoundException_GetObjectDataWithNullInfo_ThrowsArgumentNullException() - { - // Arrange - var exception = new ElementNotFoundException("Test message"); - var context = new StreamingContext(); - - // Act - exception.GetObjectData(null, context); - } [TestMethod] public void ElementNotFoundException_GetDebuggerDisplay_ReturnsToString() @@ -95,42 +66,6 @@ public void ElementNotFoundException_GetDebuggerDisplay_ReturnsToString() Assert.AreEqual(exception.ToString(), result); } - [TestMethod] - public void ElementNotFoundException_SerializationConstructor_MessageAndInnerExceptionMatch() - { - // Arrange - var info = new SerializationInfo( - typeof(ElementNotFoundException), - new FormatterConverter() - ); - var context = new StreamingContext(); - var message = "Test message"; - info.AddValue("Message", message, typeof(string)); - info.AddValue("InnerException", new Exception("Inner exception"), typeof(Exception)); - info.AddValue("HelpURL", "", typeof(string)); - info.AddValue("Source", "", typeof(string)); - info.AddValue("StackTraceString", "", typeof(string)); - info.AddValue("RemoteStackTraceString", "", typeof(string)); - info.AddValue("RemoteStackIndex", 0, typeof(int)); - info.AddValue("ExceptionMethod", "", typeof(string)); - info.AddValue("HResult", 0, typeof(int)); - info.AddValue("WatsonBuckets", null, typeof(byte[])); - - // Act - var exception = (ElementNotFoundException) - FormatterServices.GetUninitializedObject(typeof(ElementNotFoundException)); - var constructor = typeof(ElementNotFoundException).GetConstructor( - BindingFlags.NonPublic | BindingFlags.Instance, - null, - new[] { typeof(SerializationInfo), typeof(StreamingContext) }, - null - ); - constructor?.Invoke(exception, new object[] { info, context }); - - // Assert - Assert.AreEqual(message, exception.Message); - Assert.IsNotNull(exception.InnerException); - } #endregion @@ -174,32 +109,6 @@ public void EmptyFileException_ConstructorWithMessageAndInnerException_MessageAn Assert.AreEqual(innerException, exception.InnerException); } - [TestMethod] - public void EmptyFileException_GetObjectData_MessageIsSerialized() - { - // Arrange - var exception = new EmptyFileException("Test message"); - var info = new SerializationInfo(typeof(EmptyFileException), new FormatterConverter()); - var context = new StreamingContext(); - - // Act - exception.GetObjectData(info, context); - - // Assert - Assert.AreEqual("Test message", info.GetString("Message")); - } - - [TestMethod] - [ExpectedException(typeof(ArgumentNullException))] - public void EmptyFileException_GetObjectDataWithNullInfo_ThrowsArgumentNullException() - { - // Arrange - var exception = new EmptyFileException("Test message"); - var context = new StreamingContext(); - - // Act - exception.GetObjectData(null, context); - } [TestMethod] public void EmptyFileException_GetDebuggerDisplay_ReturnsToString() @@ -219,39 +128,6 @@ public void EmptyFileException_GetDebuggerDisplay_ReturnsToString() Assert.AreEqual(exception.ToString(), result); } - [TestMethod] - public void EmptyFileException_SerializationConstructor_MessageAndInnerExceptionMatch() - { - // Arrange - var info = new SerializationInfo(typeof(EmptyFileException), new FormatterConverter()); - var context = new StreamingContext(); - var message = "Test message"; - info.AddValue("Message", message, typeof(string)); - info.AddValue("InnerException", new Exception("Inner exception"), typeof(Exception)); - info.AddValue("HelpURL", "", typeof(string)); - info.AddValue("Source", "", typeof(string)); - info.AddValue("StackTraceString", "", typeof(string)); - info.AddValue("RemoteStackTraceString", "", typeof(string)); - info.AddValue("RemoteStackIndex", 0, typeof(int)); - info.AddValue("ExceptionMethod", "", typeof(string)); - info.AddValue("HResult", 0, typeof(int)); - info.AddValue("WatsonBuckets", null, typeof(byte[])); - - // Act - var exception = (EmptyFileException) - FormatterServices.GetUninitializedObject(typeof(EmptyFileException)); - var constructor = typeof(EmptyFileException).GetConstructor( - BindingFlags.NonPublic | BindingFlags.Instance, - null, - new[] { typeof(SerializationInfo), typeof(StreamingContext) }, - null - ); - constructor?.Invoke(exception, new object[] { info, context }); - - // Assert - Assert.AreEqual(message, exception.Message); - Assert.IsNotNull(exception.InnerException); - } #endregion @@ -295,35 +171,6 @@ public void NotSupportedCharException_ConstructorWithMessageAndInnerException_Me Assert.AreEqual(innerException, exception.InnerException); } - [TestMethod] - public void NotSupportedCharException_GetObjectData_MessageIsSerialized() - { - // Arrange - var exception = new NotSupportedCharException("Test message"); - var info = new SerializationInfo( - typeof(NotSupportedCharException), - new FormatterConverter() - ); - var context = new StreamingContext(); - - // Act - exception.GetObjectData(info, context); - - // Assert - Assert.AreEqual("Test message", info.GetString("Message")); - } - - [TestMethod] - [ExpectedException(typeof(ArgumentNullException))] - public void NotSupportedCharException_GetObjectDataWithNullInfo_ThrowsArgumentNullException() - { - // Arrange - var exception = new NotSupportedCharException("Test message"); - var context = new StreamingContext(); - - // Act - exception.GetObjectData(null, context); - } [TestMethod] public void NotSupportedCharException_GetDebuggerDisplay_ReturnsToString() @@ -343,42 +190,6 @@ public void NotSupportedCharException_GetDebuggerDisplay_ReturnsToString() Assert.AreEqual(exception.ToString(), result); } - [TestMethod] - public void NotSupportedCharException_SerializationConstructor_MessageAndInnerExceptionMatch() - { - // Arrange - var info = new SerializationInfo( - typeof(NotSupportedCharException), - new FormatterConverter() - ); - var context = new StreamingContext(); - var message = "Test message"; - info.AddValue("Message", message, typeof(string)); - info.AddValue("InnerException", new Exception("Inner exception"), typeof(Exception)); - info.AddValue("HelpURL", "", typeof(string)); - info.AddValue("Source", "", typeof(string)); - info.AddValue("StackTraceString", "", typeof(string)); - info.AddValue("RemoteStackTraceString", "", typeof(string)); - info.AddValue("RemoteStackIndex", 0, typeof(int)); - info.AddValue("ExceptionMethod", "", typeof(string)); - info.AddValue("HResult", 0, typeof(int)); - info.AddValue("WatsonBuckets", null, typeof(byte[])); - - // Act - var exception = (NotSupportedCharException) - FormatterServices.GetUninitializedObject(typeof(NotSupportedCharException)); - var constructor = typeof(NotSupportedCharException).GetConstructor( - BindingFlags.NonPublic | BindingFlags.Instance, - null, - new[] { typeof(SerializationInfo), typeof(StreamingContext) }, - null - ); - constructor?.Invoke(exception, new object[] { info, context }); - - // Assert - Assert.AreEqual(message, exception.Message); - Assert.IsNotNull(exception.InnerException); - } #endregion } diff --git a/testing/models/InteractiveElement.Tests.cs b/testing/models/InteractiveElement.Tests.cs index ec530fc2..fa69c953 100644 --- a/testing/models/InteractiveElement.Tests.cs +++ b/testing/models/InteractiveElement.Tests.cs @@ -26,42 +26,6 @@ public void MaxNumberOfThisElementProperty_ReturnsOne() // Act & Assert Assert.AreEqual(1, element.MaxNumberOfThisElement); } - - [TestMethod] - public void GetInteractionResponse_ReturnsInfoResponse() - { - // Arrange - var element = new TestInteractiveElement(); - Window.AddElement(element); - - // Act - Window.ActivateElement<TestInteractiveElement>(); - var response = element.GetInteractionResponse; - - // Assert - Assert.AreEqual("Test info", response?.Value); - - // Cleanup - Window.RemoveAllElements(); - } - - [TestMethod] - public void GetInteractionResponse_ReturnsSelectState() - { - // Arrange - var element = new TestInteractiveElement(); - Window.AddElement(element); - - // Act - Window.ActivateElement<TestInteractiveElement>(); - var response = element.GetInteractionResponse; - - // Assert - Assert.AreEqual(Output.Selected, response?.Status); - - // Cleanup - Window.RemoveAllElements(); - } } public class TestInteractiveElement : InteractiveElement<string> diff --git a/testing/TextStyler.Tests.cs b/testing/models/TextStyler.Tests.cs similarity index 100% rename from testing/TextStyler.Tests.cs rename to testing/models/TextStyler.Tests.cs diff --git a/testing/testing.csproj b/testing/testing.csproj index 180ed4c5..af4214b9 100644 --- a/testing/testing.csproj +++ b/testing/testing.csproj @@ -10,8 +10,8 @@ <ItemGroup> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" /> - <PackageReference Include="MSTest.TestAdapter" Version="3.2.1" /> - <PackageReference Include="MSTest.TestFramework" Version="3.2.1" /> + <PackageReference Include="MSTest.TestAdapter" Version="3.2.2" /> + <PackageReference Include="MSTest.TestFramework" Version="3.2.2" /> <PackageReference Include="coverlet.collector" Version="6.0.0" /> </ItemGroup>